Besparingen
PRECC houdt geschatte tokenbesparingen bij van elke onderschepping. Gebruik precc savings om te zien hoeveel verspilling PRECC heeft voorkomen.
Snel overzicht
$ precc savings
Session Token Savings
=====================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Breakdown:
Pillar 1 (cd prepends): <span data-stat="session_p1_tokens">3,204</span> tokens (<span data-stat="session_p1_count">6</span> corrections)
Pillar 4 (skill activations): <span data-stat="session_p4_tokens">1,560</span> tokens (<span data-stat="session_p4_count">4</span> activations)
RTK rewrites: <span data-stat="session_rtk_tokens">2,749</span> tokens (<span data-stat="session_rtk_count">11</span> rewrites)
Lean-ctx wraps: <span data-stat="session_lean_tokens">1,228</span> tokens (<span data-stat="session_lean_count">2</span> wraps)
Gedetailleerd overzicht (Pro)
$ precc savings --all
Session Token Savings (Detailed)
================================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Command-by-command:
# Time Command Saving Source
1 09:12 cargo build 534 tk cd prepend (cargo-wrong-dir)
2 09:14 cargo test 534 tk cd prepend (cargo-wrong-dir)
3 09:15 git status 412 tk cd prepend (git-wrong-dir)
4 09:18 npm install 824 tk cd prepend (npm-wrong-dir)
5 09:22 find . -name "*.rs" 387 tk RTK rewrite (output truncation)
6 09:25 cat src/main.rs 249 tk RTK rewrite (lean-ctx wrap)
7 09:31 cargo clippy 534 tk cd prepend (cargo-wrong-dir)
...
Pillar Breakdown:
Pillar 1 (context resolution): <span data-stat="session_p1_tokens">3,204</span> tokens <span data-stat="session_p1_pct">36.6</span>%
Pillar 2 (GDB debugging): 0 tokens 0.0%
Pillar 3 (mined preventions): 0 tokens 0.0%
Pillar 4 (automation skills): <span data-stat="session_p4_tokens">1,560</span> tokens <span data-stat="session_p4_pct">17.8</span>%
RTK rewrites: <span data-stat="session_rtk_tokens">2,749</span> tokens <span data-stat="session_rtk_pct">31.5</span>%
Lean-ctx wraps: <span data-stat="session_lean_tokens">1,228</span> tokens <span data-stat="session_lean_pct">14.1</span>%
Hoe besparingen worden geschat
Elk correctietype heeft een geschatte tokenkost op basis van wat er zonder PRECC zou zijn gebeurd:
| Correctietype | Geschatte besparing | Redenering |
|---|---|---|
| cd prepend | ~500 tokens | Foutuitvoer + Claude-redenering + herpoging |
| Vaardigheidactivatie | ~400 tokens | Foutuitvoer + Claude-redenering + herpoging |
| RTK rewrite | ~250 tokens | Uitgebreide uitvoer die Claude zou moeten lezen |
| Lean-ctx wrap | ~600 tokens | Grote bestandsinhoud gecomprimeerd |
| Gemijnde preventie | ~500 tokens | Bekend faalpatroon vermeden |
Dit zijn conservatieve schattingen. Werkelijke besparingen zijn vaak hoger omdat Claude’s redenering over fouten uitgebreid kan zijn.
Cumulatieve besparingen
Besparingen blijven bewaard over sessies in de PRECC-database. Na verloop van tijd kunt u de totale impact volgen:
$ precc savings
Session Token Savings
=====================
Total estimated savings: <span data-stat="session_tokens_saved">8,741</span> tokens
Lifetime savings: <span data-stat="total_tokens_saved">142,389</span> tokens across <span data-stat="total_sessions">47</span> sessions
Statusbalk
Na installatie voegt PRECC een statusLine-item toe aan ~/.claude/settings.json zodat de statusbalk van Claude Code live-sessiemetingen toont:
$0.42 spent | 1.2M in/out | 📊 last cmd: −1.2K | PRECC: 7 fixes | 5.8ms avg | this session: 320 saved over 7 cmds (~$0.05) | lifetime: 8.9K saved over 217 cmds (~$2.85)
Stel PRECC_LANG in om de labels in jouw taal weer te geven — zie het hoofdstuk Lokalisatie.
Elk segment:
| Segment | Bron | Betekenis | Wordt gereset bij sessie-herstart? |
|---|---|---|---|
$0.42 spent | cost.total_cost_usd | Cumulatieve sessiekosten gerapporteerd door Claude Code | Ja |
1.2M in/out | total_input_tokens + total_output_tokens | Niet-gecachete invoer- + uitvoertokens over de sessie | Ja |
📊 last cmd: −1.2K | PRECC-meting van het meest recente Bash-commando | Werkelijke gemeten besparing door het origineel opnieuw uit te voeren | Nee (blijft behouden tussen sessies) |
PRECC: 7 fixes | metrics.log | Aantal correcties deze sessie — alleen aantal, geen valse tokenschatting | Ja |
5.8ms avg | PRECC-hooklatentie p50 | Tijd die PRECC besteedt aan elke tool-aanroep | Ja |
bash 18% of total | post_observations.log | Aandeel sessietokens afkomstig van Bash-uitvoer — verduidelijkt waarom PRECC’s besparingen natuurlijk slechts een fractie van de totale kosten zijn (PRECC optimaliseert alleen Bash-uitvoer) | Ja |
this session: 320 saved over 7 cmds (~$0.05) | .lifetime_summary.json − baseline | Werkelijke delta per sessie. Verborgen als de delta nul is (sessiestart) | Ja (basislijn wordt opnieuw vastgelegd) |
lifetime: 8.9K saved over 217 cmds (~$2.85) | .lifetime_summary.json | Cumulatief bespaarde tokens en hermeten commando’s sinds PRECC voor het eerst werd geïnstalleerd, plus een geschatte USD-waarde tegen het huidige tarief per token | Nee |
Het lifetime:-segment staat als laatste, zodat het als eerste wordt afgekapt als de UI van Claude Code de balk aan de rechterrand afsnijdt.
Waarom kosten en tokenaantal niet delen
De weergegeven 1.2M in/out is niet de noemer die $0.42 spent heeft opgeleverd. Claude Codes cost.total_cost_usd wordt berekend uit de volledige token-uitsplitsing van de API — basis-invoer, uitvoer, plus cache-leesbewerkingen en cache-creaties. De sessie-brede cumulatieve cache-tokenaantallen zijn niet beschikbaar in het statusline-schema, dus PRECC kan alleen het zichtbare (niet-cache) deel tonen.
In lange sessies met veel bestand-herlezingen kunnen cache-leesbewerkingen 10× het zichtbare tokenaantal zijn. Daarom zou ze koppelen als verhouding misleidend zijn — PRECC toont ze in plaats daarvan als onafhankelijke segmenten.
Waarom PRECC de kosten niet berekent
Het kostenbedrag is gezaghebbend. PRECC leest cost.total_cost_usd letterlijk uit de JSON die Claude Code via stdin in het statuscommando pipet. Dat is hetzelfde bedrag dat Claude Code afschrijft van je abonnement/gebruiksbudget. Je kunt het op elk moment verifiëren met het ingebouwde /cost-slash-commando — beide zouden moeten overeenkomen.
Wat de kosten bepaalt
Voor Claude Opus 4.6:
| Token type | Standard (≤200k context) | 1M context tier |
|---|---|---|
| Input | $15 / MTok | $30 / MTok |
| Output | $75 / MTok | $150 / MTok |
| Cache write | $18.75 / MTok | $37.50 / MTok |
| Cache read | $1.50 / MTok | $3 / MTok |
De grootste drijfveren bij lange sessies zijn meestal uitvoertokens (het duurste type per token, vooral op de 1M-contextlaag), herhaalde cache-leesbewerkingen (individueel goedkoop maar snel oplopend over vele beurten), en cache-creaties (eenmaal per bestandslezing geschreven aan ~1.25× het basisinvoertarief). PRECC vermindert de zichtbare tokenkosten door Bash-uitvoer te comprimeren (het segment 📊 last cmd: toont de besparing per commando), maar kan cache-leesbewerkingen van bestanden die Claude al heeft geladen niet verminderen.
Stabiele sessietellingen
Het segment “PRECC: N fixes” telt gebeurtenissen sinds het persistente begin van de sessie, geschreven naar ~/.local/share/precc/sessions/<session_id>.start bij de eerste statusline-vernieuwing van elke sessie. Dit maakt de telling monotoon — deze kan niet halverwege de sessie dalen, zelfs niet als cost.total_duration_ms ontbreekt bij een bepaalde vernieuwing.
Automatisch vernieuwde levensduur-snapshot
Het lifetime:-segment leest ~/.local/share/precc/.lifetime_summary.json, dat bij elke PostToolUse-meting en bij elke precc savings-aanroep wordt herschreven. Het this session:-segment leest hetzelfde lifetime-bestand maar trekt er een per-sessie basislijn af die bij de eerste vernieuwing van elke sessie wordt gepersisteerd. Geen handmatige vernieuwing nodig — de bestanden updaten zichzelf.
De statusbalk onderdrukken
Als je liever je bestaande statusbalk behoudt, stel dan je eigen statusLine-commando in in ~/.claude/settings.json. PRECC’s installatieprogramma detecteert de aangepaste waarde en laat deze met rust bij volgende updates.
Om alleen de 📊 PRECC-regel per interactie (in additionalContext) te onderdrukken, stel PRECC_QUIET=1 in je shell-omgeving in.
Related research
PRECC’s three savings mechanisms each have a counterpart in the recent literature. These are related work — the ideas PRECC’s design draws on. Their reported figures are their measurements, not PRECC’s: PRECC only ever quotes numbers measured on your own machine (see “measured, not estimated”, above).
- Output/trajectory trimming (PRECC’s
diet+ bash-output compression) — Reducing Cost of LLM Agents with Trajectory Reduction (AgentDiet), FSE 2026, arXiv:2509.23586. Removes redundant/expired trajectory content post-hoc; reports −39.9–59.7% input tokens. PRECC applies the same idea pre-execution and deterministically (no extra LLM call). - Skills as programs (PRECC’s mined + builtin rewrite skills) — Harnessing LLM Agents with Skill Programs, arXiv:2605.17734. Frames reusable agent skills as executable program functions — the same analogy behind PRECC’s command-rewrite skills (a pattern → a deterministic rewrite).
- Context compression (PRECC’s
compress+lean-ctxwrapping) — Compress the Context, Keep the Commitments: A Formal Framework for Verifiable LLM Context Compression, arXiv:2605.17304. Recent work on compressing context without losing required information — the property PRECC’s deterministic, cache-stable rewrites aim to preserve.