Repository navigation
0.10.0
Download
| Platform | File | Requirements |
|---|---|---|
| macOS, Apple Silicon | Houston-0.10.0-arm64.dmg | macOS 13 Ventura or newer. Open the .dmg and drag Houston to Applications. |
| macOS, Intel | Houston-0.10.0-x64.dmg | macOS 13 Ventura or newer. Open the .dmg and drag Houston to Applications. |
| Windows, x64 | Houston-0.10.0-x64-setup.exe | Windows 10 or newer. Per-user install, no admin needed. Not code-signed yet: in the SmartScreen prompt choose More info, then Run anyway. |
| Linux, x64 | Houston-0.10.0-x86_64.AppImage Houston-0.10.0-amd64.deb |
glibc 2.35 or newer (Ubuntu 22.04+). The AppImage shows a banner when a new version is out. The .deb does not check, so download new versions yourself. |
| Terminal CLI: macOS, Windows, Linux | houston-cli.cjs | Node 22 or newer, on x64 or Arm. Run node houston-cli.cjs --help to start. |
To check a download, compare it against SHA256SUMS, which is signed with GPG and cosign. Verifying downloads has the steps.
The other files below are the auto-update feeds, signatures, build provenance and SBOMs. You do not need them to install Houston.
What's changed
Rewind to any message, per-chat model settings, unread chats, language servers, a GitHub Action, and a new Settings.
This release also changes some defaults: each chat now keeps its own model, reasoning and approval mode, full-auto shell commands get allowlisted network from the start, and global rules move to ~/.houston/AGENTS.md.
Breaking changes
- Model, reasoning effort and approval mode now belong to each chat. Changing one in an open chat changes only that chat, and reopening a chat runs it on what it last used. Your saved settings are now the defaults new chats start from; Use for new chats copies a chat's settings to the defaults. (#369, #394, #395, #444, #447, #448)
- Global rules moved to
~/.houston/AGENTS.md. Global#notes saved with "Everywhere" now actually load.~/.claude/CLAUDE.mdis no longer loaded on its own, only when the global file imports it. A one-time banner (a startup line in the terminal) offers to add the import. (#357, #358) - Full-auto shell commands now have network from the first command, through the egress proxy and limited to its allowlist (package registries, code hosts, and the domains under Sandbox egress). When a command reaches a host the allowlist doesn't list, Houston asks whether to allow that host for this chat. With "All domains" egress, shell still starts offline and asks once. (#300, #504)
- GitHub tool approvals are scoped by repository and action. Allowing a read no longer covers merges, reviews or new repositories, so you may be asked again for write actions. In full auto, reads run without asking; writes ask once per repository. (#402, #403)
- Headless runs (
-p) now exit with code 5 when the last--verifycheck still fails, instead of 0. (#472) - Esc Esc on an empty composer now opens the rewind picker instead of putting the last prompt back. (#353)
Required steps
- If you kept global instructions in
~/.claude/CLAUDE.md, choose Import it on the banner, or add@~/.claude/CLAUDE.mdto~/.houston/AGENTS.md. (#357) - If you script headless runs with
--verify, handle the new exit code 5. (#472)
Added
- Rewind from any earlier message: the conversation, the code, or both, with a preview of what changes and an Undo rewind until you send again. Edit and resend reruns from an edited message. Use the Rewind button on a message, Esc Esc, or
/rewind. (#353, #476, #485) - Unread and waiting chats: the sidebar marks chats that finished, failed, or need your input. Collapsed headers, a title-bar "N need you" pill, and the app icon count them, and Mark as unread works from any reply. (#432, #433, #434, #435, #455, #484)
- Language servers: after an edit, the agent sees the compile errors and warnings a language server reports, and it can jump to definitions, find references, and rename symbols across files. (#367, #378, #381, #442, #452, #498, #501)
- A new Settings: a full page with grouped sections, search, and a Permissions page that brings together rules, trusted folders, sandbox egress and the approval mode new chats start in. Changes save as you make them, with Undo. Modified settings are marked, and you can export, import and reset them. Rules can be edited as text, tested against a call, and show when each was last used. Admin and project permission config is shown too. (#411, #412, #413, #414, #415, #416, #417, #418, #419, #441, #456, #466, #469)
- Subagent records: each subagent's steps, report, and setup stream live in the chat and are saved with it. Subagents share the main agent's step budget. (#392)
- GitHub Action: run Houston in your own workflows to answer
@houstonmentions, review pull requests, or fix failed CI runs, with your own model API key. (#370, #446) - Agent Client Protocol:
houston --acplets editors that support ACP agents run Houston as their agent. (#364) - Standalone CLI install channels: npm and bun (
@houston-code/cli), Homebrew, the AUR, and an install script. The update notice names the right upgrade command for how you installed. (#422, #424, #427, #428) - Headless automation flags: allowed and disallowed tools, extra instructions, an output schema, MCP config, and a versioned
--jsonresult for CI. (#368) - One set of slash commands in the desktop app and the terminal. In the desktop app,
/model,/undo,/redo,/changes,/costand others now run instead of being sent to the model. (#344) - Pick a model from a list with
/modelin the terminal. (#355, #389) - Search chats by folder and branch, as well as by what the user and the assistant wrote, with results that stay live. (#483)
- Cancel the update download from the update banner. (#292)
- Close a single dev-server preview pane. (#293)
- GFM task lists render as checkboxes. (#325, #451)
- View, Go and Help menu items for the app's panels and shortcuts. (#488)
- A status-bar chip brings back a minimized terminal. (#464)
gh_run_viewsays where a CI run stands now. (#401)- The product guide is published at houstoncode.ai/docs. (#437)
Fixed
- Never lose a message typed during a run, including while the agent waits on a question or approval, during retries, or when the run stops. (#393)
- The desktop app reopens the chat that was open when it quit. (#505)
- New chat no longer opens a folder picker when no project is set, and the project folder picker opens next to your last project. (#477, #503)
- Refuse to edit a file that isn't UTF-8 instead of corrupting it. (#310)
- Honor
.gitignoreand never hide tracked files in file search. (#340) - Stream large text files instead of loading them whole;
read_fileon a folder returns its listing. (#405, #407) - Refuse
notebook_editon a notebook changed since it was read. (#342) - Accept the "*** End of File" line in patches. (#341)
- Recover when the session's working folder was deleted, and warn when the shell is in another checkout of the same repository. (#314, #384)
- Flag unrelated or stale chat history and keep the agent in its worktree. (#382)
- Tell the model when Plan mode switches on or off. (#408)
- Stop retrying an exhausted OpenAI quota. (#335)
- Don't report a review as clean when some reviewers failed. (#453)
- Say a denied call was denied, in plain terms, in both clients. (#454, #474)
- A fork's spend starts at zero, so usage totals don't count it twice. (#475)
- Settings, credentials and schedules saved by another Houston process (the desktop app or the terminal) are picked up instead of overwritten. (#327, #343, #457)
- Saving a
#note locks the rules file, keeps a symlinkedAGENTS.mdintact, and works around Windows busy-file errors. (#359, #404, #406, #445) - Keep a worktree another chat still uses when deleting a chat. (#322)
- Share one checkpoint between snapshots started together. (#351)
- Approval prompts no longer race their answer, and show the full change for large files, notebooks and moves. (#312, #376)
- MCP: negotiate the protocol version, read a stdio server's stderr so it can't deadlock, reconnect a dropped notification stream, clear the SSE handshake timer, and open OAuth sign-in on Windows without
cmd.exe. (#309, #317, #338, #339, #349) view_localhostcancels file pickers and dismisses page dialogs that would otherwise hang a step. (#397, #398)- A macOS sandbox write denial is reported as a denied write. (#400)
- The update notice keeps the last known update through a failed check. (#429)
- Every unfinished run is logged and unanswered turns are recorded. (#409)
- Strip markdown links from generated chat titles. (#336)
- The transcript stays at the latest message when you send, switch chats, or a bar opens below it. (#449)
- The command palette and find bar get your first keystrokes, and the find bar refocuses on ⌘F. (#465, #479)
- Mermaid diagrams show at their natural size, and very wide ones scroll sideways. (#387, #390)
- Keyboard and screen reader fixes: focus stays in Connect a model, the composer's + menu works from the keyboard, the message field and its menus are named, and the sidebar's ⋯ menus have proper roles. (#318, #330, #460, #462)
- Code highlighting and the titlebar badge meet AA contrast. (#311)
- Terminal: blank lines between markdown blocks, grapheme-aware wrapping, approval choices shown once, retries kept to one line, costs and tool names matching the desktop app, the real themes in
/help, and/helpwrapping. (#345, #346, #347, #348, #350, #352, #354, #361, #471) - Many layout fixes: the control bar, dropdown sizes, long branch names, chat titles, side-panel empty states, slash-command fonts, attachment notices, and the message-box hint. (#294, #295, #296, #299, #315, #321, #326, #362, #363, #450, #459, #463, #467, #470, #480, #481, #482, #502)
- The Files panel leaves out
.git. (#461) - The command palette lists only models you can use, under the picker's names, and the picker no longer shows prices. (#291, #458)
- The update banner stays dismissed while the download runs. (#290)
Changed
- Safer git: Houston's own git runs no repository-defined hooks, filters or signing, and a shell command that plants git hooks or settings for your own git is caught. The side chat's reads follow your permission rules. (#313, #316, #319, #473)
- Situational built-in tools load on demand, cutting per-request overhead by about 45%. (#356)
- Credentials are stored with the async secure-storage API. (#305)
- Built on Electron 45 (Chromium 156), which fixes many Chromium security issues. (#302)
- Packages ship only the target platform's terminal binaries. (#430)