Allow Claude to rename the current session programmatically
Feature request
Currently, session naming is a UI-only action — users can rename a conversation manually, but there is no way for Claude itself to set or update the session title during a conversation.
Use case
In agentic workflows (e.g. a ship-it skill that creates a Jira ticket, a branch, and opens a PR), Claude has all the context needed to produce a meaningful session title — typically the branch name or ticket ID (e.g. GO-1234/add-push-notification). Being able to auto-rename the session at that point would make session history genuinely navigable instead of a list of "New conversation" entries.
Proposed solution
Expose session renaming as either:
- A model-callable tool (e.g.
set_session_title(title: string)) available during a conversation - A slash command Claude can invoke (e.g.
/rename <title>) - A hook side-effect that a
PostToolUsehook can trigger
Current workaround
None — patching the session file in ~/.claude/ directly is undocumented and fragile.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗