[FEATURE] Programmatic control over session titles (disable / instruct / post-edit the auto-titler)
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
My team prefixes Jira ticket IDs (e.g. "[XYZ-1234]") on every session so they
cross-reference cleanly with PRs, commits, and tickets. We start each session
by pasting the ticket as the first line of the first prompt.
I tried enforcing this with a UserPromptSubmit hook emitting
hookSpecificOutput.sessionTitle. Behavior I observed (Claude Code 2.1.144,
VS Code extension):
- The hook writes a {"type":"custom-title", ...} entry to the session JSONL
that is byte-identical to what a manual UI rename writes.
- However, file-writes alone don't refresh the live UI title. Manual rename
appears to issue an internal IPC signal in addition to writing the file;
hook output doesn't trigger that signal, so the title doesn't update live.
- The auto-titler also writes a new "ai-title" entry after every assistant
turn, so even the session-history dropdown view (which re-reads JSONL on
open) usually shows the auto-titler's last entry — not our custom-title.
- There is no documented settings.json knob, hook event, MCP affordance, or
CLI command to disable, instruct, or post-edit the auto-titler.
Proposed Solution
- A settings.json flag to disable the auto-titler entirely
(e.g. autoTitlerEnabled: false).
- A
sessionTitlePrefixrule in settings — regex matched against the first
prompt, prepended to whatever the auto-titler produces.
- A documented programmatic rename API / CLI / IPC equivalent to the UI
rename (so a hook script could issue a real rename instead of just writing
the JSONL).
- A new hook event that fires AFTER the auto-titler runs and supports
hookSpecificOutput.sessionTitle, so we can re-assert the prefix.
Option 1 or 4 would be the cleanest fix. Happy to test a preview build.
Alternative Solutions
_No response_
Priority
Medium - Would be very helpful
Feature Category
API and model interactions
Use Case Example
_No response_
Additional Context
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗