[BUG] Cowork: Responses not rendered when switching between parallel sessions (macOS)
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When running multiple parallel Cowork sessions on macOS, responses stop rendering in the UI when switching between sessions.
Symptoms:
- Send a message in Session A, loading indicator appears
- Switch to Session B (or briefly to another app)
- Return to Session A: loading indicator stays indefinitely, no response visible
- No indication of any activity or progress
- After restarting the app: the response was generated and is present in the session
Key details:
- Affects both fresh and existing sessions
- Happens consistently when switching between parallel Cowork sessions
- Also occurs when briefly switching to another app and back
- The app is NOT closed or backgrounded for extended periods
- No vm_bundles bloat detected (~/Library/Application Support/Claude/ only contains small cache files)
- Multiple parallel Cowork sessions are a core part of my workflow
Reproduction steps:
- Open 2+ Cowork sessions in parallel
- Send a message in Session A
- While Session A is processing, switch to Session B
- Switch back to Session A
- Loading indicator is stuck, response never appears
- Restart the app -> response is there
What Should Happen?
Responses should render in the UI as soon as they are generated, regardless of whether the session was in the foreground during generation. Switching between parallel Cowork sessions should not break the UI rendering pipeline.
Error Messages/Logs
No error messages. The session simply stops rendering the response in the UI. The loading indicator stays indefinitely. No crash, no error dialog, no console output visible to the user.
Steps to Reproduce
- Open Claude Desktop (macOS, latest version)
- Start 2 or more Cowork sessions in parallel
- In Session A, send a message that requires a longer response
- While Session A is processing, switch to Session B (click on it in the sidebar)
- Wait a few seconds, then switch back to Session A
- Observe: loading indicator stays indefinitely, no response is rendered
- Quit the app (Cmd+Q) and reopen it
- Observe: the response was generated and is now visible in Session A
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.87
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
This is specifically about the Claude Desktop app's Cowork mode, not Claude Code CLI. The issue makes parallel Cowork sessions effectively unusable, as you constantly have to restart the app to see responses. The response IS generated server-side (confirmed after restart), so this appears to be a UI/WebSocket rendering issue where the client loses sync with the backend when the session is not in the active viewport.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗