Is this a reproducible bug?
Current behavior
Since updating to 0.9.0, every server restart marks all restored Claude Code
panes as "done" (green) in the sidebar, and every space containing one rolls up
to green as well. None of these agents did any work: they were idle at the prompt
when the server stopped and are idle at the prompt after the resume.
Right after the restart, herdr agent list reports "agent_status":"idle" for
each of them, and herdr agent explain <pane> matches rule live_prompt_box with
evidence "❯". Only the sidebar considers them done. Focusing each pane once
clears the mark. On 0.8.2 the same restart brought the panes back as plain idle.
This matches the explanation in #3912 that TUI clients track viewed completions
independently of the server, and looks like the same Unknown → Idle completion
transition described in #3916 — here triggered by session restore
(resume_agents_on_restore) instead of Pi's /new, and hitting every resumed
Claude pane at once.
This is not #1647: the panes do resume into their conversations correctly;
only the state shown after the resume is wrong.
Expected behavior
A pane that is resumed into an idle prompt should come back as idle. "Done"
should only appear when an agent finishes a turn that I have not viewed yet.
Reproduction
- Start two or more Claude Code panes with the official integration, send a
prompt to each, wait for the turns to finish.
- Focus each pane once so no done mark remains (sidebar shows idle everywhere).
herdr server stop && herdr.
- Sidebar: every Claude pane and its space is green ("done").
herdr agent list shows "agent_status":"idle" for each.
Impact
The green mark is the main signal for "which agent is ready to review". After
every restart it is meaningless until I have clicked through each agent once,
and an agent that really did finish is indistinguishable from the rest.
Environment
- Herdr version: 0.9.0
- Update channel (stable or preview): stable
- Operating system: Fedora 44, Hyprland (Wayland)
- Terminal: Ghostty 1.3.1
- Shell, if relevant: bash
- Relevant config, if any:
[theme] name = "terminal"
[ui] agent_panel_sort = "spaces", show_agent_labels_on_pane_borders = true
[ui.toast] delivery = "system"
Agents: Claude Code with the official integration (agent_session source herdr:claude)
Is this a reproducible bug?
Current behavior
Since updating to 0.9.0, every server restart marks all restored Claude Code
panes as "done" (green) in the sidebar, and every space containing one rolls up
to green as well. None of these agents did any work: they were idle at the prompt
when the server stopped and are idle at the prompt after the resume.
Right after the restart,
herdr agent listreports "agent_status":"idle" foreach of them, and
herdr agent explain <pane>matches rule live_prompt_box withevidence "❯". Only the sidebar considers them done. Focusing each pane once
clears the mark. On 0.8.2 the same restart brought the panes back as plain idle.
This matches the explanation in #3912 that TUI clients track viewed completions
independently of the server, and looks like the same Unknown → Idle completion
transition described in #3916 — here triggered by session restore
(resume_agents_on_restore) instead of Pi's /new, and hitting every resumed
Claude pane at once.
This is not #1647: the panes do resume into their conversations correctly;
only the state shown after the resume is wrong.
Expected behavior
A pane that is resumed into an idle prompt should come back as idle. "Done"
should only appear when an agent finishes a turn that I have not viewed yet.
Reproduction
prompt to each, wait for the turns to finish.
herdr server stop && herdr.herdr agent listshows "agent_status":"idle" for each.Impact
The green mark is the main signal for "which agent is ready to review". After
every restart it is meaningless until I have clicked through each agent once,
and an agent that really did finish is indistinguishable from the rest.
Environment
[theme] name = "terminal"
[ui] agent_panel_sort = "spaces", show_agent_labels_on_pane_borders = true
[ui.toast] delivery = "system"
Agents: Claude Code with the official integration (agent_session source herdr:claude)