Skip to content

Custom Commands & TUI Integration

The TUI exposes slash commands handled client-side before the message reaches the daemon. Most commands open an interactive menu navigated with arrow keys and confirmed with Enter — only a few take a direct inline argument.

CommandInteraction
/clearStart a new thread immediately
/newStart a new conversation context
/resume↕ Pick a previous thread to resume
/thread↕ Thread menu — resume / fork / archive / export / import
/compact [instructions]Summarise older history; optional free-text instructions inline
/compact settings↕ Pick provider and model used for compaction
/goal [text|clear]Set a session goal shown in the status bar and injected into the system prompt; /goal clear removes it
/statusPing the daemon and print queue health
/helpShow the TUI command cheatsheet
CommandInteraction
/agentSwitch to agent mode (approval gates on destructive tools)
/fullSwitch to full mode — all tools auto-allowed, no dialogs, 128 k context
/planSwitch to plan mode — structured JSON output, no execution

Mode changes take effect on the next message send.

CommandInteraction
/git↕ Menu — enable / disable / show status
/git onEnable git tools for this session
/git offDisable git tools
CommandInteraction
/web↕ Menu — toggle mode (off / cached / live) and switch provider
CommandInteraction
/mem↕ Memory menu — citations panel toggle, memory settings
/memories↕ Memory settings menu
/mem onShow memory citations panel after each response
/mem offHide memory citations panel
/reset memories↕ Confirmation dialog — wipe local memories and project summary
CommandInteraction
/providers↕ Provider menu — connect, add, use, list models, test, remove
/provider connectMulti-step dialog — type → key → base URL
/provider use↕ Pick a configured profile to set as default
/provider models↕ List and select a model for the active provider
/modelsAlias for /provider models
CommandInteraction
/reviewReview uncommitted changes (staged + unstaged)
/review stagedReview staged changes only
/review <file>Review a single file
/review settings↕ Pick provider and model used for reviews
CommandInteraction
/think↕ Set reasoning token budget or disable (Anthropic models only)
/think <tokens|off>Set directly inline: e.g. /think 10000 or /think off
CommandInteraction
/theme↕ Theme picker with search — 40+ built-in themes
/usage↕ Toggle per-request token stats: off / compact / full
/path↕ Toggle project path display in the status bar
CommandInteraction
/skill-createMulti-step dialog — enter name → enter description → agent generates SKILL.md
/<skill-name> [args]Invoke any skill defined in SKILL.md files
CommandInteraction
/initScaffold AGENTS.md and local check scripts
/permissions↕ Permission mode picker — Default / Full Access

Terminal window
umbra daemon start # start the daemon in the background
umbra daemon stop # stop the daemon
umbra daemon status # show health and queue depth
umbra daemon status --json # machine-readable output
umbra task add "<task>" # queue a background agent run
umbra exec "<task>" # headless exec-mode harness run + exit
umbra exec "<task>" --time 5m # exec with explicit time limit
umbra doctor # full health check
umbra doctor --fix # health check with auto-repair
umbra doctor --json # machine-readable output
umbra trust list # list trusted workspace paths
umbra trust remove <path> # remove a trusted path
umbra context [dir] # print repo map to stdout
umbra debug [--interval <ms>] # tail live debug events (JSONL)
umbra usage # print usage report from usage.jsonl
umbra init [dir] [--force] # scaffold instruction file
umbra providers list [--json] # list configured provider profiles
umbra providers add <type> <label> # create a provider profile
umbra providers connect [type] # OAuth / interactive provider setup
umbra providers use <id> # set default provider profile
umbra providers models [id] # list models for a provider
umbra providers test <id> # test a provider connection
umbra providers catalog [--json] # browse the model catalog
umbra providers remove <id> # delete a provider profile
umbra permission [mode] # manage permission mode interactively

These flags modify the behaviour of umbra (the default TUI launcher). They can also be passed to umbra tui.

FlagEffect
--execAutonomous mode — routes to the exec harness loop without confirmation prompts
--debugOpen the debug event monitor instead of the TUI
--doctorRun environment diagnostics and exit (same as umbra doctor)
--prompt <text>Send a single prompt non-interactively and exit
--project <path>Use this directory as the project root instead of the current shell cwd
--mode agentAgent mode — approval gates on destructive tools (default)
--mode fullFull mode — all tools auto-allowed, 128 k context, no compression
--mode planPlan mode — structured JSON output only, no tool execution
--updateCheck for updates and install if available, then exit
--web offDisable web search on launch
--web on / --web cachedEnable web search (cached results)
--web liveEnable web search with forced fresh results
Terminal window
umbra # open TUI (agent mode)
umbra --mode full # open TUI in full mode
umbra --mode plan # open TUI in plan mode
umbra --web live # open TUI with live web search enabled
umbra --project /path/to/dir # set project path
umbra --prompt "summarise auth.ts" # send one prompt and exit
umbra --exec # autonomous exec harness (no confirmations)
umbra --debug # open debug event monitor
umbra --doctor # run diagnostics and exit
umbra --update # check for updates and install if available

Environment variable alternative for web mode:

Terminal window
UMBRA_WEB_SEARCH_MODE=live umbra # same as --web live

When stdout is not a TTY (piped, CI, IDE extension), umbra skips the Ink TUI and prints usage instructions to stdout instead. Use umbra exec "task" or umbra task add "task" in non-interactive contexts.