Skip to main content
Documentation menu

Reference

Optimizations

Speed and token optimizations that are off by default while they're being measured against the benchmark; each has its own switch so it can be measured on its own. Turn them on in config, or for one run with CHANTO_OPTIMIZE=concise,quiet,provenance (or all):

toml
[optimize]
concise_prose = true      # brief prose replies
quiet = true              # quiet mode: no narration, one short summary, a quiet view (see below)
provenance = true         # flag numeric claims and identifiers not found in this turn's tool outputs
  • concise_prose adds a short instruction to the system prompt: lead with the result, no recaps of what was done or restating the task, short status updates between tool calls. It says explicitly that it never applies to code, tool arguments, file contents or reasoning. It's part of the session's fixed system prompt, so the prompt prefix (and a local server's cache) stays the same from request to request. It's skipped when the Concise output style is already selected, which says the same.
  • quiet (quiet mode) minimizes output tokens and screen noise. It's off by default and being measured (chanto+quiet).
    • Model side (quiet = true, CHANTO_OPTIMIZE=quiet): a fixed system-prompt instruction not to write narration or status text between tool calls and to call tools directly, then, when the task is done, to write one short summary: what changed (the files), what was verified and how, and anything left or uncertain. It says explicitly that it never applies to code, tool arguments, file contents or reasoning, or to questions the model genuinely needs to ask you. It's part of the session's fixed system prompt, so the prefix stays the same from request to request; /quiet rebuilds it once, from the next turn.
    • --quiet (or /quiet on|off during a session) turns on the model side and a quiet view. In the TUI, while the agent works you see only the spinner and the status line (the tool running now, how many tool calls so far, elapsed time and tokens), plus permission prompts and questions. The turn's intermediate text, thinking and tool blocks stay out of the transcript but are still recorded: ctrl+o or /transcript shows them (inline mode prints the last turn's steps), and the session history is intact, so "what did you do?" works as usual. The final summary shows normally, and spend-guard notices, warnings, errors and verification results always show. --plain prints the same way (/transcript lists the last turn's steps), and -p text prints only the final summary even with --verbose; --output-format json and stream-json are unchanged.
    • Preset: --quiet without --mode starts in auto mode, so safety is auto mode's: risky actions still ask, and the sandbox still applies. An explicit --mode (or --dangerously-skip-permissions, --full-auto, --sandbox) wins. quiet = true in config (or CHANTO_OPTIMIZE=quiet) turns on the model side and the quiet view but leaves the mode alone.
  • provenance (chanto+provenance) checks the final answer's numbers, environment-variable names, file paths and function-call identifiers against tool output from the current turn. When a claim isn't found, the model is told once more and asked to re-check it against the code or the tool output (a single bounded bounce, so it never loops); the warning is always shown, and nothing is blocked or re-asked again. This deterministic prototype can miss unsupported prose or flag a valid claim expressed differently; user messages, earlier turns and answers given without any tool call are not checked.

OpenAI's Predicted Outputs aren't included: the prediction parameter is a Chat Completions feature of GPT-4o and GPT-4.1 models only, it can't be combined with tools (function calling), and the file content a tool call is about to write isn't known before the model writes it, so there's no sound way to use it in a tool-calling agent loop.

Edit this page on GitHub Report a problem

Commands, settings, errors: type a few words.