[BUG] Auto-mode task dashboard shows identical task list across different projects (not scoped to cwd)
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?
Environment:
- Claude Code CLI version: v2.1.233
- OS: macOS
- Terminal: VS Code integrated terminal
- Auto-update: enabled
- Usage pattern: ~20 separate projects, each opened in its own VS Code window with
claudelaunched in that window's integrated terminal
Describe the bug:
The auto-mode task dashboard in the terminal (the "Working" / "Completed" / "Needs input" sections) displays the exact same task list regardless of which project directory the current claude session is actually running in.
I confirmed this with side-by-side comparisons across two different projects (~/Documents/xyz-pos and ~/Documents/nestfolio):
- The header correctly shows the right project path in each window (e.g.
Sonnet 5 · ~/Documents/xyz-posvsSonnet 5 · ~/Documents/nestfolio). - But the task list underneath — task titles, completion counts (e.g. "155 completed" vs "156 completed"), and even an in-progress entry like "Working: refine issue 276" — was identical in both, even though those tasks only make sense for one specific project.
This rules out a simple mislabeling issue — the header is scoped correctly, but the task list content is not.
What I've already ruled out (not a session storage bug):
~/.claude/projects/<project>/*.jsonlfiles are correctly separated by project on disk (verified vials ~/.claude/projects/).- The
cwdfield inside individual session.jsonlfiles correctly matches their respective project (verified viagrep -o '"cwd":"[^"]*"' <file>.jsonl).
So the underlying session data is stored and scoped correctly — the bug appears isolated to the auto-mode dashboard's rendering/query layer, which seems to pull from a global/shared source instead of filtering by the current project's working directory.
Steps to reproduce:
- Open Project A in one VS Code window, launch
claudein the integrated terminal, and start an auto-mode task. - Open Project B in a separate VS Code window, launch
claudethere too. - Observe that Project B's task dashboard also shows Project A's tasks (identical titles/counts), instead of showing only Project B's tasks.
Expected behavior:
The task list should be scoped to the current project's cwd, consistent with the correctly-scoped header and the correctly-scoped on-disk session storage.
Actual behavior:
The task list is global/shared — it shows the same tasks regardless of which project's claude session is displaying the dashboard.
Impact:
With ~25 active projects open in parallel, this makes the auto-mode dashboard effectively unusable for tracking per-project progress, since every window shows the same (wrong) task list.
Additional context:
I verified this via screenshots comparing the two projects' dashboards side by side, showing correct headers but identical task lists. Not attaching screenshots here since the task titles reference project-specific/private work, but can describe them further if needed.
What Should Happen?
The task list should be scoped to the current project's cwd, consistent with the correctly-scoped header and the correctly-scoped on-disk session storage (~/.claude/projects/<project>/*.jsonl). Each VS Code window's dashboard should only show tasks belonging to that window's project.
Error Messages/Logs
Steps to Reproduce
- Open Project A in one VS Code window, launch
claudein the integrated terminal, and start an auto-mode task (or have any completed/in-progress tasks in that project's history). - Open Project B (a different, unrelated project) in a separate VS Code window, and launch
claudein its integrated terminal. - Trigger the auto-mode task dashboard in Project B's terminal.
- Observe that the dashboard header correctly shows Project B's path (e.g.
Sonnet 5 · ~/Documents/project-b), but the task list below it (task titles, "X completed" counts, and any "Working: ..." entry) matches Project A's tasks instead of Project B's — or is otherwise not scoped to Project B.
Verification that this is a rendering/query bug, not a storage bug:
- Run
ls ~/.claude/projects/— session files are correctly separated per project on disk. - Run
grep -o '"cwd":"[^"]*"' ~/.claude/projects/<project>/<session>.jsonl— thecwdfield inside each session file correctly matches its own project directory.
This confirms the stored session data is correctly scoped per project; the bug is specifically in what the auto-mode dashboard displays, which appears to pull from a global/shared source instead of filtering by the current session's cwd.
Reproduced with:
- Claude Code CLI v2.1.233
- macOS, VS Code integrated terminal
- Auto-update enabled
- ~20 active projects, each in its own VS Code window
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
v2.1.233
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗