[BUG] Desktop (Windows): session renamed in the iOS app keeps its old title in the Code sidebar, and the stale title is written back on resume
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
A local Code-tab session in the Claude desktop app on Windows was renamed from the Claude iOS app. The new name does reach the host: the session transcript (~/.claude/projects/<project>/<session>.jsonl) gets custom-title entries with the new name, re-appended after later turns. But the desktop sidebar keeps the original auto-generated title, and get_session / list_sessions (ccd_session_mgmt) return it too, so the session can't be found on the PC by the name set on the phone.
When the desktop app later resumes the session (here: after the app was quit and reopened), it appends a custom-title entry with its own stale title, so the name set on the phone is lost from the transcript as well.
What Should Happen?
A rename made in the iOS app should update the desktop sidebar (and get_session / list_sessions). Resuming a session on the desktop must not overwrite a newer title with the desktop's stored one; the latest rename should win on every surface.
Error Messages/Logs
Session A transcript (UTC):
2026-09-08 16:00 first prompt; custom-title = auto-generated title
2026-09-08 17:34 custom-title = name set in the iOS app (kept through 2026-09-11)
2026-09-13 17:15 desktop app restarted; resume turn with entrypoint "claude-desktop", immediately followed by custom-title = the old auto-generated title
Session B:
2026-09-13 05:46 transcript custom-title = name set in the iOS app
2026-09-13 ~17:30 list_sessions and the desktop sidebar still show the auto-generated title
Steps to Reproduce
- In the Windows desktop app (Code tab), start a local session and send a first prompt so it gets an auto-generated title ("Title A").
- Open the session in the Claude iOS app (same account) and rename it to "Title B".
- On the PC the sidebar still shows "Title A", while the session transcript already contains
"customTitle":"Title B". - Quit and reopen the desktop app so the session is resumed.
- The transcript now ends with
"customTitle":"Title A"; the name set on the phone is gone.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.266 (bundled with Claude for Windows 1.52386.3)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Other
Additional Information
- Claude for Windows 1.52386.3 (Microsoft Store), Code tab, with bundled Claude Code 2.1.266. Windows 10 Pro 22H2 (build 19045). Claude iOS app on the same account.
- Version note: the desktop app manages its bundled Claude Code; it runs 2.1.266 while the latest on npm is 2.1.270 at the time of filing.
- Related: #91303 (a mobile rename never reaches a Linux host; here it does reach the transcript, but the desktop never adopts it and later overwrites it), #75343 (desktop and mobile show different names), #86607 and #93018 (the opposite direction), #25090 (a custom name replaced after resume in the CLI).