JFrog releases Boost CLI, claims 13.5% coding-agent cost reduction
JFrog released the free Boost CLI, which compresses shell output before it reaches coding agents including Claude Code and Codex. Its Terminal-Bench 2.0 report claims a 13.5% cost reduction across 89 tasks.

TL;DR
- JFrog's free Boost CLI compresses shell output and MCP responses before they enter a coding agent's context, according to hasantoxr's hook description.
- The launch names Claude Code, Cursor, Codex, and GitHub Copilot as supported surfaces in hasantoxr's supported-agent list, while JFrog's current overview also lists Gemini CLI and OpenCode.
- JFrog reports Terminal-Bench 2.0 cost per task fell from $0.319 to $0.276, a -13.5% change, in hasantoxr's Terminal-Bench post.
- The “same success rate” wording needs a narrower reading: hasantoxr's Terminal-Bench post describes 89 tasks, while JFrog's Performance Lab report puts its matching 30.9% pass rate in a separate 81-task check.
The official homepage's test-runner demo keeps the failing assertion while dropping the routine passes. Its Performance Lab documentation says explicit verbose flags preserve detail, hooks fail open, and a local retrieval command can restore the original output.
Agent setup
Boost installs with a shell command, then boost init connects an agent. JFrog describes the tool as free with no signup in its quickstart.
curl -fsSL https://boost.jfrog.com/install.sh | bashboost init- Supported by the current docs: Cursor, Claude Code, Codex CLI, Gemini CLI, OpenCode, and GitHub Copilot.
Suffix hooks
Boost hooks append themselves to the command path as (cmd) | boost, per JFrog's technical documentation. The agent's command and any existing pipes run first, then Boost filters the final stdout on its return to context.
- Permissions: Native prompts still see the executable and pipeline the agent requested.
- Failure handling: Unknown commands, filter misses, and hook errors fall back to raw output.
- MCP: PostToolUse hooks can re-encode JSON responses as TOON before they reach context.
Filters, Graph, and TOON
Boost has three compression surfaces.
- CLI Filters: JFrog says noisy tools such as
docker build,npm install, test runners, and linters typically shrink 60% to 90% after routine log lines are removed, while failures and summaries remain. - Boost Graph: The homepage example takes a grep-plus-read loop from 2,400 tokens to 1,000, a -58.3% reduction, by returning a definition and path rather than a file wall.
- MCP Filter: A TOON example re-encodes roughly 65 JSON tokens as 29 TOON tokens, a -55% reduction.
Terminal-Bench 2.0
JFrog's benchmark chart reports cost per task across the 89-task Terminal-Bench 2.0 suite.
- Baseline → RTK: $0.319 → $0.339, +6.3%.
- Baseline → Boost: $0.319 → $0.276, -13.5%.
- RTK → Boost: $0.339 → $0.276, -18.6%.
- Full-suite duration: baseline → Boost, -28.9%, according to JFrog's Performance Lab report.
The pass-rate result comes from a separate 81-task check: 30.9% → 30.9%, 0.0 points, in the same report. That scope is more specific than the 89-task, same-success-rate wording in hasantoxr's benchmark post.
Reports and retrieval
boost report lists the lines compressed and the reason for each, and filtering can be disabled for an individual command.
JFrog's token-savings documentation says the report tracks raw versus filtered size, estimates tokens saved per command, and aggregates session savings. boost retrieve <id> restores the locally stored original output; JFrog says filtering happens locally and native permission prompts stay unchanged.
Limitations
Compression can hide detail the agent later needs. hasantoxr's control post describes a per-command off switch, while JFrog's Performance Lab documentation says repeated retrievals can automatically disable a bad filter.
The early integration record also contains two resolved bugs. An OpenCode issue found that boost init --opencode installed a skill file where OpenCode did not discover it, leaving Boost-native commands unavailable to the agent; a maintainer closed it with a v0.9.15 fix. A separate GitHub Actions bug tied intermittent Go go vet failures to Boost forcing GOPROXY=direct; it was also closed with a v0.9.15 update.