Vectrum
Sign In
55 lines · 3.0 KB
# Flags

The flags worth knowing: `-model`, `-effort low|medium|high|xhigh|max`, `-max-turns`,
`-resume latest`, `-no-stream`, `-no-cache`, `-no-auto-compact`, `-v`, `-yolo`,
`-no-tui`, `-no-skills`, `-no-agents`, `-no-web`, `-no-hooks`,
`-no-diagnostics`, `-no-mcp`, `-claude-code-auth`, `-no-claude-code-auth`,
`-trust-project`. And the ones a script written for Claude Code passes, with
Claude Code's meaning — see [using it in place of
`claude`](in-place-of-claude.md): `--output-format
text|json|stream-json`, `-c`/`--continue`, `--allowedTools`,
`--disallowedTools`, `--permission-mode`, `--dangerously-skip-permissions`,
`--append-system-prompt`, `--system-prompt`, `--verbose`, `--print`. Every flag
takes one dash or two.

## Flags and thresholds

`-compact-at` (default 0.7) is where the conversation is normally folded into a
summary, keeping the last six messages verbatim. Early and rare is deliberate:
compaction is itself a model call with the history in it, and it is the single
biggest thing that breaks prompt caching.

`-compact-floor` (default 0.97) is the fraction past which compaction stops
being optional. The normal threshold declines a history it cannot split safely —
a handful of enormous tool results is too few messages to cut six off the end of
— and below the floor that restraint is right. Past it, a verbatim tail is worth
nothing if the next request has no room to be sent, so the floor folds anyway
and settles for a one-message tail. `/compact` follows the same rule past the
floor, since with auto-compaction off it is the only move left. When even that
finds nothing to fold, Codey says so, rather than letting the next
request fail as a bare API error.

`-context-window` (default 1,000,000) is what both fractions are measured
against; lower it for a model with less room.

`-max-turns` caps one prompt, and by default there is no cap: a turn count is a
bad proxy for the thing it was guarding against. A task is not finished at turn
thirty and unfinished at thirty-one, and a run that stops there has thrown away
a job that was going fine. What bounds an interactive session is the context
window, the bill, and a person who can press esc.

An unattended run has none of those, which is what the flag is for: set it in
`-p` mode and in CI, where nobody is watching and a model stuck repeating one
failing tool call would otherwise repeat it until the money ran out. When a cap
you asked for does trip, the conversation is left intact and the last thing the
model said comes back with the error rather than being thrown away — say what
to do next, or raise it.

`-no-auto-compact` turns the automatic fold off for one run, the same as
`"auto_compact": "off"` in the config. The floor then stops the turn instead of
folding: the session stays intact, nothing is summarized behind your back, and
`/compact` is what makes room. In `-p` mode the stop is a non-zero exit.

`-no-agents` leaves out the subagent tools, so the agent works alone. `-no-web`
takes away web access for one run, whatever the config says; like `-yolo` in
reverse, it can only subtract.