Agents and attention
Ten agents at work. One needs you.
Every pane shows what its agent is doing, the sidebar says why one waits, and one key takes you there. Your agents can hand work to each other, and you see the whole team.
Every pane says what it's doing.
A pane is working, waiting on you, done or failed, shown by a mark on its header, tab and sidebar row. A waiting pane says what for when its program said: wants permission, asks a question or needs you to sign in. The state is right even when no window is open.
States and attentionSet up every agent in one step.
With no setup, insensical reads what an agent already prints. One step goes further for Claude Code, Codex, Gemini CLI, opencode, pi, Cursor CLI, Copilot CLI and Hermes: hooks that report its exact state and, where the agent allows, a skill that points it to isc guide and a note at each session's start. The window shows each file that changes and adds nothing without your Enter. isc integrate does the same in a shell.
Then ask in your own words: “run the tests beside you and fix what fails.”
Setting up agentsWhat needs you, then what finished, in one list.
Press the button with the pulse line and the sidebar lists only agents and panes with something to say. In each project, the ones that need you come first, then those at work, then those that finished. The arrow keys walk the list, and a row doesn't flicker when an agent pauses.
Showing only activityAgents that hand work to agents, as one team.
Ask Claude Code to have Codex review the diff, and it runs isc agent start codex "Review the diff". Codex opens in a tab of its own, where you can watch it and take over. The starter waits with isc agent wait and gets Codex's whole reply from its hooks, not its screen. tell sends it more, and answer answers its question only when you've allowed it.
In the sidebar each agent's team sits under it, and Activity says whose each one is: waiting · from Claude. An agent keeps at most eight open and two levels deep, so a mistake can't run away.
Agents that start other agentsIt reads the lines it needs, not the whole screen.
The guide teaches an agent to spend few tokens. isc history gives the commands run in a pane and how each ended. isc capture --last gives one command's output, --grep only the lines that match, and --since only what's new, so nothing is read twice. isc ask types a line and prints only its answer.
Keep agents out of the pane that matters.
For a production database or a secret, choose Keep agents out of this pane in the palette, or run isc protect. A program in another pane can't read it or type into it, and is told why. You use it as always, and it stays on after a restart.
Told once, not a hundred times.
Panes that wait, fail or finish together make one notification, which says how many. A finish is told only after 15 seconds, so an agent that pauses and carries on says nothing. You get a notice in the window while it's in front, and a desktop notification when it isn't.
The page in a browser tells your phone by the same rules.
NotificationsA blocked agent glows, and one key goes there.
When an agent asks for permission, its pane takes the waiting colour, and the header says what it wants and how long it has waited. Ctrl Shift A goes to the pane that needs you most, and restores it if it was minimized. Press it again to step through the others: first the panes that need you, then the ones that finished.
Going to the pane that needs youWho needs you, in 34 seconds.
The four marks and the key that goes there, with every key on screen as it's pressed. Linux keys, with the Mac's in the corner.
It has sound. In the docs: Everything about states