Allow manual renaming of Claude Code sessions
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
Body:
Feature Request: Manual Session Renaming
Current behavior:
Session names are auto-generated based on conversation content and shown in macOS notifications/alerts.
Problem:
When running multiple sessions, macOS alerts show auto-generated names that are hard to associate with the actual task, making it difficult to know which session the notification belongs to.
Requested behavior:
Allow users to manually rename sessions so notifications and tab labels are meaningful and easy to identify.
Proposed Solution
Here's a proposed solution:
Inline rename on the session tab
- Double-click (or right-click → "Rename") the session tab name to make it editable in place
- Press Enter to confirm, Esc to cancel
- The custom name persists across restarts and replaces the auto-generated one everywhere it appears — tab, macOS alerts, session list
Why this approach:
- Familiar UX pattern (browser tabs, Finder, iTerm2 all do this)
- Non-destructive — only overrides display name, not the underlying session ID
- No new UI surface needed; the tab itself is the entry point
Nice-to-haves (lower priority):
- If no custom name is set, fall back to auto-generated (current behavior unchanged)
- Show a small pencil icon on hover to make the rename affordance discoverable
This would be a frontend-only change scoped to the session tab component — no backend or API changes needed.
Alternative Solutions
/rename My SRE Interview Prep
- Renames the current session instantly from the chat input
- No UI changes needed — purely CLI-native, fits Claude Code's keyboard-driven workflow
- Name propagates to macOS notifications and session list immediately
Why this is actually better for Claude Code specifically:
- Users are already in the input box — no mouse needed
- Consistent with existing slash commands (/clear, /help, etc.)
- Simpler to implement — just a command handler + name storage, no tab component changes
- Works the same in terminal mode and desktop app
Tradeoff: Less discoverable than double-clicking a tab, but Claude Code users are already command-oriented so that's acceptable.
Priority
Low - Nice to have
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_