[FEATURE] Programmatic control over session titles (disable / instruct / post-edit the auto-titler)

Resolved 💬 2 comments Opened May 19, 2026 by dsamarin-margins Closed May 19, 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

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

  1. A settings.json flag to disable the auto-titler entirely

(e.g. autoTitlerEnabled: false).

  1. A sessionTitlePrefix rule in settings — regex matched against the first

prompt, prepended to whatever the auto-titler produces.

  1. 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).

  1. 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_

View original on GitHub ↗

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