The agent shell.
Every agent in Houston renders the same five tabs. The shape is fixed on purpose, so users learn one layout and reuse it across every agent they install.
The five tabs
From left to right:
- Activity. A kanban board of conversations. Each card is one mission. Clicking a card opens the chat. This is the default tab when an agent opens.
- Routines. Scheduled jobs the agent runs on its own, like "every Monday at 8am, summarize last week's inbox." Houston runs the schedule, the agent runs the work.
- Files. Browse anything the agent has read or written inside its working directory. Drafts, notes, structured data, exports.
-
Job Description. The agent's
CLAUDE.md. This is what the agent reads at the start of every conversation to know who it is and how to behave. Edit it whenever the agent's role changes. - Integrations. Connect Gmail, Calendar, Slack, Notion, and the rest. Houston supports 1000+ tools through Composio. Connections are workspace-wide, so every agent in the workspace sees the same accounts.
Why the layout is fixed
Earlier versions of Houston let every agent declare its own
tab list in houston.json, and an experimental
path let agents ship a bundle.js with custom
React components for their own tabs. In practice nobody used
the custom-component path, and the per-agent tab list mostly
caused drift, where an old installed agent kept showing tabs
a new version of the agent no longer declared.
The fixed shell is simpler for users (one layout to learn) and
simpler for agent authors (you write a manifest and a
CLAUDE.md, nothing else). The list of tabs lives
in app/src/agents/standard-tabs.ts if you want to
read it in code.
Two ways to reach Integrations
The per-agent Integrations tab and the sidebar Connections entry render the same surface. The two entry points exist because users reach for them at different moments: from inside an agent (the tab), or when setting Houston up as a whole (the sidebar). Connections are workspace-wide either way.