WARSHALL
Docs/Agents/Cost warnings

Cost warnings

A conversation stays cheap while its beginning stays the same, because the provider reads the cached part back instead of paying for it again. A few actions throw that cache away, and some prompts make a frontier model work harder than the task needs. Warshall tells you before, not after.

The popup

One dialog, the same shape every time. The heading names the warning and the body is a sentence or two saying what is about to happen. The footer names the terminal and the project the prompt belongs to, beside Cancel and Send anyway. Cancel ends the turn before anything is started and the terminal prints Cancelled.

Nothing about the warning changes what the provider is sent. A warned turn and an unwarned one send exactly the same request.

The check runs at the start of every run on every provider, Claude, Codex and custom endpoints alike. A prompt from the composer, an orchestrator task and a prompt from the phone all pass through it.

The four warnings

WarningWhen it is raised
Prompt anti-patternsYour prompt, including the text of any saved prompt riding with it, carries a phrase that makes a frontier model overwork.
Model changeThe terminal’s model differs from its last turn and the conversation is going to continue, so its whole history is read again at full price.
Effort changeThe reasoning level differs from the last turn on a model whose cache does not survive the change.
Provider switchThe conversation’s last turn ran on another provider, so the new one starts cold. This covers a switch you made and one Autopilot made.

An anti-pattern warning comes first. After it, a turn can raise one of the other three. A provider switch is checked before a model change, and a model change before an effort change.

An effort change on Opus 5 or Fable 5.1 raises nothing. Warshall passes those models their effort inside the conversation, so the cache survives. On every other model, Codex models included, it warns.

The anti-pattern phrases

The phrases come from known habits that make a frontier model overwork. They include verification rituals, emphasis boosters, mandatory step by step procedures, stale example blocks and dated configuration.

A phrase matches whatever its case, and a hyphen in it also matches a space or nothing. Some words are listed in capitals, and those only match when you write them in capitals. So a rule of your own about writing style passes, and a shouted instruction does not.

Warshall keeps the list up to date on its side. The app fetches it once per launch and keeps the last good copy, and it ships a copy of its own for a first start with no connection.

Settings

Settings > Harness > Cost warnings has one switch per warning, all on by default. A warning that is off is never raised and never delays a run.

Edges

  • The first prompt of a fresh conversation raises no model, effort or provider warning. There is no cache to lose yet. The same holds when the prompt starts a fresh conversation anyway, as auto conversations sometimes does.
  • Several phrases in one prompt make one popup. It lists up to three and counts the rest.
  • Warshall remembers each terminal’s last model and effort only while the app is open. After a restart the cache has long expired, so there is nothing to warn about.
  • Stopping a run while its question is open answers it no.
  • The orchestrator’s own planning has no popup. Those prompts are the app’s, not yours.

On the phone

A paired phone shows the same card on the terminal it belongs to, with the same sentence and Proceed and Cancel. A phone that connects while a run is waiting gets the open cards too. The first answer from any screen wins and every other screen drops the card. A warning raised in a project the phone is not allowed to see is never sent to it.