Skip to content

Harnesses and models

The agent is the durable noun; the harness and model are adjectives you pick at launch time. tally continue vision --claude-code --fable-5 today, tally continue vision --codex --gpt-5.5 tomorrow: same identity, same memory, same history, different equipment. This page explains the harness and model axes and how Tally validates the combination you asked for.

Launch supports three harnesses, compiled in and verified:

  • claude-code: runs Anthropic models.
  • pi: multi-provider, so the model axis is widest here.
  • codex: runs OpenAI models.

All three adapters are built-in Rust. Other harnesses can be added with a declarative adapter (a TOML manifest describing the harness’s session store), managed via tally adapter.

Every launch verb accepts the harness and model in a canonical form and a sugar form. They are equivalent; use whichever reads better to you:

Terminal window
# canonical
tally continue vision --harness pi --model gpt-5.5
# sugar: harness shortcut + model alias
tally continue vision --pi --gpt-5.5
tally continue vision --claude-code --fable-5
tally continue vision --codex --gpt-5.5

The sugar flags are shortcuts, not a separate system; --claude-code means --harness claude-code and nothing more.

Three tiers, from strongest to weakest guarantee:

  • Marketed, known model shortcuts are guaranteed to launch. They are validated against the installed harness; --fable-5 resolves to claude-fable-5, for example. These are the combos shown in these docs, and only these.
  • Other model tokens are family-validated. Tally checks the token belongs to a plausible family for the harness, and the harness itself makes the final model check at launch.
  • Clearly invalid pairs are rejected before anything is written. An OpenAI model on claude-code fails immediately: no context is materialized, no session store is touched, nothing to clean up.

Every launch verb takes --print-cmd, which prints the composed harness command instead of launching it. Use it to check what Tally is about to run, or to wire the command into something else:

Terminal window
tally continue vision --pi --gpt-5.5 --print-cmd

The honest caveat: continuity is not capability

Section titled “The honest caveat: continuity is not capability”

The swap preserves who the agent is: identity, memory, history, character. It does not make capabilities uniform. A log built under a strong model, continued under a weaker one, degrades; harnesses differ in the tools they expose. Portability is of the agent, not its powers, and a harness or model swap is never free. We say this here so no launch flag has to imply otherwise.