CLI Reference
smelt [MESSAGE]
smelt auth
When a message is provided, it auto-submits on startup. Running with no
arguments and no config file launches the interactive setup wizard.
CLI flags always take precedence over config values.
Subcommands
Subcommand
Description
smelt auth
Manage provider authentication (add providers, Codex or GitHub Copilot login/logout)
Connection
Flag
Description
--config <PATH>
Path to a custom init.lua
-m, --model <MODEL>
Model to use. With configured providers, prefer provider_name/model_name; with --api-base, use the provider-native model name
--api-base <URL>
API base URL (overrides config)
--api-key-env <VAR>
Env var holding the API key
--type <TYPE>
Provider type: openai-compatible, openai, codex, anthropic-compatible, anthropic, copilot (auto-detected from URL when omitted)
Auto-detection:
URL contains
Detected type
anything else
openai-compatible
api.openai.com
openai
chatgpt.com
codex
api.kimi.com/coding
anthropic-compatible
api.anthropic.com
anthropic
githubcopilot.com
copilot
Behavior
Flag
Description
--mode <MODE>
Starting mode: normal, plan, apply, yolo
--mode-cycle <MODES>
Modes for Shift+Tab cycling (comma-separated)
--reasoning-effort <LEVEL>
Starting reasoning: off, low, medium, high, max
--reasoning-cycle <LEVELS>
Levels for Ctrl+T cycling (comma-separated)
--no-tool-calling
Disable tools (chat-only)
--system-prompt <PROMPT>
Override the system prompt (string or file path)
--no-system-prompt
Disable system prompt and AGENTS.md
--set <KEY=VALUE>
Override a config setting (repeatable; see Settings for valid keys)
Reasoning effort controls how deeply the model thinks before responding.
Supported by Anthropic (thinking), OpenAI (reasoning), openai-compatible, and anthropic-compatible
providers that support reasoning_effort. For OpenAI, max maps to xhigh.
Models that don't support thinking ignore this setting.
Sampling
Flag
Description
--temperature <TEMP>
Sampling temperature
--top-p <VALUE>
Top-p (nucleus) sampling
--top-k <VALUE>
Top-k sampling
Sessions
Flag
Description
-r, --resume [SESSION_ID]
Resume a session (picker if no ID)
Runtime
Flag
Description
--headless
No TUI — requires a message argument. See Headless .
--format <FORMAT>
Headless output format: text (default) or json (JSONL events)
-v, --verbose
Show tool output in headless mode
--color <WHEN>
Color output: auto (default), always, never
--log-level <LEVEL>
debug, info, warn, error (default: info)
--bench
Print timing summary on exit