[BUG]
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?
Remote Control & Session UI — Defect Write-up
Component: Claude desktop app (session shell / top bar)
Severity: mix of cosmetic and functional; one is a genuine lockout bug.
Summary
The session title bar and the remote-control affordance both fail basic UI principles. One value is rendered twice with mismatched fallbacks, the useful identifier is demoted to a chip, and the remote-control toggle hides its own entry point and wears the wrong icon. Below, each issue with the underlying cause and the fix.
---
1. Title is a meaningless placeholder; the useful identifier is demoted
- What: The top bar leads with "Untitled" / "General coding session" — empty placeholder text — while the working directory (e.g.
<project-dir>), the thing that actually identifies the session, is shrunk into a small chip beside it. - Why it's wrong: The visual hierarchy is inverted. The headline carries no signal; the signal is in the subordinate element.
- Fix: Lead with the distinguishing info (working directory, optionally branch). Drop the placeholder entirely when no real title exists, rather than padding the headline with filler.
2. Same value rendered twice — DRY violation with divergent fallbacks
- What: The title bar shows "Untitled"; the Recents entry for the same session shows "General coding session." Editing one changes both, proving they're bound to a single underlying field.
- Why it's wrong: One source of truth, two render sites, two different fallback strings — so they disagree until the user types a title. That's a DRY violation and a consistency bug stacked together.
- Fix: Single source, single fallback string, rendered consistently everywhere. If they must appear in two places, they must show identical text.
3. Remote control has no first-class entry point
- What: Invoking remote control requires typing a
/remote-controlcommand. - Why it's wrong: Remote control is a connectivity/pairing feature — it has state (connected/disconnected). State-bearing features need a visible, persistent control with a status indicator, not a hidden text incantation discoverable only if you already know it exists.
- Fix: A persistent button in the top bar (next to terminal/run) with an explicit connected/disconnected state.
4. The toggle deletes its own off/on switch — functional lockout
- What: Clicking the icon turns remote control off, and the icon then disappears.
- Why it's wrong: A toggle must persist and reflect state. This one removes itself on use, so the only path back is the typed command from issue #3. This is the most serious defect — it's a usability lockout, not a cosmetic flaw.
- Fix: The control stays put and reflects on/off state; it never unmounts as a side effect of being used.
5. Wrong icon — desktop glyph for a phone feature
- What: Remote control pairs the session to a smartphone, but the icon is a desktop/monitor.
- Why it's wrong: The glyph signals the opposite of what the feature does ("control a computer"), pointing the user the wrong way about the target device.
- Fix: Use a phone glyph that matches the paired device.
---
Through-line: across all five, the pattern is the same — the meaningful thing is hidden or mislabeled while a placeholder takes the spotlight, and one control actively destroys its own usability.
---
Swapped your real directory name for a generic <project-dir> placeholder. Same offer stands — say the word if you want it saved to a file or cut down to a short bug-tracker blurb.
What Should Happen?
Read the bug report.
Error Messages/Logs
Read the bug report.
Steps to Reproduce
Read the bug report
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.191 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Just read the bug report.