[FEATURE] Project-Specific Todo Storage
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
Claude Code currently stores todo files in ~/.claude/todos/ with UUID-based filenames, which provide no project context. With 590+ todo files accumulating across all projects, It's impossible to:
- Know which todos belong to which project
- Filter todos by current project in commands like /wip-status
- Clean up old project todos without losing active ones
- Review what was planned for a specific project
Files like 4a03116f-3bc7-4b7c-bb40-f91984a21749-agent-4a03116f-3bc7-4b7c-bb40-f91984a21749.json give no indication of what project they're for, making the TodoWrite tool nearly useless for developers working on multiple projects.
Proposed Solution
Store todos with project association by either:
- Project-specific subdirectories: ~/.claude/todos/{project-path-hash}/todo-{uuid}.json
- Project name in filename: {project-name}-{uuid}.json
- Project metadata in JSON:
{
"project": "/home/user/Projects/my-app",
"projectName": "my-app",
"todos": [...]
}
Alternative Solutions
Currently, I use my own script to manage it. Integrating this feature directly into the system would be very helpful, as I believe it would be quite useful.
Priority
Critical - Blocking my work
Feature Category
Other
Use Case Example
Use Case Example
- I'm working on 3 different projects throughout the week
- I use TodoWrite to track tasks in each project
- When I return to Project A after 2 days, I run /wip-status
- Currently: Shows nothing useful from persistent storage
- With this feature, it Shows my Project A todos immediately
Additional Context
Current workaround is to never rely on persistent todo storage and recreate task lists each session, defeating the purpose of the TodoWrite tool entirely.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗