Feature Request: Allow descriptive naming for plan files instead of random names

Resolved 💬 6 comments Opened Feb 16, 2026 by akashkumardhan Closed Apr 29, 2026

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_

View original on GitHub ↗

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