claude-code - 💡(How to fix) Fix [FEATURE] Allow /rename to dispatch from thin clients (phone / web) during Remote Control

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

/rename cannot be invoked from the Claude mobile app or claude.ai/code while controlling a claude --remote-control session. Sending /rename foo from the phone is delivered as a plain user message instead of executing the local rename command, so the session title stays unchanged.

(Note: this is distinct from the web-UI "rename session" affordance that landed in v2.1.110 — that path works. The gap is specifically the /rename slash command typed into the phone/web input bar.)

The command itself already ships with a non-interactive variant (type:"local", supportsNonInteractive:true) in addition to the local-jsx (Ink) one — only the thinClientDispatch property is missing on the slash-command definition, which is what gates remote dispatch.

Root Cause

/rename cannot be invoked from the Claude mobile app or claude.ai/code while controlling a claude --remote-control session. Sending /rename foo from the phone is delivered as a plain user message instead of executing the local rename command, so the session title stays unchanged.

(Note: this is distinct from the web-UI "rename session" affordance that landed in v2.1.110 — that path works. The gap is specifically the /rename slash command typed into the phone/web input bar.)

The command itself already ships with a non-interactive variant (type:"local", supportsNonInteractive:true) in addition to the local-jsx (Ink) one — only the thinClientDispatch property is missing on the slash-command definition, which is what gates remote dispatch.

Fix Action

Fix / Workaround

The command itself already ships with a non-interactive variant (type:"local", supportsNonInteractive:true) in addition to the local-jsx (Ink) one — only the thinClientDispatch property is missing on the slash-command definition, which is what gates remote dispatch.

Auditing v2.1.143 (~/.local/share/claude/versions/2.1.143), the following twelve built-ins declare thinClientDispatch and consequently work from the phone:

/rename (and /color) define both a local-jsx and a local variant but neither carries thinClientDispatch, so the bridge never routes them.

RAW_BUFFERClick to expand / collapse

Summary

/rename cannot be invoked from the Claude mobile app or claude.ai/code while controlling a claude --remote-control session. Sending /rename foo from the phone is delivered as a plain user message instead of executing the local rename command, so the session title stays unchanged.

(Note: this is distinct from the web-UI "rename session" affordance that landed in v2.1.110 — that path works. The gap is specifically the /rename slash command typed into the phone/web input bar.)

The command itself already ships with a non-interactive variant (type:"local", supportsNonInteractive:true) in addition to the local-jsx (Ink) one — only the thinClientDispatch property is missing on the slash-command definition, which is what gates remote dispatch.

Reproduction

  1. On macOS, run claude --remote-control in Terminal.
  2. Open the Claude mobile app → Code tab → attach to the session.
  3. From the phone, send /rename my-session.

Expected: session title changes (same as typing /rename my-session in the local terminal). Actual: the text is treated as a user message; no rename happens.

Why this looks like a missing property

Auditing v2.1.143 (~/.local/share/claude/versions/2.1.143), the following twelve built-ins declare thinClientDispatch and consequently work from the phone:

  • control-request: /btw, /context, /usage, /fast, /model, /effort, /reload-plugins
  • post-text: /clear, /compact, /goal, /recap, /toggle-memory

/rename (and /color) define both a local-jsx and a local variant but neither carries thinClientDispatch, so the bridge never routes them.

/goal is the closest precedent — same dual-variant shape — and uses thinClientDispatch:"post-text" on its local variant. Adopting the same pattern for /rename should be sufficient.

Suggested fix

Add thinClientDispatch:"post-text" to the local variant of /rename (and ideally /color for symmetry).

Environment

  • Claude Code: 2.1.143
  • OS: macOS 15.4 (Darwin 25.4.0)
  • Shell: zsh
  • Phone client: Claude iOS app, Code tab → Remote Control

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [FEATURE] Allow /rename to dispatch from thin clients (phone / web) during Remote Control