Track time, manage projects and tasks using timesheet.io CLI
Control timesheet.io time tracking from the command line. Use --json flag for all commands to get structured output.
Check auth status before using other commands:
timesheet auth status --json
If not authenticated, guide the user to run:
timesheet auth login
Or for automation, set an API key:
export TIMESHEET_API_KEY=ts_your.apikey
# List projects first to get project ID
timesheet projects list --json
# Start timer for a project
timesheet timer start <project-id>
timesheet timer status --json
Returns: status (running/paused/stopped), project name, duration, start time.
timesheet timer pause
timesheet timer resume
timesheet timer stop # Creates a task from the timer
timesheet timer update --description "Working on feature X"
timesheet timer update --billable
timesheet projects list --json
timesheet projects create "Project Name" --json
timesheet projects create "Client Project" --billable --json
timesheet projects show <id> --json
timesheet projects update <id> --title "New Name"
timesheet projects delete <id>
timesheet tasks list --json # Recent tasks
timesheet tasks list --today --json # Today's tasks
timesheet tasks list --this-week --json
timesheet tasks create -p <project-id> -s "2024-01-15 09:00" -e "2024-01-15 17:00" --json
timesheet tasks create -p <project-id> -s "09:00" -e "17:00" -d "Task description" --json
timesheet tasks update <id> --description "Updated description"
timesheet tasks update <id> --billable
timesheet tasks update <id> --start "10:00" --end "12:00"
timesheet tasks delete <id>
timesheet teams list --json
timesheet tags list --json
timesheet tags create "Urgent" --color 1
timesheet tags delete <id>
timesheet reports summary --today --json
timesheet reports summary --this-week --json
timesheet reports summary --this-month --json
timesheet reports summary --from 2024-01-01 --to 2024-01-31 --json
timesheet reports export -f xlsx -s 2024-01-01 -e 2024-01-31
timesheet reports export -f csv --this-month
timesheet profile show --json
timesheet profile settings --json
timesheet config show
timesheet config set defaultProjectId <id>
timesheet timer status --jsontimesheet timer start <project-id>timesheet timer stop# Create a completed task directly
timesheet tasks create -p <project-id> -s "09:00" -e "12:00" -d "Morning standup and dev work" --json
timesheet projects list --json | jq '.[] | select(.title | contains("ProjectName"))'
Exit codes:
timesheet auth login--json for parsing output programmatically--quiet or -q to suppress non-essential outputdefaultProjectId in config to skip project selection for timer