CLI reference

Every Tau command-line command and flag.

The tau command launches the interactive TUI by default; subcommands and flags cover everything else.

tau [OPTIONS] [PROMPT] [COMMAND] [ARGS]

On TUI and text print-mode startup, Tau may show a non-blocking notice when a newer tau-ai release is available on PyPI. In the TUI, this notice is the first transcript item and appears in bright yellow. Run tau update to upgrade. Disable the check with TAU_NO_UPDATE_CHECK=1; utility commands such as tau --version, tau update, tau sessions, and tau export do not run it. After an upgrade, the TUI also adds a one-time release-notes message to the transcript with the new features and fixes.

Commands

CommandWhat it does
tauOpen the interactive TUI
tau "<prompt>"Open the TUI with an initial prompt
tau updateUpgrade Tau with the installer that owns its environment. Windows uv-tool updates are handed off and begin after Tau exits; follow the printed log path for the final result.
tau sessionsList indexed sessions (id, title, model, cwd)
tau export <ref> [dest] [--format html|jsonl]Export a session id or JSONL path (HTML default)
tau --export <ref> [dest]Same as tau export, as a top-level flag
tau providersList configured providers and how each authenticates
tau [setup options] setupCreate/update an OpenAI-compatible provider

Options

FlagDescription
-p, --printRun the positional prompt in non-interactive print mode
-m, --model TEXTModel to request from the provider
--provider TEXTConfigured provider name to use
--cwd PATHWorking directory for the built-in tools
--mode [text|json|transcript]Output mode for print mode (default text); also triggers print mode on its own
--session TEXTResume a session id in the TUI or print mode
--new-sessionStart a new session instead of resuming the default
--session-id TEXTSet the exact id for a newly created print-mode session; errors if it already exists
--system-prompt TEXT_OR_PATHReplace Tau’s default system-prompt base with literal text or an existing UTF-8 file
--append-system-prompt TEXT_OR_PATHAppend literal text or an existing UTF-8 file (repeatable)
--auto-compact-threshold INTAuto-compact above this rough token estimate
-e, --extension PATHLoad an extension file or directory (repeatable)
--no-extensionsDisable extension directory discovery (explicit -e paths still load)
--project-extensionsAlso load trusted <project>/.tau/extensions; project trust and this code opt-in are both required
-a, --approveTrust protected project inputs for this invocation only
-na, --no-approveDecline protected project inputs for this invocation only
-v, --versionPrint the version and exit

--approve and --no-approve are mutually exclusive and never write the trust store. See Project trust for interactive scopes, headless defaults, protected resources, and the non-sandbox boundary.

System prompt input

--system-prompt replaces Tau’s default base prompt. Repeat --append-system-prompt to add sections in command-line order; Tau separates each resolved value with exactly one blank line. Put these flags before the positional prompt, like other recognized options:

tau --system-prompt "You are a focused reviewer." \
  --append-system-prompt ./team-rules.md \
  --append-system-prompt "Report risky changes first." \
  -p "review this repository"

For either option, Tau reads the value as a UTF-8 file when that path exists. Otherwise it uses the value verbatim, so a nonexistent path is literal prompt text. Existing directories, unreadable files, and invalid UTF-8 files stop startup with an error naming the option and path. ~ is expanded when checking for a file.

A custom base still receives appended text, discovered project instructions, eligible skills when the read tool is enabled, the current date, and the working directory. The options apply to print mode and interactive startup; when used with --session, they configure the resumed session’s next provider request. They are startup controls and are not stored in session history, so pass them again on a later resume when needed.

Without flags, Tau also discovers SYSTEM.md and APPEND_SYSTEM.md under the project or user .tau directory. CLI values win over trusted project files, and project files win over user files. Use /reload after changing a file. These are Tau-specific configuration files, not .agents resources. See Configuration & files for paths, precedence, diagnostics, and the project-resource security warning.

Resume in print mode

Use --print and --session together to append a non-interactive follow-up to an existing conversation. Tau loads the session’s saved working directory, provider, model, and conversation history:

tau --print --session <session-id> "Follow-up message"

Explicit --provider, --model, and system-prompt options override the saved startup choices for this invocation. --session cannot be combined with --new-session or --session-id. An unknown session id exits with an error.

--resume, --prompt, -o/--output, and -x are removed; each now exits with an error naming its replacement (--session, --print, --mode, and -e/--extension, respectively).

Provider setup options

Tau’s setup mode registers an OpenAI-compatible provider. Put these flags before the final setup argument:

FlagDefaultDescription
--provider TEXTopenaiProvider name to create/update
--model TEXTdefault modelDefault model for the provider
--base-url TEXTOpenAI URLOpenAI-compatible base URL
--api-key-env TEXTOPENAI_API_KEYEnv var holding the API key
--timeout-seconds FLOAT60.0HTTP timeout
--max-retries INT2Retry count for transient failures
--max-retry-delay-seconds FLOAT1.0Delay between retries
--set-default / --no-set-defaultset-defaultMake this the default provider

Example:

tau --provider local \
  --base-url http://localhost:11434/v1 \
  --api-key-env LOCAL_API_KEY \
  --model qwen \
  setup

See also: Slash commands (in-session) and Keyboard shortcuts.