Is Claude slow,
or is it your npm test?
time-blame is a mod for Claude Code. After every turn, one quiet line says where the time went.
Free and open source. Needs Claude Code 2.1.302 or later. Nothing leaves your machine, and Claude never reads the line.
One line after every turn.
It appears under any turn of 3 seconds or more, dim, so it never competes with the answer.
⏺ time-blame: 26s · Claude 8.0s (7.2s before output) · sleep 4.7s · you 12s · other 0.3s
Copied as text from a live session on Claude Code 2.1.302, 17 October 2026. The tool in this test run was sleep 4; in yours it names whatever ran, such as npm test or pytest.
A receipt for the whole session.
Type /blame any time. It adds up every turn so far, names the commands that cost you most, and keeps the time you spent deciding separate.
⏺ time-blame: this session, this machine · 1 turn · 26s of turn time
⏺ time-blame: Claude 8.0s 31% before output 7.2s, writing 0.8s
⏺ time-blame: tools 4.7s 19% sleep 4.7s
⏺ time-blame: you 12s 49% approvals 12s
⏺ time-blame: other 0.3s 1% not attributed: hooks, local work, gaps
⏺ time-blame: longest turn 26s. Times are summed waits measured in this session, not server speed.
Every second lands in one bucket.
The parts always add up to the turn. When two things overlap, the one higher in this list owns the time.
- you
- A permission dialog, from the moment it opens until the tool starts. A question Claude asked you. A plan waiting for your approval.
- tools
- The tool's own run time, named by tool, and by command for Bash:
npm test,pytest,cargo build. Tools that run at once count as parallel. - Claude
- Before output: from sending a request to its first word, thought or tool call, retries included. Writing: from there to the end.
- other
- Hooks, local work, the gaps between steps. Always shown, never hidden.
Two commands to install.
Use Claude Code 2.1.302 or later. Mods are on by default.
claude plugin marketplace add karanb192/time-blame
claude plugin install time-blame@time-blame
Restart Claude Code or run /reload-plugins. The line appears under any turn of 3 seconds or more. Type /blame for the session.
What it does not claim.
- It measures this session on this machine. It says nothing about Anthropic's servers.
- Its total runs longer than Claude Code's own "Worked for", which leaves out the time a dialog waits for you.
- Retries have no bucket of their own. A retry that succeeds leaves no record a mod can read, so it counts as "before output".
- Where an organization manages Claude Code, the events that time approvals skip personally installed mods, so dialog wait counts as tool time there.
- Bash commands are named only from a fixed list of common programs. A script name or path shows as "Bash".
- It reads timestamps, never the text of your prompts or Claude's answers. The README lists its hooks and threat model.