Feature: Persistent todos by project path (not session UUID)
Resolved 💬 3 comments Opened Jan 4, 2026 by jdxbla Closed Jan 8, 2026
Feature Request
Problem:
Todos are currently tied to session UUIDs. Each new session gets a fresh empty todo list, even when working on the same project. Previous todos are orphaned in ~/.claude/todos/<session-uuid>.json.
Current behavior:
~/.claude/todos/
├── 43c00cc4-...-agent-43c00cc4-....json # Session 1 todos (orphaned)
├── 8ed9b41d-...-agent-8ed9b41d-....json # Session 2 todos (orphaned)
└── abc123-...-agent-abc123-....json # Current session (active)
When I resume a session, todos load. But starting a new session in the same project = blank slate.
Proposed behavior:
Todos persist by project path (working directory), not session UUID:
~/.claude/todos/
├── c--Codebase-qntcartel.json # All todos for this project
├── c--Users-James.json # All todos for this path
└── ...
Or allow loading previous todos:
/load-todos # Load most recent todos for this project path
/load-todos <session> # Load todos from a specific session
Why this matters:
- Multi-session projects lose continuity
- "Pending" todos from previous sessions are forgotten
- Users have to manually track what was left undone
- The data exists but isn't surfaced
Use case:
Day 1: Start project, create todos, complete some, leave others pending Day 2: Resume work in same project directory Expected: See my pending todos from Day 1 Actual: Empty todo list, previous todos orphaned in a UUID-named file
This would make todos actually useful for project management instead of just session tracking.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗