how it works

where does an agent's money actually go?

Prepare locally, then ask the model with focus.

A coding agent gets expensive when it keeps rediscovering your code and carrying raw output forward. squeezy does that work on your machine first. It reads your repository locally, reuses what has not changed, sizes each turn to the task, and lets you set a dollar cap the session stops at.

what you pay for besides the change you asked for

prepare locally · then ask the model with focus
the loop

From your question to the model call.

Each step decides what the model will not have to read. The request goes out last.

1 Understand the repo locally

squeezy builds a local knowledge database of your code, so the first model call doesn't start from a blank repository.

2 Read only the relevant code

Broad questions narrow to specific files, symbols, diffs, and command output, not whole directories.

3 Keep context tight

Repeated output becomes receipts, noisy output is shaped, and long sessions are compacted before they get expensive.

4 Send focused work to the model

The model gets the useful context, and squeezy tracks tokens, cache, tool output, and estimated spend.

understand · narrow · tighten · send
understand first

Understand the code first

Before spending a token, squeezy reads your repository locally and works out which files and lines matter.

local code understanding Read the relevant code, not the whole file

squeezy finds the exact declarations, callers, and slices on your machine, then sends the model those instead of entire files.

code knowledge database Query your code, don't grep it

A local code knowledge database spans 40+ languages and formats: every symbol, definition, caller, and reference. So "who calls this?" is one query, not a dozen file reads.

what stays local, what leaves

layer 01 of 4
don't pay twice

Don't pay for the same bytes twice

Most of a coding session repeats: the same instructions, the same files, the same command output. squeezy keeps that out of the bill.

prompt caching Reuse stable context

Where the provider supports caching, squeezy keeps stable instructions and context cache-friendly, so repeated turns cost less.

receipts Replace repeated output with a receipt

When the same file or output would be sent twice, squeezy sends a short receipt that points back to the first copy, not the bytes again.

deferred tool schemas Load tool definitions on demand

The model sees a compact tool index first and loads a full definition only when it's needed, which also keeps the cached prefix intact.

stale bytes Stop paying for bytes an edit made stale

After an edit lands, squeezy trims the now-stale parts of earlier reads in place, so later turns don't re-buy lines the change already replaced.

layer 02 of 4
right-size turns

Right-size every turn

Not every turn deserves the biggest model or the longest history. squeezy matches the effort and the context to the task in front of it.

routing Send simple turns to a cheaper model

Simple, mechanical turns start on a small, fast model and step up to the main one only when the task turns out to be hard.

compaction Keep long sessions bounded

As a session grows, older turns fold into a short summary of goal, progress, and decisions, so turn 30 doesn't pay for turns 1 through 29.

shaped output Send the useful part of command output

Build, test, and search output is trimmed to the part the model can act on, with the full log one fetch away.

subagents Keep exploration off the main thread

Short-lived subagents explore or review in their own context and hand back a summary, instead of bloating the main thread.

layer 03 of 4
stay in control

Control the bill, don't just watch it

Seeing where the tokens go only helps if you can act on it. squeezy turns the numbers into control: cap the spend, force a turn cheaper or stronger, and see exactly where it all went.

spend cap Cap the bill before you hit it

Set an optional session cost cap or per-step token ceiling and squeezy stops before it crosses the line, warning as you approach instead of after.

model override Force a turn cheaper, or stronger

Send the next turn to the small model when you know it's easy, or to the main one when it isn't, without changing your defaults.

visibility See where every token went

The cost view splits the session by model and by role, into input, output, reasoning, cache reads, and cache writes, in dollars where the provider publishes rates. The context view says how much of the window is in use right now.

what you type

/cost shows where the session's money went. /cost budget 5 caps that session at five dollars. /context shows how full the model's window is. /router cheap and /router main send the next message to the Cheap target -- your own model, where none is configured -- or the active role's model.

layer 04 of 4
measured

and does that actually show up on the bill?

40% less spend for the same result.

squeezy answered the same code-understanding questions as an external coding-agent baseline for 60 cents on the dollar. Measured across 15 languages, with the same model, the same pricing, and the same grader on both sides. Cheaper in every language, on both model tiers tested, at equal or better recall.

same model · same pricing · same grader
github

Repository access is under construction.

squeezy's repository is not public yet. The product site and documentation are available here in the meantime.