Skip to content

Session restore marks every resumed Claude pane "done" (same transition as #3916) #3990

Description

@KBoyl

Is this a reproducible bug?

  • I confirm this is a reproducible bug, not a feature request, idea, question, contribution proposal, or direction check.
  • I reproduced this bug on the version and environment reported below using the exact steps provided.

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

  1. Start two or more Claude Code panes with the official integration, send a
    prompt to each, wait for the turns to finish.
  2. Focus each pane once so no done mark remains (sidebar shows idle everywhere).
  3. herdr server stop && herdr.
  4. Sidebar: every Claude pane and its space is green ("done").
  5. 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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-detectionagent recognition or working, blocked, idle, and lifecycle classificationbugSomething isn't workinglinuxaffects Linux-specific behaviormaintainer-neededrequires maintainer judgment or maintainer-only reproductionp2valid narrow or ordinary defect with limited impact or a practical workaroundsessionsworkspace, tab, or pane lifecycle, restore, and persistenceuiHerdr TUI controls, navigation, settings, or presentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions