What
Claude Code names each session automatically by asking the model for a title. That process was reworked:
- The request (now
requestSessionTitle, replacinggenerateSessionTitle) returns one of three results: titled, with the title; unusable; or failed. Before, it returned a title or nothing. - An API error now raises 'Session title request failed with an API error'. The log line changed from
generateSessionTitle failedtorequestSessionTitle failed. - A fallback title is kept per session for a limited number of unusable replies and merged with the result.
- Turns that continue automatically are handled, and titling is skipped when a new check passes.
- Whether the content is a slash command is now decided from the commands that dispatch slash commands, instead of a known-command check.
- The
generate_session_titlecontrol request waits for a pending title for the same session instead of starting a second one. - A pending title request that is withdrawn is cancelled.
- On resume or rewind, the fallback and the pending request are cleared, and after a rewind with a request in flight a title may be generated again.
Why
Session titles should appear more reliably, duplicate title requests are avoided, and a resumed or rewound session no longer keeps an out-of-date title.