Pimp My IDE / Garage Dispatch
← Back to the garage
September 11, 2026 · agents / terminal output / cost

Token savings are not cost savings. Put the muffler on a dyno.

RTK can compress the exhaust pouring out of shell commands. A new benchmark is a sharp reminder that the meter beside the tailpipe is not your invoice: agents react, retry, cache, wander, and occasionally turn a tiny adapter bug into 339 errors.

The take: output compression is a promising engine mod, not a discount coupon. Measure completed tasks, total spend, turns, pass rate, and failure shape. If the plugin only shows “tokens saved,” it is showing the pressure drop at one pipe—not the cost of the lap.
Run the Token Exhaust Dyno ↓

The tailpipe number is real—and incomplete.

RTK is a Rust proxy that rewrites common development commands and compresses their output before a coding agent reads it. Its repository headline says it can reduce token consumption by 60–90% on common commands; its own disclaimer narrows that promise: cutting bash output is not the same thing as cutting a bill by the same percentage.[1]

That distinction matters because terminal output is only one stream inside an agent run. The model also consumes instructions, conversation history, tool schemas, file reads, search results, previous outputs, and its own continuing work. A compressor can remove bytes from one stream while changing what the agent does next.

A muffler can make the exhaust smaller. It cannot certify the fuel economy of the whole car.

The new benchmark found a round trip.

Quesma tested RTK on Terminal-Bench 2.1 with two harness/model combinations. It reports 1,740 attempts after exclusions: each task ran five times with RTK and five times without it on the same route, platform, and task-specific timeout.[2]

Its aggregate bill fell 5% for one tested combination and rose 5% for the other, while pass-rate differences were small. On its equal-weight-per-task comparison, it reports no clear cost difference from zero for the first combination and a 17% average task-cost increase for the second. Those are results for this benchmark and these configurations—not a universal verdict on RTK or output compression.

The most useful failure is wonderfully ugly: one unsupported find flag created a rewrite/error/retry loop. Quesma recorded 339 consecutive errors before timeout and says that passing attempt cost about nine times its matching passing baseline. RTK fixed the behavior after the runs.[2] That is not “compression bad.” It is “the adapter is now part of the control loop.”

Count what the agent never would have seen.

Quesma says RTK’s gain estimate is based on raw versus filtered command output in bytes divided by four, rather than provider-billed tokens. It documents a case where limited head -1 reads were compared with whole-file output; two calls produced 69% of that comparison’s reported savings counter even though the requested command would not have emitted the whole file.[2]

A counter can be internally consistent and still answer the wrong question. Instrument the baseline command actually requested, the filtered response actually returned, every later turn, the final outcome, and the invoice. If the optimization changes behavior, the unit of analysis is the run.

Compression is not your only lever.

Anthropic’s prompt-caching documentation describes a different optimization: reuse an identical prompt prefix so repeated context can be processed with lower latency and cost. The documented cache includes full prefixes across tools, system content, and messages, with a default five-minute lifetime and an optional longer duration.[3] Caching preserves the prefix; output compression changes what reaches the model. They solve different pressure problems and can be evaluated separately.

OpenAI’s Agents documentation makes the runtime surface explicit: managed and application-run options differ in state ownership, tool execution, sandboxing, and orchestration.[4] That is the larger lesson. “Tokens” do not float in a jar. They move through a harness with state, tools, adapters, retries, and a bill.

Install the mod like an engineer.

  1. Baseline completed work. Record cost per passed task, not a savings counter from one command.
  2. Stratify the route. Separate output-heavy test runs from architecture, editing, search, and small commands.
  3. Watch behavior. Track turns, repeated commands, fallback use, loop length, and pass rate.
  4. Keep an eject path. When the adapter rejects a flag or changes semantics, retry the original command once—then stop the loop.
  5. Price alternatives independently. Cache stable prefixes, trim tool surfaces, request narrower output, and compare each change against the same workload.
Interactive makeover / cost instrumentation

Token Exhaust Dyno.

Traditional purpose replaced: a “tokens saved” badge beside one plugin. Better version: put shell share, actual output reduction, repeat-context reuse, and behavior overhead on one bench. The gauge is a disclosed teaching proxy, not provider billing telemetry.

Tune the whole run

Set observed values from your own paired runs. The proxy starts at 100 units and shows why a dramatic tailpipe reduction can become a modest—or negative—whole-run change.

Share of baseline input associated with terminal output.
26%
Reduction measured against the output the command would really emit.
60%
Illustrative share of remaining input reused through caching.
10%
Extra whole-run pressure from added turns, retries, or recovery work.
12%

Whole-run readout

Compression helps this declared route, but the whole-run reduction is smaller than the tailpipe claim.

88input-pressure proxy / baseline 100
15.6shell units removed
8.4reuse units removed
−12%proxy change
Open the four-source dyno sheet
[1] RTK repository — implementation, supported command proxy, 60–90% headline claim, disclaimer, code, and release history. [2] Quesma — September 11 benchmark: methodology, aggregate and per-task cost comparisons, pass rates, gain-counter critique, and retry-loop case. [3] Anthropic documentation — prompt-prefix caching behavior, automatic and explicit breakpoints, TTLs, and intended use. [4] OpenAI documentation — agent runtime options, state ownership, tool execution, environments, orchestration, and compaction. [5] Hacker News item 49656471 — discovery thread and practitioner discussion; reaction, not evaluation.

Source boundary: the article preserves vendor, benchmark-author, platform-documentation, and community roles. The dyno formula is editorial teaching material: start at 100; subtract shell-share × output-filtering; subtract reusable-prefix share from the remainder; add declared behavior overhead. It does not model provider prices, cache-write premiums, output tokens, quality, or task success.