Time trackers for Claude Code: WakaTime, Toggl, ccusage and hourslip
Last updated
The short answer. They count different things. WakaTime has a Claude Code plugin that sends your activity to a WakaTime dashboard, next to its plugins for your editors. Toggl and Harvest have MCP servers: Claude Code starts and stops their timers, or logs time, when you ask it to, and their own apps time the rest of your day. ccusage reports tokens and estimated cost from Claude Code's local logs, not hours. hourslip keeps hours per client (from the folder) and per ticket (from the git branch) from your prompts and Claude's turns, inside Claude Code only. If you need time outside Claude Code, WakaTime, Toggl and Harvest do that and hourslip does not; if you need tokens and cost, ccusage does.
The tools side by side
What each tool's own docs or repository say, read on 2026-10-08. Nothing was installed or signed up for, so every cell is documented, not measured.
| Tool | How it reaches Claude Code | What it counts | Time outside Claude Code | Source |
|---|---|---|---|---|
| Claude Code itself | Built in, nothing to install: /usage and the status line | One session's wall time and API time, and its cost, which hourslip does not show; no client or ticket | No | Claude Code docs (checked 2026-10-08) |
| WakaTime | A Claude Code plugin (command hooks) | Time spent prompting AI and lines of code generated, per project, on your WakaTime dashboard | Yes, and better than hourslip: plugins for many editors, and a desktop app | plugin repository, plugins (checked 2026-10-08) |
| Toggl | An MCP server, @togglhq/mcp, for Toggl 2.0 | Time entries, which Claude Code can list, start, stop, create and update when you ask | Yes, and better than hourslip: desktop, mobile and browser extension apps | package README, Toggl docs (checked 2026-10-08) |
| Harvest | A remote MCP server | Timers and logged hours; reports by project, client or person (others' time as your Harvest role allows); draft invoices | Yes, and better than hourslip: Harvest itself and its integrations, such as a browser extension for GitHub | Harvest MCP article (checked 2026-10-08) |
| ccusage | A command-line tool that reads Claude Code's local logs | Tokens and estimated cost by day, week, month, session and project, better than hourslip, which counts neither; no hours worked | Token usage of other agent CLIs, such as Codex; not time | repository, docs (checked 2026-10-08) |
| hourslip | A Claude Code mod (a plugin of function hooks) | Hours per client (from the folder) and per ticket (from the git branch), from prompts and Claude's turns | Only time you add by hand | repository README (checked 2026-10-08) |
Which tools were checked
A tool is on this page only if its own docs or repository show that it works with Claude Code. Checked on 2026-10-08:
- Kept: WakaTime (its Claude Code plugin), Toggl (its MCP server's README names Claude Code), Harvest (its MCP article has a “For Claude Code:” section) and ccusage (its docs have a Claude Code data source page).
- Left out: Clockify. Its MCP help page (checked 2026-10-08) gives a
claude mcp addcommand for “Claude CLI”, but the page is labelled at its top as not yet released.
Toggl and Harvest connect through MCP, which the Claude Code MCP docs (checked 2026-10-08) describe as “an open source standard for AI-tool integrations”, and: “MCP servers give Claude Code access to your tools, databases, and APIs.”
Claude Code itself
/usage (or its alias /cost) and the status line show how long the current session has run and how long it waited for the model; the first guide quotes both. The costs page (checked 2026-10-08) adds: “These totals reset when /clear starts a new session”. Nothing per day, client or ticket.
Where it does better: nothing to install, and the session's cost in dollars, which hourslip does not show; the example on that page starts Total cost: $0.55.
WakaTime
Its plugin's README (checked 2026-10-08): “Track your AI usage, lines of code generated, time spent prompting AI, etc. using the WakaTime plugin for Claude Code.” It installs as a Claude Code plugin, then reads your API key from ~/.wakatime.cfg:
claude plugin marketplace add https://github.com/wakatime/claude-code-wakatime.git
claude plugin i claude-code-wakatime@wakatime
Its hooks file (checked 2026-10-08) runs it on the Claude Code hook events UserPromptSubmit, PreToolUse, PostToolUse, SubagentStop, PreCompact and SessionEnd, and its source passes the session's folder to wakatime-cli as --project-folder. The WakaTime page for Claude Code (checked 2026-10-08) starts with “Create a free account, then connect Claude Code using the instructions below.” and says: “WakaTime plugins collect file path and project names from your IDE.”
Where it does better: the same dashboard counts your editors too. Its plugins page (checked 2026-10-08) lists Claude Code among “Open source plugins for automatic programming metrics.” for many editors, and offers a desktop app “that lives in your system tray” for the rest. On its pricing page (checked 2026-10-08) the free plan has “1 week of dashboard history”, and Premium lists “Invoices generated from code stats”.
Toggl
Toggl publishes an MCP server for Toggl 2.0. Its README (checked 2026-10-08): “Works with any MCP client including Claude Code and Claude Desktop.” Added to Claude Code with:
claude mcp add toggl-focus -- npx @togglhq/mcp
Toggl's docs (checked 2026-10-08): “The MCP server lets an AI assistant read and update your Toggl 2.0 data — tasks, projects, time entries, time blocks, reports, and more — through natural conversation.” Time entries can be listed, started, stopped, created and updated. On first use “your AI assistant prompts you to sign in with your Toggl account”, and on the free plan “Report data requests are limited to 30 per month”.
So the hours are the time entries in Toggl; through the MCP server, Claude Code starts or stops a timer, or logs time, when you ask it to. Where it does better: you can time anything else with Toggl's own apps. Its apps page (checked 2026-10-08): “Information and guides for using Toggl on desktop, mobile, and browser extensions.”
Harvest
The Harvest MCP article (checked 2026-10-08) has a section “For Claude Code:” with this command:
claude mcp add --transport http harvest --scope user https://api.harvestapp.com/mcp
It needs “An active Harvest account.” Once connected, “you can start and stop timers, log hours, review your time, and check on project budgets just by asking”. Reports can be “grouped by project, by client, or by person”, with this condition: “Whether you can view another teammate's time depends on your role.” The assistant can also make a draft invoice “from uninvoiced billable time and expenses on the projects you choose”, and the article adds: “reviewing and sending an invoice always happens in Harvest itself.”
Where it does better: invoices, and reports by person where your role lets you see others' time, live in the same tool as the hours, and time outside Claude Code is tracked in Harvest itself; its integrations page (checked 2026-10-08) lists, for GitHub: “Track time from issues and pull requests with a Harvest browser extension.” As with Toggl, through the MCP server Claude Code starts and stops timers when you ask.
ccusage
Its README (checked 2026-10-08): “Analyze coding (agent) CLI token usage and costs from local data.” It runs without a global install, npx ccusage@latest, and its Claude Code page (checked 2026-10-08) says “ccusage reads Claude Code project logs from the standard Claude data directories”, with a warning: “Claude Code can retain logs for only 30 days by default.”
Its reports group tokens and estimated cost by day, week, month and session, and by project with --instances. Its blocks report (checked 2026-10-08) shows 5-hour windows: a block is “Triggered by your first message” and “Lasts exactly 5 hours from start time”. That is a window of Claude usage, not hours worked.
Where it does better: tokens and cost, per model and per project. hourslip records no tokens and no cost.
hourslip
hourslip is a Claude Code mod (a plugin of function hooks) that records when you send prompts and when Claude's turns start and end, with the folder and the git branch; never prompt text or file contents, and so no tokens and no cost. The folder gives the client, from paths you set, and the branch gives the ticket. A gap of more than 45 minutes ends a stretch of work and each stretch gets a 10-minute pad; how it counts has the details, and the ticket guide how the ticket is read.
Where it does better: no timer to start or stop and no account; hours go to a client and a ticket as you work, without your asking. The data stays on your machine until you publish a report. Free: the status line, the week pane, CSV export per day and per ticket, and a report you can print to PDF. Pro ($72 a year, or $8 billed monthly; 2 reports free, no card) adds a report link with an invoice on it (billing guide), on which whoever holds the link can type a name to confirm the hours: “hourslip does not verify who confirms: anyone with the link can.”
What hourslip does not do
- It sees only Claude Code with the mod loaded. Time away from it is there only if you add it by hand with
/hourslip add. WakaTime covers your editors and browsers (its plugins page lists VS Code, Chrome and Firefox among others); Toggl and Harvest cover any time you start a timer for. - It counts no tokens and no cost; ccusage does.
- It does not send anything to your client: you send the report link yourself. Harvest keeps invoices and their sending in the same tool as the hours.
- It checks no one: the name typed on a report is whatever whoever holds the link typed.
- hourslip has been checked only on Windows; macOS and Linux have not been checked.