Set up your agents
Alto tells working, needs-you and done apart with no setup, from what the terminal already sees. Agents can do more once they’re connected. One command connects every agent it finds here (alto install offers it too):
alto agents # how each agent stands: found, hooks, skill, MCP serveralto agents install # connect the agents found here: what's missing or olderalto agents install claude # just one (claude, codex, opencode, pi)alto agents install --dry-run # what it would changealto agents uninstall # take out only Alto's, leaving your other hooks and skillsFor each agent, up to three pieces:
| Claude Code | Codex | OpenCode, Pi | |
|---|---|---|---|
| Hooks: exact state on the tab, and a new conversation told which session it’s in | yes | yes | |
A skill: when to use Alto, and to run alto guide for how |
~/.claude/skills/alto |
~/.agents/skills/alto |
~/.agents/skills/alto |
The MCP server: the session commands as tools (alto mcp) |
yes |
The skill points at alto guide, which prints the guide from the alto installed, so upgrading Alto updates what agents know without setting up again. --project writes the skill into this repository’s .claude and .agents folders instead, to share with others working on it. The hooks do nothing outside Alto, so they’re safe to leave in place.
Codex asks you to trust new hooks. It runs a hook only once you’ve trusted it in Codex’s /hooks, and again after Alto’s change (a newer Alto’s agents install). Until then alto agents shows Codex’s hooks as untrusted, and Alto can’t see Codex’s state: start codex, open /hooks, and trust Alto’s.
Answering from elsewhere (alto answer, the fleet view, the phone) needs the hooks from this build for Claude Code: its hook waits for the answer. Older hooks show as older; alto agents install brings them up to date.
What they give you
Section titled “What they give you”- Exact state on the tab. A yellow dot the moment Claude Code asks permission, with why (“permission: Bash”), and green the moment it finishes.
- Notifications that say who. “claude needs you: permission: Bash”, for a tab that isn’t in front of you.
- Run again resumes the conversation. After a reboot, an agent’s tab starts it again with its own resume (
claude --resume ID,codex resume ID). - Work panes. With the hooks in, an agent hears when you give it a work pane.
- Other sessions and agents. A conversation starting in Alto is told its session’s address, and
alto guideshows it how to reach the other sessions, machines and agents (The guide for agents).
Any other agent
Section titled “Any other agent”An agent or script can report its own state with alto report:
alto report needs-you --why "permission: deploy" --agent mytoolalto report workingalto report doneInside a session, $ALTO_SESSION is set, so report knows which session it’s in. See Agent status.