You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched existing issues and this hasn't been reported yet
This is a single bug report (please file separate reports for different bugs)
I am using the latest version of Claude Code
What's Wrong?
When a Remote Control session is renamed from the Claude mobile app (the app's rename UI), the new title is not persisted to the local CLI session transcript. As a result, anything on the host that reads the session title from the transcript never sees the rename.
Renaming the same session from claude.ai/code (desktop web) works correctly — it writes a custom-title entry to the local transcript on the next bridge sync.
This looks like the mobile-app counterpart to the fix shipped in v2.1.110 ("Fixed Remote Control session renames from claude.ai not persisting the title to the local CLI session", referenced in #48868). That fix appears to cover claude.ai web but not the mobile app.
Concretely, in the session's transcript JSONL (~/.claude/projects/<cwd-slug>/<uuid>.jsonl):
Each bridge sync writes a {"type":"bridge-session",...} line followed by {"type":"ai-title","aiTitle":"..."}.
After a desktop web rename, the next bridge also writes {"type":"custom-title","customTitle":"<new name>"}. ✅
After a mobile app rename, no new custom-title is written; the bridge re-stamps the previous (web-set) custom title, or none at all. ❌
The rename is stored cloud-side — it shows correctly in both the mobile app and claude.ai/code session lists, and is visible across devices. It simply never reaches the local transcript when initiated from mobile.
Related: /rename typed from the mobile app over Remote Control is also ineffective — it is delivered to the running session as a plain prompt rather than executed as a CLI slash command, so it writes no custom-title either.
What Should Happen?
A Remote Control session rename performed from the mobile app should persist to the local CLI session the same way a claude.ai/code (desktop web) rename does — i.e. a custom-title entry is written to the local transcript on the next bridge sync — so host-side tooling and the local CLI title stay in sync with the cloud title.
Error Messages/Logs
# After mobile rename — no custom-title written; bridges keep writing ai-title:
$ grep -c '"type":"custom-title"'<uuid>.jsonl
0
$ grep -c '"type":"ai-title"'<uuid>.jsonl
9
# After desktop-web rename "Fix remote claude UI (updated)" — custom-title appears# on the next bridge:
{"type":"bridge-session","sessionId":"<uuid>","bridgeSessionId":"cse_...","lastSequenceNum":0}
{"type":"custom-title","customTitle":"Fix remote claude UI (updated)","sessionId":"<uuid>"}
{"type":"ai-title","aiTitle":"...","sessionId":"<uuid>"}
Steps to Reproduce
Enable Remote Control (e.g. "Enable Remote Control for all sessions" in /config, or launch with --remote-control).
Start a session on a host and connect to it from the Claude mobile app.
From the mobile app, rename the session (the app's rename UI) to mobile-name.
Send any message so a bridge sync occurs.
On the host, inspect the transcript: grep '"type":"custom-title"' ~/.claude/projects/<cwd-slug>/<uuid>.jsonl
→ no entry for mobile-name. ❌
Now rename the same session from claude.ai/code (desktop web) to web-name, send a message, and re-check:
→ a {"type":"custom-title","customTitle":"web-name"} entry appears. ✅
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
No response
Claude Code Version
2.1.168
Platform
Other
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
Reproduces 100% of the time on the affected setup.
<uuid>, <cwd-slug>, and the bridge id are redacted placeholders; the real
transcript shows the literal custom-title values from the rename.
Discovered because a host-side tool that derives the session title by reading custom-title from the transcript could see desktop-web renames but never
mobile-app renames — so the impact is real for anything consuming the title
locally, not just cosmetic.
Preflight Checklist
What's Wrong?
When a Remote Control session is renamed from the Claude mobile app (the app's rename UI), the new title is not persisted to the local CLI session transcript. As a result, anything on the host that reads the session title from the transcript never sees the rename.
Renaming the same session from claude.ai/code (desktop web) works correctly — it writes a
custom-titleentry to the local transcript on the next bridge sync.This looks like the mobile-app counterpart to the fix shipped in v2.1.110 ("Fixed Remote Control session renames from claude.ai not persisting the title to the local CLI session", referenced in #48868). That fix appears to cover claude.ai web but not the mobile app.
Concretely, in the session's transcript JSONL (
~/.claude/projects/<cwd-slug>/<uuid>.jsonl):{"type":"bridge-session",...}line followed by{"type":"ai-title","aiTitle":"..."}.{"type":"custom-title","customTitle":"<new name>"}. ✅custom-titleis written; the bridge re-stamps the previous (web-set) custom title, or none at all. ❌The rename is stored cloud-side — it shows correctly in both the mobile app and claude.ai/code session lists, and is visible across devices. It simply never reaches the local transcript when initiated from mobile.
Related:
/renametyped from the mobile app over Remote Control is also ineffective — it is delivered to the running session as a plain prompt rather than executed as a CLI slash command, so it writes nocustom-titleeither.What Should Happen?
A Remote Control session rename performed from the mobile app should persist to the local CLI session the same way a claude.ai/code (desktop web) rename does — i.e. a
custom-titleentry is written to the local transcript on the next bridge sync — so host-side tooling and the local CLI title stay in sync with the cloud title.Error Messages/Logs
Steps to Reproduce
/config, or launch with--remote-control).mobile-name.grep '"type":"custom-title"' ~/.claude/projects/<cwd-slug>/<uuid>.jsonl→ no entry for
mobile-name. ❌web-name, send a message, and re-check:→ a
{"type":"custom-title","customTitle":"web-name"}entry appears. ✅Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
No response
Claude Code Version
2.1.168
Platform
Other
Operating System
Ubuntu/Debian Linux
Terminal/Shell
Other
Additional Information
<uuid>,<cwd-slug>, and the bridge id are redacted placeholders; the realtranscript shows the literal custom-title values from the rename.
custom-titlefrom the transcript could see desktop-web renames but nevermobile-app renames — so the impact is real for anything consuming the title
locally, not just cosmetic.
renamed title but the Remote Control display falls back to the auto name;
here the cloud holds the title but it never reaches the local transcript.