{"version":"2.1.309","anchor":"session-auto-naming-helper-and-name-source-check","canonical_anchor":"session-auto-naming-helper-and-name-source-check","heading":"Session names: automatic names tracked separately and name clashes handled","tier":"notice","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/session-auto-naming-helper-and-name-source-check","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Session names: automatic names tracked separately and name clashes handled\n\nAutomatic session names are now marked as automatic, a name given at launch can be kept, and auto names no longer overwrite a name that changed\n\n**Unclear.** It is not clear when Claude Code gives a session an automatic name.\n\n**What**\n\nA session is one Claude Code conversation, and each can have a name. Several parts of how those names are set have changed:\n\n- Automatic names are now started with the source \"auto\", so Claude Code knows a name was generated rather than chosen. This is skipped when the session was started with an SDK URL (`sdkUrl`).\n\n- The check on the current session name now also requires that its source is not \"auto\".\n\n- A name given when the session is launched is kept when the `keepLaunchName` option is set.\n\n- An automatic rename no longer overwrites a name that changed in the meantime.\n\n- The list of live sessions now leaves out other processes' sessions that share this session's id.\n\n- When the check that a name is unique fails, the current name is kept.\n\n**Why**\n\nBefore, automatic renames could replace a name that had changed in the meantime, and the live list included every session. In practice, a name you set or gave at launch should now stay put instead of being swapped for a generated one.\n\n- Area: Sessions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}