[BUG] Desktop app session tabs always show "Chat (claude)" instead of the session's name

Status Open
Reported on v2.1.278
Maintainer reply None cached
Activity 0 comments · opened Sep 22, 2026

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?

In the Claude desktop app, Claude Code sessions connected via Remote Control
show up in the tab strip labeled generically as "Chat (claude)" with a
working/idle dot. The session's name — set via --remote-control <name>,
-n/--name <name>, or /rename — is never shown in these tabs. With several
sessions open I can tell which are busy, but not which project each one is
working on.

This appears to be a display gap, not a naming bug — the name IS set correctly
everywhere else:

  • /rename drives-claude returns "Session renamed to: drives-claude", but the

tab label does not change.

  • Setting the name at launch via --name / --remote-control <name> also does

not change the tab label.

  • The name appears correctly at claude.ai/code — only the desktop app's tab

strip ignores it.

  • This surfaced after enabling the desktop terminal-session integration

(resume terminal sessions in the desktop app).

What Should Happen?

Each tab in the desktop app's session strip should show the session's name
(e.g. "drives-claude", "delphi-xp") instead of a generic "Chat (claude)", so
concurrent sessions are distinguishable by project — and it should update live
on /rename.

Error Messages/Logs

No errors. Relevant output confirming the name is applied but the tab ignores it:

  > /rename drives-claude
    Session renamed to: drives-claude
  (tab label stays "Chat (claude)")

Environment:
- macOS: <version — from  → About This Mac>
- Claude Code: 2.1.278
- Desktop app: <version — from Claude → About>
- Shell: zsh

Steps to Reproduce

  1. From the terminal, launch two sessions in different project directories,

each with a name:
claude --dangerously-skip-permissions --remote-control "drives-claude@host" --name "drives-claude"
claude --dangerously-skip-permissions --remote-control "delphi-xp@host" --name "delphi-xp"

  1. Both connect and appear as tabs in the desktop app.
  2. Look at the tab labels — both read "Chat (claude)" instead of the names.
  3. In one session run /rename testname; note the tab label still doesn't change.

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.278 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

on Terminal.app it works with this in .zshrc

_dir_title() { _set_term_title "$(_title_for_pwd)"; }
add-zsh-hook precmd _dir_title

claudex() { _set_term_title "$(_title_for_pwd)"; command claude --dangerously-skip-permissions "$@"; }

claudexr() {
local name="$(_title_for_pwd)"
_set_term_title "$name"
local remote_name="${name:-claude}@$(hostname -s)"
command claude --dangerously-skip-permissions \
--remote-control "$remote_name" \
--name "$name" "$@"
}

View original on GitHub ↗