Appearance
Setup
Otty doesn't run agents for you — you keep using Claude Code, Codex, or OpenCode exactly as you do today. The one-time setup here teaches each agent to report its state back to Otty, so the window can show live badges, fire notifications, resume sessions, and surface history. It's a single click per agent.
Install Code Agent Integration
Open Settings (⌘,) and select the Agents tab in the sidebar.
Each agent has its own card. For every agent you actually use, click Install in its card. The button flips to Installed and a green ✓ Installed appears under Status.

What each install writes — and nothing else in those files is touched:
| Agent | Button | Writes to |
|---|---|---|
| Claude Code | Install Hooks | ~/.claude/settings.json |
| Codex | Install Hooks | ~/.codex/hooks.json |
| OpenCode | Install Plugin | ~/.config/opencode/plugins/ |
Restart the agent once
The integration connects only after the agent starts with the new config. If an agent was already running in a tab, restart it. For OpenCode, send one message so the plugin reports the session. For Codex, if you recently updated Otty or Codex, approve the trust prompt when it restarts.
You can click Uninstall in the same card at any time — it cleanly removes Otty's entries and leaves the rest of the file untouched.
What the integration does
Once at least one agent's hooks are installed, the Agent Behavior section at the top of the Agents tab comes alive. (The toggles are greyed out until then — there's nothing for them to act on.)
| Setting | Default | What it does |
|---|---|---|
| Badge While Processing | On | Marks the tab while the agent is working on a task. |
| Badge When Task Completes | On | Marks the tab when the agent finishes. |
| Badge When Awaiting Input | On | Marks the tab when the agent is waiting for approval or input. |
| Notify When Task Completes | On | Sends a system notification on completion. |
| Notify When Awaiting Input | On | Sends a system notification when the agent needs you. |
| Prevent Sleep While Processing | Off | Keeps macOS awake while a task is running. |
| Resume Session on Recovery | On | Reopens the agent session when a recovered terminal comes back. |
These state signals are what power the rest of the agent experience: the tab badges and dashboard in Monitor Tasks, the live transcript and Resume in History, and the branch / fork actions for spinning a new task off an existing context.
See also
- Composer — the input affordance for agent sessions.
- History — search and resume past sessions.
- Monitor Tasks — running multiple agents at once.