haze.
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

/helpShow all slash commands.
/exit, /quitExit haze. Registered background processes stop.
/clearClear conversation history and the task list.
/newStart 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.
/sessionShow 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.
/initCreate or update compact, budget-aware AGENTS.md project instructions.
/contextShow a token breakdown of the current request: system prompt, project context, tools (incl. MCP), and chat messages.
/tipsToggle 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

/providerChoose or add a provider. Manage its models, set the API key, toggle image input, or remove the provider.
/modelChoose 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 listList all configured models.
/settingsShow provider, model, API key and image-capability status, LSP/MCP servers, skills, and loaded context files.
/settings openOpen ~/.haze/settings.json with the OS default app.
/themesChoose 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.
/reasoningChoose 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.
/lspConfigure 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.
/mcpConfigure 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

/skillsCreate 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
hazeOpen 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, --continueResume 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-sessionRun 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-donePrint 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 --debugShow 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.