Skip to content

feat: auto-exit CLI on archive and unlock send for disconnected sessions#992

Open
chaehyun2 wants to merge 2 commits intoslopus:mainfrom
chaehyun2:feat/cli-session-improvements
Open

feat: auto-exit CLI on archive and unlock send for disconnected sessions#992
chaehyun2 wants to merge 2 commits intoslopus:mainfrom
chaehyun2:feat/cli-session-improvements

Conversation

@chaehyun2
Copy link
Copy Markdown

Summary

  • Auto-exit CLI when session is archived from web/mobile: Listen for lifecycleState changes (archiveRequested / archived) in metadata updates via the WebSocket session client, and trigger cleanup to gracefully exit the CLI process.
  • Allow sending messages to disconnected sessions: Change blockSend from isDisconnected to false in SessionView.tsx so users can queue messages even when the CLI session is temporarily disconnected.

Test plan

  • Start a CLI session, then archive it from the web or mobile app — verify the CLI exits gracefully
  • Disconnect a CLI session (e.g., kill the daemon), then try sending a message from the app — verify the send input is not blocked
  • Reconnect the session and verify queued messages are delivered

🤖 Generated with Claude Code
via Happy

Chaehyun Lee and others added 2 commits April 5, 2026 13:21
Listen for lifecycleState changes in metadata updates. When
archiveRequested or archived is detected, emit 'archived' event
and trigger cleanup to kill the CLI process.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
Change blockSend from isDisconnected to false so users can queue
messages even when the session is temporarily disconnected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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