Context compression for AI agents
Most of your agent's context is noise it has already seen.
furl folds repeated tool output into a hash-addressed marker, keeps the line that matters, and returns any original byte-exact the moment the agent asks for it. No summary. No guessing. Nothing thrown away.
fewer tokens across six real captures
22,630 tokens in, 1,922 out. The per-capture range is 87.2% to 95.8%, and nothing was cherry-picked.
The demo
Six captures a coding agent would actually paste in. Fold each one.
Every line, number, marker, and retrieved byte below is real output from furl 1.2.0, generated by site/data/generate.py. Pick a capture, press compress, then pull an original back out of the marker.
| Capture | Tokens before | Tokens after | Percent saved | Transform |
|---|---|---|---|---|
| Application logs | 6,213 | 263 | 95.8% | router:search |
| Crash report | 2,445 | 302 | 87.6% | router:ccr_offload |
| JSON API response | 3,791 | 218 | 94.2% | router:smart_crusher |
| Test output | 2,745 | 283 | 89.7% | router:ccr_offload |
| CI build log | 2,400 | 307 | 87.2% | router:ccr_offload |
| Query result | 5,036 | 549 | 89.1% | router:search |
How it works
Three moves, in order.
-
1
Score, do not summarize
furl ranks lines by relevance and keeps the errors, the anomalies, and the ones that do not repeat. A summary would invent text. furl only ever removes.
-
2
Fold the duplicates
Repeated lines and near-identical rows collapse into a compact marker that records how many were removed and under which hash. The marker is small, readable, and honest about what it stands for.
-
3
Retrieve on demand
Every dropped original stays in a local hash-addressed store. The agent pulls back exactly what it needs by pattern, by row, or by line, and it comes back byte-exact.
The honest read
What is real today, and what is not yet.
The furl API and the MCP tools give real, verified compression on large tool outputs, and every original returns byte-exact through retrieve. That is the path this page demonstrates.
Hands-off automatic compression waits on an upstream Claude Code fix, issue 68951. Until it lands, the manual and MCP paths are how you use furl, and they lose nothing.
These captures are repetitive machine output, the case furl is built for. On high-entropy prose the honest range is lower, roughly zero to 54 percent. furl folds only what repeats.