Developer tracks frustration with 'F-Bombs Per Thousand Prompts' metric across 44,212 Claude Code logs

A developer publishing under /u/ChartBuilder created a metric called fpk — f-bombs per thousand prompts — to quantify frustration while using Claude Code. The data spans 5 months, 44,212 prompts, and 6,120 sessions.
Headline numbers per model
- claude-opus-4-5: 38.11 fpk
- claude-opus-4-7: 11.11 fpk
- claude-haiku-4-5: 0.00 fpk (used as subagent, never orchestrator)
That's a 3.4× drop in frustration between the two Opus versions, closely tracking Anthropic's official quality recovery from the Feb-Mar regression — but visible in a way release notes don't capture.
Fpk by Claude Code CLI version
- 2.1.30-69 era: 40 fpk
- 2.1.100+ era: 12 fpk
- Worst single version: 2.1.42 at 173.79 fpk
- Best: 2.1.110 at 0.00 fpk over 300+ prompts
Key insight: most frustration is environmental, not model-related
The author notes: "most cursing wasn't at the model. It was at environmental friction like gh auth failures, docker issues, screenshots breaking. The model is mostly the unwitting witness to my frustration with the surrounding tooling, not the cause."
But sometimes the model is the cause too — the full writeup includes a "greatest hits" collection of memorable outbursts.
Reproducible tooling
The developer has published tools to compute fpk on your own Claude Code logs:
- Full writeup with methodology: mpiv.ai/blog/fpk-f-bombs-per-thousand-the-dev-experience-metric-you-didnt-know-you-needed
- Open-source repo with audit tooling: github.com/MPIsaac-Per/claude-code-ops-audit
If you use Claude Code heavily and want a quantitative signal of how much friction you're actually experiencing, this metric is worth adopting. The drop between models and across CLI versions is a concrete indicator of Anthropic's recovery — and the environmental sources of rage are something every team can address.
📖 Read the full source: r/ClaudeAI
👀 See Also

OpenClaw extension routes requests through Claude Code CLI instead of API
An OpenClaw extension spawns the Claude CLI binary as a subprocess, routing requests through Claude Code CLI instead of the Anthropic API. This provides the full Claude Code experience at the flat rate of a max plan.

Routing Claude API traffic to control costs after Max subscription change
Anthropic's Max subscription no longer covers third-party tool usage, forcing OpenClaw users to API billing. A routing proxy directs simple tasks to Claude Sonnet ($3/M input, $15/M output) and complex ones to Opus ($5/M input, $25/M output), cutting costs without quality loss.
Needle: A 26M Parameter Function-Calling Model That Runs at 6000 tok/s on Mobile
Cactus open-sources Needle, a 26M parameter model for single-shot function calling, achieving 6000 tok/s prefill and 1200 tok/s decode on consumer devices. Built with Simple Attention Networks (no FFNs), it beats several larger models on tool-use benchmarks.

Open-source Claude Code reimplementation patched for local model compatibility
A developer patched the open-source Claude Code reimplementation to work with Ollama and local models by removing hardcoded Anthropic client dependencies. The CLI now auto-detects providers from model names and environment variables.