Docs / Reference
Command reference.
Slash commands inside haze, plus the terminal flags for interactive and headless runs. Type / in the chat to discover commands and installed skills; Tab completes.
Agent & session
/help | Show all slash commands. |
/exit, /quit | Exit haze. Registered background processes stop. |
/clear | Clear conversation history and the task list. |
/new | Start a fresh durable session for this workspace. |
/resume [id] | Browse this workspace's sessions and continue one or fork a copy. Pass an exact id to resume it directly. |
/session | Show the current durable session file. |
/compact [instructions] | Keep recent messages and replace older context with a model-written continuity summary (set manualCompaction: "heuristic" in settings for the model-free bounded excerpt). Automatic mid-turn compaction also prefers a model-written summary for large older histories, keeping the bounded excerpt for small trims and as the fallback. The result says what was kept. |
/init | Create or update compact, budget-aware AGENTS.md project instructions. |
/context | Show a token breakdown of the current request: system prompt, project context, tools (incl. MCP), and chat messages. |
/tips | Toggle rotating keyboard and workflow tips beneath the busy label. |
/fleet [--review] [--profile name] [--workers provider:model] [--concurrency n] <prompt> | Split independent work across disposable, context-isolated workers. The profile controls concurrency and deadlines; each run has a tool limit and file changes are serialized across retries. Options apply to one run; haze declines work that cannot run in parallel. |
Configuration
/provider | Choose or add a provider. Manage its models, set the API key, toggle image input, or remove the provider. |
/model | Choose a configured model, or fetch a provider's model list from its OpenAI-compatible /models endpoint. |
/model <name-or-provider:name> | Set a model directly; also sets its provider. |
/model list | List all configured models. |
/settings | Show provider, model, API key and image-capability status, LSP/MCP servers, skills, and loaded context files. |
/settings open | Open ~/.haze/settings.json with the OS default app. |
/themes | Choose a terminal theme from the built-in registry (light palettes and oh-my-zsh ports included). The pick applies immediately and is saved to ~/.haze/settings.json. |
/themes <name> | Set a theme directly, such as /themes solarized-dark. Already-printed text keeps its old colors. |
/reasoning | Choose a reasoning effort level (none, minimal, low, medium, high, xhigh) or unset. high is the default. Saved to ~/.haze/settings.json and applied from the next turn as the portable reasoning parameter; the current level shows in the bottom status bar. |
/reasoning <level|unset|status> | Set the reasoning effort directly, clear it back to the provider default (no parameter sent), or show the current level. Endpoints without native support ignore it. |
/logs [id] | List recent LLM logs, or summarize one by id. Detailed logs exist only when haze started with --debug. |
/lsp | Configure language-server navigation: add a preset (typescript, rust, python, go, php) or a custom command, then enable/disable/remove. LSP tools appear only when an enabled server command is on PATH. |
/mcp | Configure Model Context Protocol servers. Add a preset (Context7) or custom http/sse/stdio server, enable/disable/remove it, or set a masked API key. MCP tools never shadow built-ins. |
Skills
/skills | Create and manage global or project Markdown skills. The picker shows each skill's source and lets you enable, disable, validate, or remove it. |
/<skill-name> | Invoke any installed skill directly, such as /code-review. The model can also load skills on its own when they match a request. |
No task command. The model maintains its own task list with the
writeTasks tool; track it in the status area while substantial work runs.Terminal flags
Run haze --help for the authoritative list | |
haze | Open the interactive chat in the current directory. |
haze -p, --prompt <text> | Run one non-interactive turn with the full toolset, print the final reply, and exit. Complete turns exit 0; aborted or failed turns exit non-zero. Pipe stdin for longer prompts: echo "…" | haze -p. Piped prompts over 256 KiB are rejected; pass a file path for larger input. On a provider context overflow the run compacts and retries with progressively smaller budgets; exhausted recovery exits non-zero with a resumable context_exhausted checkpoint. Print mode does not save sessions. |
haze --output <text|json|stream-json> | Choose the print-mode output. json writes one { type, status, result, usage } envelope for scripts and CI. stream-json writes live NDJSON events — including context-budget, compaction, retry, and goal lifecycle events — followed by the same envelope. The final status determines the exit code. |
haze -m, --model <selector> | Override the model for this run without changing settings. Use a model name or provider:model selector for a model added through /provider; unknown selectors exit non-zero with a precise error. |
haze --reasoning <level> | Override the reasoning effort for this run without changing settings: none, minimal, low, medium, high, xhigh, or unset/off (send no reasoning parameter; the provider default applies). Applies to print-mode turns; the level travels as the model's portable reasoning parameter and endpoints without native support ignore it. Invalid values exit non-zero before any model call. The effective policy is observable as a reasoning_policy stream-json event. |
haze -c, --continue | Resume the latest saved session for this workspace (interactive only). |
haze --resume <id> | Resume an exact workspace session. Combine with -p to load its context for one non-durable turn. Unknown ids exit non-zero. |
haze --no-session | Run without saving or resuming a durable session. |
haze --timeout <duration> | Print-mode absolute turn deadline, e.g. 30s, 10m, or 2h (raw ms also accepted; 1 second–24 hours). Bounds total elapsed time so a busy or uncooperative tool cannot run indefinitely. When the deadline fires haze emits a timeout stream-json event and exits non-zero. |
haze --until-done | Print mode: relaunch the logical goal after transient model failures (provider errors, exhausted stream-stall retries) with exponential backoff, until it structurally completes, --timeout hits, or three consecutive relaunches make no measurable progress (poison guard — a truthful non-zero exit with the goal frontier preserved). Emits goal_resume stream-json events per relaunch. Unattended operation never grants extra authority: no commits, pushes, or publishes. |
haze --debug | Show model/tool debug logs and write detailed JSONL payloads to ~/.haze/logs/ (interactive and print mode). Logs can contain secrets and file content; redact them before sharing. |
Headless & CI
shell · one-shot runs
# answer from the current repo, JSON envelope for scripts haze -p "which function parses the budget file?" --output json # pipe context in and stream events for a wrapper git diff | haze -p "review this diff for bugs" --output stream-json # reuse a saved session's context without modifying it haze --resume 2f9c41d8 -p "summarize where we stopped" --output text
Exit codes are contract: 0 for complete turns, non-zero for aborted or failed runs — safe to use in CI gates and Git hooks.