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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗