Skip to content

Preserve Claude session identity across attaches and recovery - #877

Merged
danshapiro merged 20 commits into
mainfrom
feat/freshclaude-recovery
Oct 24, 2026
Merged

danshapiro merged 20 commits into
mainfrom
feat/freshclaude-recovery

Conversation

@danshapiro

@danshapiro danshapiro commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Claude and Kilroy panes now receive their durable UUID and saved launch settings before create succeeds. Attaching another page acknowledges the canonical conversation only to that requester. Sends, attaches and controls share one recovery path, preserving settings, turn ordering and attention across a dead runtime.

Quiet active turns can become stuck, with pending approvals pausing the timer. Recovery stops the exact runtime, waits for its acknowledgement, and resumes the same conversation; hosted runtimes retain the supported fallback. Delayed control responses and replacement runtimes are fenced by their captured ownership identity.

Validation:

  • Normal push hooks at c733ccef6: formatting, workspace Clippy, TypeScript typecheck; 5,264 Rust tests passed across the eight affected crates and dependents, 8 existing ignored. This includes pinned real Claude CLI crash, zero-turn restart and hung MCP recovery cases.
  • Client component/acknowledgement tests: 533 passed.
  • Configured cloud Playwright at clean c733ccef6161: 8/8 passed on their first attempts, covering recovery/control (4), restart/reconnect (2), and attention replay (2). Both shards passed (4 + 4); no skipped specs or empty selectors.

Adapted from f2ad589, preserving create-time native identity in the attach and lease fixtures.
@danshapiro
danshapiro merged commit 38d8218 into main Oct 24, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant