Skip to content

Resumed sessions create duplicate entries and forked tmux processes #224

@jfentress1126

Description

@jfentress1126

Resumed sessions create duplicate entries and forked tmux processes

Environment

  • Agent Deck: v0.19.9
  • Claude Code: v2.1.50
  • OS: macOS (Darwin 25.3.0)

Description

When resuming a Claude Code session (claude --resume <id>), the SessionStart hook fires and registers a new session entry in agent-deck instead of recognizing it as a continuation of the existing session. This results in:

  1. Duplicate entries in the SESSIONS panel — e.g., both r-10fcdf97-72449 and resume-10fcdf97 appear, both pointing to the same Claude conversation ID (10fcdf97-3a7c-430d-a0f9-65a249874ab7).

  2. Two independent tmux processes — each running its own claude --resume against the same conversation. They share history up to the fork point but diverge afterward. They do not mirror each other.

  3. Stale session accumulation — repeated resume cycles pile up entries (observed 7 stale entries from a single conversation).

Steps to Reproduce

  1. Launch a Claude session via agent-deck
  2. Detach or exit the session
  3. Resume the session (claude --resume <session-id> or via agent-deck)
  4. Observe two entries in the SESSIONS panel for the same conversation ID
  5. Both tmux panes are live but independent — typing in one does not appear in the other

Expected Behavior

Resuming a session should either:

  • Reattach to the existing tmux session/entry rather than creating a new one, OR
  • Replace the old entry with the resumed one, OR
  • Deduplicate on claude-session-id so only one entry per conversation exists

Actual Behavior

SessionStart hook runs agent-deck hook-handler which creates a brand new session entry every time, with no dedup check against existing sessions sharing the same Claude conversation ID.

Workaround

Manually remove stale entries after resume:

agent-deck rm <stale-session-id>

Screenshot

Two sessions for the same conversation ID, diverged context:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions