The syntax is generally task {SUBCOMMAND}
.
You can run task -h
to get all subcommands or task {SUBCOMMAND} -h
to get help for a specific subcommand.
task status
: Show the currently running task: start time, duration, nametask start NAME
: Start a new task with the nameNAME
, abort with error if one is runningtask rename NAME
: Rename last task toNAME
task next NAME
: Start a new task with the nameNAME
, end any running taskstask extend
: Set the last stopped task to runningtask resume
: Start a new instance of a past tasktask assign
: Interactively select a Harvest project + task to assign to the latest task. Requiresfzf
task stop
: End the current tasktask abort
: Discard the current tasktask log
: Mark all tasks logged up to including the last task that was ended and show all tasks who's status changedtask unlog
: Undo the last call totask log
task show {all, today, unlogged}
: Only show tasks that are from this day/unloggedtask print
: Pretty print the current week into${ARCHIVE_DIR}/KW_${XX}.md
+ stdout, whereXX
is the current calendar week.task push
: Upload unlogged files to Harvesttask pull
: Sync remote data (clients, projects, tasks) to local dbtask split
: Split a portion off the last task and re-assign ittask edit
: Interactively edit any field of a tasktask add
: Interactively edit a task retroactivelytask delete
: Interactively delete a tasktask preset {add, delete, start, show}
: Manage task presets for common tasks
On each task
invocation that changes the current task:
- Print the current task + time running to a file for the OS statusbar
Using -d
will dump the entire database for debugging purposes.