toggl-cliControl your Toggl Track workspace via CLI to manage time entries, projects, clients, tasks, tags, workspaces, and user profiles with flexible commands.
Install via ClawdBot CLI:
clawdbot install FroeMic/toggl-cliInteract with your Toggl Track workspace via the toggl-cli.
Clone and install the CLI:
git clone https://github.com/FroeMic/toggl-cli
cd toggl-cli
npm install
npm run build
npm link
Set TOGGL_API_TOKEN environment variable (get it from Toggl Profile Settings):
~/.claude/.env for Claude Code~/.bashrc or ~/.zshrc: export TOGGL_API_TOKEN="your-api-token"Optionally set default workspace:
export TOGGL_WORKSPACE_ID="your-workspace-id"
Repository: https://github.com/FroeMic/toggl-cli
te)toggl te start --description "Working on feature" # Start a timer
toggl te stop # Stop the running timer
toggl te current # Get current running entry
toggl te list # List recent entries
toggl te list --start-date 2024-01-01 # List from date to now
toggl te list --start-date 2024-01-01 --end-date 2024-01-31 # Date range
toggl te get <id> # Get entry by ID
toggl te create --start "2024-01-15T09:00:00Z" --duration 3600 --description "Meeting"
toggl te update <id> --description "Updated" # Update entry
toggl te delete <id> # Delete entry
proj)toggl proj list # List all projects
toggl proj list --active true # List active projects only
toggl proj get <id> # Get project details
toggl proj create --name "New Project" --color "#FF5733"
toggl proj update <id> --name "Renamed"
toggl proj delete <id>
toggl client list # List clients
toggl client list --status archived # List archived clients
toggl client create --name "Acme Corp" --notes "Important client"
toggl client archive <id> # Archive a client
toggl client restore <id> # Restore archived client
toggl client delete <id>
toggl tag list # List tags
toggl tag create --name "urgent"
toggl tag update <id> --name "high-priority"
toggl tag delete <id>
toggl task list --project <project_id>
toggl task create --name "Implement feature" --project <project_id>
toggl task update <id> --project <project_id> --name "Updated task"
toggl task delete <id> --project <project_id>
ws)toggl ws list # List workspaces
toggl ws get <id> # Get workspace details
toggl ws users list --workspace <id> # List workspace users
org)toggl org get <id> # Get organization details
toggl org users list --organization <id> # List org users
toggl group list --organization <id>
toggl group create --organization <id> --name "Development Team"
toggl group update <id> --organization <org_id> --name "Engineering Team"
toggl group delete <id> --organization <org_id>
toggl me get # Get your profile
toggl me get --with-related-data # Include workspaces, etc.
toggl me preferences # Get user preferences
toggl me quota # Get API rate limit info
All list/get commands support --format option:
toggl te list --format json # JSON output (default)
toggl te list --format table # Human-readable table
toggl te list --format csv # CSV for spreadsheets
| Concept | Purpose | Example |
|---------|---------|---------|
| Time Entries | Track time spent on tasks | "2 hours on Project X" |
| Projects | Group related time entries | "Website Redesign" |
| Clients | Group projects by customer | "Acme Corp" |
| Workspaces | Separate environments | "Personal", "Work" |
| Tags | Categorize entries | "billable", "meeting" |
| Tasks | Sub-items within projects | "Design mockups" |
https://api.track.toggl.com/api/v9Get current user:
curl -u $TOGGL_API_TOKEN:api_token https://api.track.toggl.com/api/v9/me
List time entries:
curl -u $TOGGL_API_TOKEN:api_token \
"https://api.track.toggl.com/api/v9/me/time_entries?start_date=2024-01-01&end_date=2024-01-31"
Start a timer:
curl -X POST -u $TOGGL_API_TOKEN:api_token \
-H "Content-Type: application/json" \
-d '{"workspace_id": 123, "start": "2024-01-15T09:00:00Z", "duration": -1, "created_with": "curl"}' \
https://api.track.toggl.com/api/v9/workspaces/123/time_entries
Stop a timer:
curl -X PATCH -u $TOGGL_API_TOKEN:api_token \
https://api.track.toggl.com/api/v9/workspaces/{workspace_id}/time_entries/{entry_id}/stop
--start-date alone, --end-date defaults to now.--end-date without --start-date will error (API requires both).Generated Mar 1, 2026
A freelance web developer uses the CLI to track billable hours across multiple client projects. They start timers for tasks like coding and client meetings, categorize entries with tags like 'billable' or 'admin', and generate CSV reports for invoicing at month-end.
A small software startup's manager employs the CLI to monitor team time allocation on development projects. They list time entries to analyze work distribution, set up projects for features like 'API Integration', and use workspace commands to oversee team members' contributions remotely.
A consulting firm uses the CLI to log hours for client engagements, organizing time entries under projects tied to specific clients. They create clients like 'Healthcare Corp', track tasks such as 'Strategy Sessions', and export data in JSON format for integration with billing software.
A university researcher utilizes the CLI to track time spent on different research phases, such as literature review or data analysis. They tag entries with categories like 'experiment' or 'writing', and use date ranges to compile reports for grant compliance and productivity assessments.
A marketing agency leverages the CLI to analyze project costs by tracking employee time on campaigns. They manage projects for clients like 'Retail Brand', use tags to differentiate creative vs. analytical work, and list entries to optimize resource allocation and improve profitability.
Offer the CLI as part of a premium subscription service with enhanced features like advanced analytics, team collaboration tools, and priority support. Revenue is generated through monthly or annual fees from businesses seeking efficient time tracking solutions.
Provide a free version of the CLI for individual users with basic time entry and project management. Monetize by offering enterprise upgrades such as multi-workspace support, API integrations, and custom reporting for larger organizations.
Generate revenue by offering consulting services to help businesses integrate the CLI with their existing systems, such as CRM or accounting software. Provide training, custom scripting, and ongoing support for optimized workflow automation.
💬 Integration Tip
Integrate the CLI with productivity tools like Slack for notifications or Google Sheets for automated reporting using webhooks and API calls to streamline time tracking workflows.
Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Command-line tool to manage Google Workspace services including Gmail, Calendar, Drive, Sheets, Docs, Slides, Contacts, Tasks, People, Groups, and Keep.
Runs shell commands inside a dedicated tmux session named claw, captures, and returns the output, with safety checks for destructive commands.
A modern text-based browser. Renders web pages in the terminal using headless Firefox.
Write robust, portable shell scripts. Use when parsing arguments, handling errors properly, writing POSIX-compatible scripts, managing temp files, running commands in parallel, managing background processes, or adding --help to scripts.
NotebookLM CLI wrapper via `node {baseDir}/scripts/notebooklm.mjs`. Use for auth, notebooks, chat, sources, notes, sharing, research, and artifact generation/download.