Repository navigation
Replies: 4 comments 3 replies
|
+1, and the same applies to GitHub Copilot CLI. When Copilot starts background |
|
+1, with an automation use case for the flag. We run a router that starts Claude Code sessions in Herdr and caps how many may wait on the user at once. For now we read |
|
+1. I hit this every day with Claude Code, in both the Herdr desktop app (herdr-core) and Herdr 0.9.5. When a turn ends while its own I wanted to know whether a separate state holds up in practice, so I tried it in my forks. This is a prototype for discussion, not a PR. Where the signal is
What I tried
Open questions (your call)
I know unsolicited PRs are closed, so I'm not opening any. If any part is wanted, the branches are based on today's master and tested: herdr has 4,132 tests passing with fmt and clippy clean; herdr-core's full suite and clippy pass; herdr-app has 244 tests passing.
Related: #1217, #3525, #5004, #5007, #3414, #4735, #4329, #4511, #2354, herdr-core#42. |
|
Separating those states makes sense, but I wonder whether readiness should be informational rather than a delivery guarantee. Background work could resume between checking the state and sending a message. I’d lean toward having the delivery operation accept, queue or reject the message based on the state at that moment. Is there a reason the router should make that decision instead? |

Uh oh!
There was an error while loading. Please reload this page.
I run Claude Code, Codex and Antigravity side by side in Herdr and use the sidebar's state ball as my attention queue. The ball often says a pane needs me when the agent is actually waiting on its own background work: subagents (#5004, #2354) and background shells. The agent resumes the turn by itself when that work reports back, so nothing is needed from me.
From #5004 and #4735 I understand why Herdr reads those panes as idle: the agent is at its prompt and takes input, and automation that waits for idle depends on that. Both readings are right for different consumers. "Can I send a prompt?" and "Does this agent need my attention?" are different questions, and one state answers only one of them.
Idea: a separate signal for "at prompt, background work pending". It could be a state or a flag next to idle. Automation can keep treating it as idle, and the sidebar can show it as busy instead of done. It would also let the sidebar handle the dev-server case from #4735 differently from a subagent the turn is waiting on, if the screen can tell them apart.
A longer-term note: all of this is inferred from the screen, and it breaks each time an agent CLI changes its footer (2.1.28x showed
↓ to manage, 2.1.299 doesn't). A real fix would be for the agent CLIs to expose their state through an API: working, waiting on background work, waiting for permission or an answer, done. Herdr could then read state instead of scraping it. There's already a start: #5004 notes thatclaude agents --jsonreports the session as busy while the screen reads idle. If Herdr asked the CLI vendors for one shared signal, the request would carry more weight coming from Herdr than from individual users. Is there interest in that direction?All reactions