Context compression for AI agents

Less repeated output.
More room to work.

Furl produces a compact view of large tool outputs and keeps stored originals retrievable through CCR. Ask for the details when you need them, while the entry is retained. The compact view is not the full original.

91.5%

fewer tokens across six synthetic examples

22,630 tokens in, 1,922 out. The per-capture range is 87.2% to 95.8%. These six are generated, repetitive examples, furl-ctx's best case; on high-entropy prose the honest range is roughly 0 to 54 percent.

See it fold

The demo

Six prerecorded captures. Fold each one.

This is a browser replay of real Furl output on synthetic inputs. Results were captured with Furl 1.2.0, generated by site/data/generate.py on 2026-07-13. It does not run a live compression server or upload your files. Pick a capture to inspect its saved result.

Six synthetic examples, summarized. The interactive demo needs JavaScript to fold and retrieve each one.
Capture Tokens before Tokens after Percent saved Transform
Application logs6,21326395.8%router:search
Crash report2,44530287.6%router:ccr_offload
JSON API response3,79121894.2%router:smart_crusher
Test output2,74528389.7%router:ccr_offload
CI build log2,40030787.2%router:ccr_offload
Query result5,03654989.1%router:search

How it works

Three moves, in order.

  1. 1

    Keep a useful view

    Furl selects a transformation for the content. Depending on the input, it can retain relevant lines, compact rows, or offload a large payload with a structured overview. Check the original before relying on omitted details.

  2. 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. 3

    Retrieve on demand

    Stored text can be recovered byte-exact; structured JSON can be re-serialized while preserving its values rather than its original spacing. Retention, eviction, redaction settings and storage availability affect what can be retrieved.

The honest read

What is real today, and what is not yet.

Today

The Python API, CLI and MCP tools compress content and retrieve stored details. This page replays historical captures from version 1.2.0; the current package is version 1.4.0. These results are not a promise for every input.

Automatic

Automatic hooks are client-specific. ChatGPT uses explicit MCP tool calls; it does not run Claude Code hooks or automatically intercept other plugins. See the connection guide and the repository limits.

Bounds

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. Some inputs are left unchanged; omitted details require retrieval.