Slash commands
Type / in the composer for the command menu. In the terminal it appears under what you're typing, filters as you go, and lists what each command does, including any this project defines in .houston/commands.
Both clients accept the same names, so a command learned in one works in the other.
Built-in commands
| Command | Does |
|---|---|
/new (or /clear) | start a fresh conversation |
/compact | summarize older turns now to free up context |
/retry | run your last message again after a turn that failed |
/plan, /ask, /auto, /full | switch the approval mode: plan, ask every time, auto-approve edits, full auto |
/approval | show the current approval mode |
/review | run an adversarial review of your uncommitted changes and fix what it confirms |
/undo, /redo | revert the files the last turn changed, or put them back |
/rewind | go back to an earlier message: the conversation, the code, or both |
/changes (or /diff) | what's different in the working tree |
/skills, /agents | list the workspace's skills and custom agents |
/help | list the available commands |
Also: /model, /reasoning, /fork, /btw, /resume, /cost, /cwd, /share, and /doctor. The exact set depends on the client.
Settings commands. /settings, /login, /mcp, /hooks, /memory, /trust, and /theme open the matching page of Settings in the desktop app. The terminal edits a safe subset in place. In the desktop app:
/settings <page>opens that page (/settings permissions)/settings <words>opens Settings searching for them (/settings proxy)
Desktop panels. In the desktop app each command opens its own panel for the job: /changes the Changes panel, /model the model picker, /btw the side chat.
Terminal-only commands. /vim, /verbose, /output, /spawned, /proposals, /image, and /exit. Typed in the desktop app, they tell you where the app does the same thing instead of being sent to the model.
Terminal themes
/theme lists the terminal's palettes, and /theme <name> switches. Your choice is remembered.
| Theme | For |
|---|---|
dark | bright foregrounds for a dark background |
light | readable on white (which a dark theme's bright yellow isn't) |
colorblind | maps a diff's red and green to orange and blue, for the most common form of color blindness |
mono | no color at all |
default | the default palette |
Custom commands
Any Markdown file at .houston/commands/<name>.md becomes a /name command.
- Where: in the project, or in
~/.houston/commandsfor a command you want everywhere. A project's command wins if both define the same name. - Arguments: the file body is a prompt template.
$ARGUMENTSis replaced with everything typed after the command name, and$1,$2, … with the individual words. So/deploy staging v2can fill a template that saysdeploy $1 at version $2. With no placeholder at all, the arguments are appended. - Description: optional frontmatter sets it. Without it, the first line is used (so existing commands keep working).
---
description: Ship the branch to staging
---
Deploy the current branch and report what happened.