Skip to main content

CLI Reference

Ante can run as an interactive TUI, a one-shot headless command, a long-lived protocol server, or a channel gateway.

ante [OPTIONS] [COMMAND]

Commands

CommandDescription
anteStart the interactive TUI. If -p / --prompt is provided, run in headless mode instead.
ante authManage provider sign-in without starting an agent session.
ante serveRun a long-lived JSONL or WebSocket protocol server.
ante gatewayRun the Slack / Discord channel gateway.
ante updateCheck for the latest Ante release and install it if available.
ante rageCollect a redacted bug-report bundle (logs + environment) to share with the Ante team.
ante catalogPrint the loaded provider/model catalog as JSON.
ante doctorRun a boot-time self-check and report startup phase timings.

ante

ante [OPTIONS]

Without --prompt, Ante starts the interactive TUI. With --prompt, Ante runs one headless task and exits.

FlagDescription
-m, --model <MODEL>Override the default model name.
--provider <PROVIDER>Override the API provider by catalog provider name.
--effort <LEVEL>Override the model's effort level for this run: min, low, medium, high, xhigh, or max.
--yoloSkip tool approval prompts for the session.
--permission-mode <MODE>Override the permission mode for this run: strict, auto, or yolo. Conflicts with --yolo.
--system-prompt <PROMPT>Replace the default system prompt entirely. Conflicts with --system-prompt-file.
--system-prompt-file <PATH>Read the replacement system prompt from a UTF-8 file. Conflicts with --system-prompt.
--append-system-prompt <TEXT>Append content to the default system prompt.
--short-promptUse the compact prompt set for this run: a condensed system prompt and shorter built-in tool descriptions. Persist the default with the short_prompt setting.
--enable-auto-memoryEnable auto-memory for this run. Conflicts with --disable-auto-memory.
--disable-auto-memoryDisable auto-memory for this run. Conflicts with --enable-auto-memory.
--tools <TOOLS>...Replace the default tool set with exactly these tools. Values are space-separated. Deprecated alias: --allowed-tools still works but prints a warning.
--include-tools <TOOLS>...Add tools on top of the default set, or on top of the --tools base set. Values are space-separated.
--exclude-tools <TOOLS>...Remove tools from the session after --tools and --include-tools are applied. Values are space-separated. Deprecated alias: --disallowed-tools still works but prints a warning.
--output-format <FORMAT>Headless output format: json, human, or minimal. Defaults to minimal.
-p, --prompt <PROMPT>Prompt to run in headless mode. Also supports stdin when piped.
--checkRun a verification pass after the headless task completes.
-r, --resume <SESSION_ID>Resume a previous session by ID.
--no-session-saveDo not save the session transcript or resumable snapshot. Conflicts with --resume.
--offline-model <PATH>Path to a local GGUF model file for offline inference.
-h, --helpPrint command help.
-V, --versionPrint the Ante version.

Examples

ante
ante -p "explain what this project does"
git diff | ante -p "review this diff for bugs"
ante --provider openai --model gpt-5.6-sol -p "refactor the database module"
ante --effort max -p "find the race condition in the scheduler"
ante --resume ses_01ARZ3NDEKTSV4RRFFQ69G5FAV -p "now add tests"
ante -p "summarize this repo" --enable-auto-memory

ante auth

ante auth login [PROVIDER] [OPTIONS]

Sign in to an OAuth provider without starting a TUI session. Today the supported provider is antix, and it is the default when [PROVIDER] is omitted.

FlagDescription
--forceRe-run browser sign-in even when stored credentials already exist.
--no-browserPrint the authorization URL instead of opening a browser.
-h, --helpPrint command help.

Examples

ante auth login
ante auth login antix --force
ante auth login --no-browser

ante serve

ante serve [OPTIONS]

Server mode exposes the Ante protocol over stdin/stdout by default, or over WebSocket when --ws is provided.

FlagDescription
--stdioServe the JSONL protocol over stdin/stdout. This is the default transport.
--ws <ADDR>Serve the protocol over WebSocket on the given socket address. Conflicts with --stdio.
--offline-model <PATH>Load a local GGUF model at startup for offline mode.
-h, --helpPrint command help.
note

serve is session-agnostic, so it does not accept the session flags (--model, --provider, --yolo, --system-prompt, --tools, …). The connecting client configures those per session over the protocol.

Examples

ante serve
ante serve --ws 127.0.0.1:8080

ante gateway

ante gateway [OPTIONS]

Gateway mode connects Ante to Slack, Discord, or both using the channels config file.

FlagDefaultDescription
--config <PATH>~/.ante/channels.jsonPath to the channels configuration file.
--model <MODEL>localModel to use for agent sessions.
--provider <PROVIDER>localProvider to use for agent sessions.
--output-format <FORMAT>minimalGateway stdout format: json, human, or minimal.
--offline-model <PATH>-Load a local GGUF model for all gateway conversations.
-h, --help-Print command help.

Examples

ante gateway
ante gateway --provider anthropic --model claude-sonnet-4-6
ante gateway --config ./channels.json --output-format human

ante update

ante update [OPTIONS] [CHANNEL]

The update command checks for a newer Ante release and installs it when one is available. Without arguments, it follows the channel stored in ~/.ante/settings.json (defaults to stable). Passing a channel — either as a positional argument or via --channel — overrides the tracked channel for this run only. See Update & Channels for the full list of channels.

ArgumentDescription
[CHANNEL]Release channel to update from (stable or nightly). latest is accepted as a legacy alias for stable. Conflicts with --channel and --version.
FlagDescription
--channel <CHANNEL>Release channel to update from. Equivalent to the positional form.
--version <VERSION>Install an exact release instead of the channel's newest release. Accepts values with or without a leading v, such as v0.preview.33 or 0.preview.33. Conflicts with channel arguments.
-h, --helpPrint command help.

Examples

ante update
ante update nightly
ante update --channel stable
ante update --version v0.preview.33

ante rage

ante rage [OPTIONS]

When something goes wrong, ante rage gathers the context the Ante team needs to investigate into a single shareable archive that you can attach to a GitHub issue. By default it writes ./ante-rage-<timestamp>.tar.gz and prints a short summary. Nothing is uploaded — the bundle stays local until you share it.

Secrets are redacted before anything is written. API keys and OAuth tokens are reported only as present/absent (never their values), credentials embedded in URLs and known token shapes are masked, conversation transcripts and system prompts are excluded, and ~/.ante/auth/*.json and channels.json are never included.

The archive contains:

FileContents
report.mdAnte version, OS/architecture, shell, git branch, the resolved model/provider, a provider authentication table (present/absent), and a redaction notice.
env.txtAnte-relevant environment variables. Safe values are shown verbatim; known secrets appear as <SET> / <UNSET> only.
settings.redacted.json~/.ante/settings.json with secrets removed (MCP server credentials are stripped).
catalog.redacted.json~/.ante/catalog.json with secrets removed, included only when a custom catalog exists.
logs/Recent application and crash logs, filtered and scrubbed. DEBUG/TRACE lines are dropped so request bodies never enter the bundle.

By default the newest logs are collected, up to 10 files or 10 MB (crash logs are always prioritized). Use --since to collect everything within a time window instead.

FlagDescription
--output <PATH>Write the bundle to this path instead of ./ante-rage-<timestamp>.tar.gz.
--no-compressLeave the staging folder uncompressed instead of producing a .tar.gz.
--verbose-logsAlso include DEBUG/TRACE log lines. Conversation transcripts and system prompts are still excluded.
--since <DURATION>Collect every log modified within the window, ignoring the file-count and size limits. Accepts <n>d, <n>h, <n>m, or a bare number of days (for example 7d, 48h, 90m, 2).
-h, --helpPrint command help.

Examples

ante rage
ante rage --output ./ante-bug.tar.gz
ante rage --since 7d
ante rage --no-compress

ante catalog

ante catalog

Print the merged provider/model catalog (built-in presets plus ~/.ante/catalog.json) to stdout as JSON, in the same schema the catalog file uses. Warnings for skipped catalog entries go to stderr, so stdout stays a clean JSON document that pipes into jq. See the Catalog Reference for the schema.

Examples

ante catalog
ante catalog | jq '.providers | keys'

ante doctor

ante doctor

Boot the same runtime a real launch uses — load the merged catalog, start a daemon session, and render the first TUI frame — then print a readiness report with per-phase timings. Use it to confirm Ante is installed and configured correctly, or as a CI smoke test ("does Ante boot, does the first frame render").

It needs no TTY and no API key: MCP warm-up is skipped and the session reaches readiness from the catalog alone. The report lists three checks — catalog (provider/model counts), session (the resolved provider/model), and first frame (the headless render) — followed by a total. Warnings (such as no authenticated provider, a skipped catalog entry, or a settings.json parse notice) are listed below the table without failing the check. doctor exits non-zero if any hard check fails, so it works in scripts.

Examples

ante doctor
ante doctor || echo "ante is not healthy"

Output Formats

FormatDescription
minimalPrint agent messages, info, and errors only.
humanPrint all events in a human-readable format.
jsonPrint events as JSON lines for machine processing.