Houston docs
How to use Houston, the cross-platform coding agent that works with your own model. These pages describe Houston v0.11.1, the latest release.
Getting started
- Getting started in the desktop app
On first launch, the welcome screen shows a three-step Get started checklist:
- What Houston is
Houston is a coding agent that runs on your own machine and works inside a single project folder.
- Clients (where Houston runs)
Houston runs in six places. All of them share one agent core, so tools, permissions, and skills behave the same everywhere.
- Models
Bring any model with your own key: Anthropic, OpenAI, Google, any OpenAI-compatible endpoint, or a local model runtime.
- Settings and keys
Settings opens as a full page over the window. Back to app (at the top of the sidebar) or Esc returns to the chat.
Working with the agent
- The terminal composer
The interactive terminal's composer is a full line editor, so a message can be as long as it needs to be.
- Slash commands
Type / in the composer for the command menu.
- Typing while it works (steering)
You don't have to wait for a turn to finish before saying the next thing.
- How long a turn runs
A turn has a step budget: 40 by default, where each model reply is one step. Near the end, the agent is told to wrap up.
- How hard the model thinks (/reasoning)
Default: high, since coding and long multi-step work gain the most from deeper thinking.
- Being told when it needs you
A long run can stop on an approval, a question, or a plan, and then it's just waiting.
- Running your own commands (!)
Type ! and a command to run it in your own shell without leaving the session: !git status, !npm test. Output streams as it happens.
- Remembering an instruction (#)
Start a line with # to turn it into a standing instruction:
- Memory across sessions
Houston remembers what a later session should know, so you don't have to explain the same thing twice.
- Side chat (/btw)
The side chat answers a quick question about the open chat without adding anything to it.
Reviewing and undoing changes
- Seeing what the tools did
While a turn runs, each tool result collapses to one line: the transcript is a conversation, not a log.
- What actually ran (the receipt)
A turn that ran checks or changed files ends with a line marked Recorded by Houston under the agent's last message.
- Editing files while it works
You can keep working in your own editor while a turn runs. Your changes are never overwritten by an older copy.
- Undoing a turn, and seeing what changed
When the working tree has changes, the bar above the composer and the Changes panel offer one button that fits the repository:
- Rewinding to an earlier message
Rewind takes a chat back to just before one of your earlier messages.
- Review and multi-step tools
review_changes (or /review) reviews uncommitted changes for correctness, security, and quality.
- Diagrams and visuals in replies
In the desktop app, the agent can answer with pictures as well as text. In the terminal these blocks stay code, with a line pointing at the desktop app.
- Code intelligence (language servers)
When a language server for the project's language is installed, Houston uses it the way an editor would: to check the agent's edits, and to give the agent...
Permissions and safety
- Approval modes and permissions
Approval is layered: a mode for the chat, permission rules that refine it, and guardrails that projects and administrators can add.
- Shell sandbox and network
Shell commands run under the host OS sandbox where one exists, confined to the project folder: writes outside the project are blocked, and network access is...
- Project rules
Houston folds a small hierarchy of rules files into the system prompt on each run, in this order:
Sessions and automation
- Context, worktrees, and history
When a conversation grows too large, Houston keeps it inside the model's context window:
- Spawn separate sessions
A subagent reports back into the current turn. spawn_session instead spins off a separate chat that runs in the background.
- Proposed sessions
When the agent spots parallel work you didn't ask for (a fix noticed in passing, the natural follow-up), it proposes it with propose_session instead of...
- Watching work you sent off (/spawned)
When the agent hands a task to a separate session (see "Spawn separate sessions"), it runs in the background, often on its own branch and worktree.
- Scheduled runs
Ask the agent for a recurring (or one-time) background run, such as "every morning at 9, run the tests and summarize failures", and it stores a schedule...
Extending Houston
- Skills
A skill is a reusable bundle of instructions the agent loads only when a task needs it.
- Custom subagents
A subagent works on a task in its own fresh context and reports back, keeping the main conversation clean.
- Hooks
Hooks (Settings, Hooks) run your own shell commands at set points in the agent loop.
- Plugins
Drop a JS file in .houston/plugins/ to register observational lifecycle hooks for logging, metrics, or notifications:
- MCP servers
Connect Model Context Protocol servers in Settings: a local stdio process, or a remote HTTP (streamable) or SSE endpoint.
- GitHub tools
When the gh CLI is installed and signed in, Houston offers dedicated tools for the GitHub loop.
Reference
- What a session cost (/cost)
/cost breaks the session down by model:
- Checking your setup (/doctor)
/doctor reports what Houston can see, in both the desktop app and the terminal:
- Version and updates
The desktop app updates itself separately.
- Edit, View, and Go menus
The desktop app's menus list what its shortcuts do, with the shortcut beside each item. A shortcut you rebind in Settings shows up in the menus too.
- Help menu
The desktop app's Help menu is last in the menu bar on every platform.
- Sharing Houston
To invite a friend, any of these works:
- License and legal
Houston is open-source software under the Apache License 2.0 (LICENSE in the repository, and a copy inside the packaged app under Resources/).