Unmute Bench

Unmute Benchv0.1

The first benchmark that measures the human, not the model.

Maintained by Unmute · October 2026 · Open source (MIT)

Unmute Bench in 42 seconds.

Why a benchmark for humans

Models are benchmarked to death. SWE-bench, Terminal-Bench, ARC: every launch comes with a chart. Nobody measures the other half of the system: the person handing the work over.

Models got far better this year. Most people did not get far better at using them. They still type one prompt into one terminal, wait, and read. The bottleneck has moved from the model to the human, and to the interface between them.

Unmute Bench measures that interface. It asks one question: how much work do you actually hand to your agents? It is computed from logs that Claude Code and Codex already keep on your computer, so nothing has to be self-reported and nothing leaves your machine.

Leaderboard

Setups are ways of working with agents, not models. Median per active day.

#SetupSPDMPDAHDJPHPeople
1Claude Code + Codex, via Unmute101449.431
2Claude Code + Codex, desktop apps3464.911
—Claude Code, terminal————open
—Codex, terminal————open
—Grok————open

v0.1 is preliminary: both rows come from one person's history. Open rows fill in as results are submitted. Add yours.

Metrics

An active day is a day with at least one message to an agent. Daily metrics count active days only, so days off never count against anyone.

CodeMetricWhat it captures
SPDAgent sessions per active dayHow much work you start
MPDMessages to agents per active dayHow often you reach your agents
AHDHours agents ran per active dayHow long your agents are working for you
JPHAgents steered per active hourHow many agents you juggle at once
PARAgents running at onceParallelism
ADActive days per windowConsistency
TTWTask types per week (of 6)Breadth: code, research, comms, content, personal, other

Method

1 · Local logs only

Claude Code transcripts, Codex rollouts, and Unmute's session index if present. Only your own messages are read: timestamp and opening text. Never agent replies or files.

2 · Cleaning

Machine-written messages are dropped. Re-runs of the same prompt count once. Bursts (four sessions started within a minute) are dropped. Non-interactive codex exec runs are excluded.

3 · Robust statistics

Median, trimmed mean and p90 per active day. No means, no peaks: one burst can move those on its own.

4 · Significance

One-sided rank-sum permutation test (Mann–Whitney) on daily sessions and messages, 20,000 seeded relabellings, so the same logs always give the same p.

Full definitions and every threshold: METHODOLOGY.md.

Reference result

Unmute Bench v0.1 chart. Same person, same models. Claude Code alone versus Claude Code with Unmute: agent sessions per active day 3 versus 10 (3.3 times), messages to agents per active day 46 versus 144 (3.1 times), hours agents ran per active day 4.9 versus 9.4 (1.9 times). Median per active day, July 11 to August 9 versus September 26 to October 25, 2026. n equals 1, p less than 0.001.
Reference result. One person, same models, 30 days before vs. 30 days after switching. Median per active day.
MetricBeforeWith UnmuteChange
SPD · agent sessions3103.3×
MPD · messages to agents461443.1×
AHD · hours agents ran4.99.41.9×
JPH · agents steered per hour133.0×
PAR · agents at once12—
AD · active days of 302129—
TTW · task types per week3.45.4—

Jul 11 – Aug 9 vs. Sep 26 – Oct 25, 2026. Same person, same models. p < 0.001 for SPD and MPD. 3,062 sessions read; 87 bursts, 1,762 repeats and 160 automated sessions removed.

Limitations

Run it on your logs

One command. Runs locally, reads only your own messages, uploads nothing.

curl -fsSL https://justunmute.me/unmute-bench.mjs | node --input-type=module -

It's one self-contained file with no dependencies. Read it before you run it, or read the source on GitHub. To compare before and after a change (a new tool, a new workflow), download it once:

curl -fsSL https://justunmute.me/unmute-bench.mjs -o unmute-bench.mjs
node unmute-bench.mjs --split 2026-08-10
node unmute-bench.mjs --card my-bench.png   # shareable card
node unmute-bench.mjs --json                # for submissions

Node 18+. Reads ~/.claude/projects and ~/.codex. Unmute users also get this inside the app, under Unmute Bench: their own daily numbers and trends, recalculated every few hours.

Want a higher score?

Unmute Bench is made by Unmute, a Mac app for talking to Claude Code and Codex.

Tap a key and say the task. Unmute starts a Claude Code or Codex session on it, keeps several running at once, and the notch tells you which one needs you. It runs on the Claude and ChatGPT plans you already pay for, and dictation is free on your Mac.

Submit a result

Run node unmute-bench.mjs --json and open a submission with the output. Only the numbers are needed, never your logs. Tell us your main setup (terminal, desktop app, Cursor, Unmute, other) so your result lands in the right row.

FAQ

Isn't this just measuring usage?

Yes, deliberately. Model benchmarks measure what the model can do. This measures how much of that capability a person actually puts to work. Quality of the output is out of scope for v0.1.

Doesn't the company that makes Unmute win its own benchmark?

On the reference result, yes, which is exactly why the method and the code are public. Run it yourself, on any setup, and submit the numbers.

Does it send my data anywhere?

No. It runs on your machine, reads timestamps and the opening text of your own messages, and prints numbers. Read the code: it is a few hundred lines.

Why per active day?

So weekends and days off don't drag anyone down. The bench measures how you work on the days you work.

What changes in future versions?

More people in the leaderboard, per-setup splits within one person's history, model-labelled task types, and an output-quality signal. Every change bumps the version.

Cite

@misc{unmutebench2026,
  title  = {Unmute Bench: A Benchmark of Human-to-Agent Work},
  author = {Patel, Arpit},
  year   = {2026},
  note   = {Version 0.1},
  url    = {https://justunmute.me/bench}
}

Changelog