docs / Usage
Slash commands
Every `/command`, when it appears, and how to write your own.
| Command | Menu label | Description |
|---|---|---|
/model | Select model | Pick the active model |
/provider | Add provider | Add a new LLM provider |
/decision-provider | Decision provider | Add or edit a decision-model connection |
/attach | Attach files | Fuzzy-find a file to attach; optional directory (/attach <dir>) |
/manage-attachments | Manage attachments | Add, reorder, or remove pending attachments |
/sessions | Switch session | Resume or delete past sessions |
/new | New session | Start a fresh conversation |
/newtab | New tab | Run another agent in its own workspace (/newtab <path>) |
/closetab | Close tab | Stop this tab’s agent and close it |
/tree | Session tree | Walk the tree, fork from a node |
/todo | Todos | Show the session todo list in a read-only popup |
/scene | Switch scene | Pick the scene the agent runs under (/scene <name>) |
/variant | Select variant | Pick the model’s reasoning effort (/variant HIGH) |
/theme | Theme | Pick the TUI theme, with live previews (/theme <name>) |
/peak-table | Peak periods | Show the model’s peak/off-peak windows; t switches timezone |
/codemode | Codemode | Offer the Rhai scripting tool, and how it presents the roster |
/title | Edit title | Rename the current session (/title My title) |
/gen-title | Generate title | Draft the session title with the LLM |
/export | Export session | Write the session to a JSON file (optional path) |
/undo | Undo last turn | Fork before the last prompt |
/replay | Replay last turn | Fork and re-run the last turn |
/compact | Compact context | Summarize older history; optional focus instruction |
/reload | Reload skills | Re-discover skills and commands without a restart |
/mcp | MCP servers | Show MCP server connection states |
/mcp-reconnect | Reconnect MCP | Reconnect an MCP server (/mcp-reconnect <server>) |
/sidebar | Toggle sidebar | Collapse or expand the sidebar |
/search | Search chat | Highlight text in the chat live (/search <text>) |
/assisted-by | Assisted by | Show the session’s Assisted-By: trailer; Enter copies it |
/images | View images | Browse the session’s attached images in a gallery |
/screensaver | Screensaver | Play the welcome animation fullscreen; any key dismisses it |
/quit | Quit | Exit the program |
Some commands only appear when they apply: /undo and /replay need
messages in the chat; /compact needs messages and no reply streaming; /tree, /title, /gen-title and /export need an active session
(/gen-title also needs a first prompt); /scene is hidden while a reply
is streaming; /images appears once the session has images; and /peak-table needs a model whose catalog entry bills on a peak/off-peak
schedule.
/attach opens the attachment finder on the workspace (or on the directory you
named) — see Attachments. /manage-attachments opens one dialog over the composer’s pending strip: a adds another file
through the same finder, Delete (or Ctrl+X)
removes the selected one, and Ctrl+↑/↓ shifts
it in the send order. /newtab [path] and /closetab manage tabs; the last tab stays open — /quit exits.
/todo opens a read-only popup of the list the agent keeps for the session
with its todo tool (see Tools); running
it again takes a fresh snapshot. ↑/↓ or j/k walk
the list, Home/g and End/G jump to the ends, and
/peak-table lists the active model’s peak windows for the day — and the
exempt day classes the schedule skips — in the schedule’s own timezone, UTC
or your local time; t cycles the clock, Esc or q closes it.
Typing it for a model without a schedule says so instead of opening an empty
table.
/codemode opens the overlay that edits the three switches worth changing
mid-session — Offered (on, auto, off), Roster (declared, declare-builtin, only) and Keep state — and reports the limits a
script runs under; a change is written back to your config file. The limits
themselves (timeout, operation and call caps, inline budget) stay in shuvarie.kdl — see Codemode.
Custom commands
Commands are also plain files: a directory holding a command.md under commands/ in the workspace .shuvarie/ directory (or in the global config
directory) becomes a slash command named after the directory. The optional
YAML frontmatter overrides the menu title and the model (<provider>/<model>) used for the turn; the body is the prompt template,
and {{arguments}} is replaced by whatever was typed after the command
name (the raw arguments are appended after a blank line when the
placeholder is missing):
---
title: Commit code
model: anthropic/claude-x
---
Commit {{arguments}} with conventional commits. A model: that names a provider kind (anthropic/…) resolves through default-providers.
Workspace commands win over global ones with the same name, and a name that
collides with a built-in command is invoked as custom:<name> (the built-in
keeps the plain alias). Custom commands appear in the Ctrl+M menu and are re-read by /reload.