Feature Request: Allow descriptive naming for plan files instead of random names
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
When using plan mode (/plan), Claude Code generates plan files with random names like whimsical-frolicking-harbor.md, greedy-petting-lightning.md, etc. in the .claude/plans/ directory.
When working on multiple features across sessions, it becomes very difficult to identify which plan file belongs to which feature/task. Selecting the correct plan file to resume a session requires opening each
file to check its contents.
Example of current state:
.claude/plans/
├── encapsulated-sleeping-marble.md
├── greedy-petting-lightning.md
├── imperative-mapping-moler.md
├── keen-stirring-valiant.md
├── refactored-frolicking-minsky.md
├── scalable-rolling-dongarra.md
└── streamed-prancing-sonnet.md
Proposed Solution
Allow plan files to be named based on the feature or prompt topic. For example:
.claude/plans/
├── billing-page-refactor.md
├── add-invoice-export.md
├── fix-auth-redirect-bug.md
└── sync-config-redesign.md
Naming logic:
- Derive the filename from the user's prompt or the task being planned (3-6 words, kebab-case)
- If a file with the same name already exists, append a timestamp suffix (e.g., billing-page-refactor-1739700000.md)
- Optionally, allow a planNamingStrategy setting in .claude/settings.json with values like "descriptive" (new) or "random" (current default)
Why This Matters
- Discoverability: Quickly find the right plan without opening every file
- Session management: When resuming work, the plan selector shows filenames — descriptive names make selection instant
- Multi-feature workflows: Developers often switch between features; meaningful names reduce context-switching friction
Alternative Solutions
Adding a note in CLAUDE.md to use a descriptive # heading as the first line of every plan file. This helps but doesn't solve the core UX issue in the plan
file selector.
Priority
Critical - Blocking my work
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗