Two parallel sessions with distinct UUIDs and labels silently routed input to a single PID
Summary
When running two parallel Claude Code sessions in separate VS Code windows (same vscode session) —
each with its own session UUID and its own FleetView label — input from both
windows can silently collapse into a single session, even though the UI
displays them as independent.
Evidence
The session-name mapping in ~/.claude/sessions/<pid>.json was correct
throughout — both PIDs had distinct name fields and distinct sessionId
values, mapped to two separate JSONL files in ~/.claude/projects/<cwd>/.
Two parallel sessions were running cleanly with input properly distributed
between the two JSONL files. After restarting both sessions, the input
routing collapsed — only one of the two JSONL files received user-message
activity. The other JSONL only received messages typed after the user
noticed the issue and started debugging.
Suspected mechanism
Both VS Code windows appear to have been attached to the same underlying
Claude Code process despite the UI showing two distinct labeled sessions.
The two sessions/<pid>.json files were both present and updated correctly,
so the metadata layer was honest, but only one PID actually received stdin.
Reproducibility
The same two-session setup had been working cleanly until a restart. Specific
trigger unknown.
Suggested investigation / fixes
- Surface the attached Claude Code PID per VS Code window so users can verify
isolation at a glance
- Detect when two FleetView-labeled "sessions" share an underlying PID and
warn the user
- Document the input-routing model when multiple VS Code windows are open
Environment
- Claude Code version: 2.1.144
- OS: macOS 26 (Darwin 25.5.0)
- Editor: VS Code with Claude Code extension
- Two sessions in the same cwd
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗