Agents & Status

Verne tells you what every agent is doing without making you read each terminal. This page explains how.

Detection

When you launch a command in a terminal, Verne’s daemon reads the output and matches it against per-agent rules to identify the agent. The supported agents (Claude Code, Codex, OpenCode, Gemini, and more) are detected for you. An unrecognized command still shows its foreground process; it just won’t carry agent-specific status.

Status states

Each running agent reports one of four states, shown as a status icon on its tab and in the Agents panel:

Icon State Meaning
Working The agent is processing.
Blocked The agent is waiting for your input or a permission decision.
Done The agent has finished.
Idle The agent is running but not doing anything.

Amber Blocked is the one to watch. It means an agent needs you before it can continue.

How status is determined

Verne uses the most precise signal each agent offers:

  • Lifecycle hooks. For agents that support them, including Claude Code and Codex, Verne installs a notify script into the agent’s config that reports exact events: prompt submitted, tool about to run, tool finished, stopped, and permission requested. Verne installs and removes these for you.
  • In-process plugins. Agents without a hook API, such as OpenCode and Pi, get a small plugin that Verne writes for them, bridging the same lifecycle events.
  • Terminal monitoring. As a baseline, and for agents with no integration, Verne reads state from terminal output.

See Hooks & MCP setup to manage these integrations.

The Agents panel

The Agents panel on the left lists every agent across your open workspaces, each with its status dot. From here you can:

  • Click an entry to jump to that agent’s tab.
  • Scope the list to the current workspace or show all of them (View › Agents, or the toggle in the panel header).
  • Reorder entries by dragging, and close a tab from its right-click menu.

When an agent finishes while you’re looking elsewhere, Verne flags its entry as needing acknowledgement, so a completed run never slips by. Pair this with notifications to be alerted even when Verne isn’t focused.

Next steps