How to tell which agent session is waiting for you

It depends on whether the CLI says so itself. Scraping the terminal works until the output changes shape, which it does.

Table of contents

Which CLIs can say it

MulmoTerminal hosts seven agents through one mechanism, so the differences line up.

CLI Says “finished” Says “waiting on you”
Claude Code yes yes
Codex yes yes
GitHub Copilot yes no
Cursor yes no
Antigravity not wired not wired
Grok not wired not wired
Muse not wired not wired

Four can announce a finished turn. Two can announce being blocked.

The ones that look like it and are not

GitHub Copilot’s permissionRequest and Cursor’s beforeShellExecution read like blocked-on-input signals.

Measured, both fire on every tool call, whether or not anyone was asked. Mapped straight to a waiting indicator, every tool call would light up as needing you — worse than showing nothing, because an indicator that is always on is one people stop looking at.

How the two that can do it work

Claude Code has a Notification hook that fires when input is needed.

Codex takes it from two places: turn boundaries from the rollout file it appends to, and blocked from the PermissionRequest hook. Declining the hook costs only the blocked signal, never the working one.

Wiring it yourself

Put a hook in Claude Code’s settings and pass one to Codex at launch. On the receiving side, record which session called and make a sound.

Sound alone stops scaling. With nine sessions running, a chime does not say which one rang. Something has to tie the session to a place on screen.

npx mulmoterminal@latest

MulmoTerminal uses the cell’s colour, and gives each cell its own git worktree so parallel work does not collide.


日本語版: which-is-waiting


This site uses Just the Docs, a documentation theme for Jekyll.