[BUG] set_session_title reports success but the rename never persists for idle sessions (desktop app)

Status Fixed / completed
Reported on v2.1.216
Maintainer reply None cached
Activity 1 comment · opened Aug 7, 2026 · closed Aug 25, 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?

Environment

  • Claude Code 2.1.216, macOS desktop app (Darwin 27.0.0)
  • Model: claude-fable-5
  • Built-in session-management MCP (mcp__ccd_session_mgmt__*)

Summary

set_session_title returns a success message but the rename never persists when the target is an idle (isRunning: false) session. Verified three ways: re-reading via get_session, re-reading via list_sessions (title unchanged in both), and visually in the desktop-app sidebar (no change).

Repro

  1. In a desktop-app session, call list_sessions and pick any idle session with an auto-generated title.
  2. Call set_session_title with that sessionId and a new title.

→ Tool returns: Renamed session local_… to "New Title". (If the user had renamed it themselves, their title is kept.)

  1. Call get_session for the same sessionId.

title is still the old value. list_sessions agrees, and the sidebar never updates.

Reproduced 9/9 across nine different idle local sessions on 2026-08-07. Several targets had clearly auto-generated titles, so the "user renamed it themselves" carve-out in the success message does not explain the no-op.

Expected

Either the title actually changes, or the tool returns an error (or an accurate "kept the user's title" notice) instead of unconditional success. Silent success makes agents report renames that never happened.

Notes

  • Not tested against running (isRunning: true) targets.
  • Renaming the current session is separately rejected by design (Session … not found) — that part matches the tool's documentation and is not this report.
  • Related but distinct: #84587 (claude.ai/code exposes no session-metadata tools at all), #84041 (current-session rename restriction).

What Should Happen?

The rename should persist: get_session / list_sessions should return the new title and the sidebar should update. If the platform intends to keep a user-set title (or can't rename an idle session), the tool should say so in its result instead of returning unconditional success — silent success makes agents report renames that never happened.

Error Messages/Logs

Call: mcp__ccd_session_mgmt__set_session_title {"session_id": "local_02af875e-…", "title": "Paul Visokey"}
Result: Renamed session local_02af875e-… to "Paul Visokey". (If the user had renamed it themselves, their title is kept.)

Immediately after — call: mcp__ccd_session_mgmt__get_session {"session_id": "local_02af875e-…"}
Result: { "sessionId": "local_02af875e-…", "title": "Paul LinkedIn DM integration", "isRunning": false, … }   ← title unchanged

Same pattern on 9/9 idle sessions; sidebar confirmed unchanged as well.

Steps to Reproduce

  1. Open the Claude Code macOS desktop app with at least two sessions in the sidebar.
  2. In session A, call mcp__ccd_session_mgmt__list_sessions and pick any OTHER session B that is idle (isRunning: false) — an auto-generated title makes the result unambiguous.
  3. Call mcp__ccd_session_mgmt__set_session_title with B's sessionId and any new title.

→ Returns success: Renamed session <id> to "<new title>". (If the user had renamed it themselves, their title is kept.)

  1. Call mcp__ccd_session_mgmt__get_session with B's sessionId (or re-run list_sessions).

title is still the old value; the sidebar never updates either.

Reproduced 9/9 on 2026-08-07 across nine different idle local sessions, including several whose titles were clearly auto-generated (so the "user renamed it themselves" carve-out cannot explain it).

Claude Model

Other

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.216 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

Terminal/Shell is set to "Other" because this is the Claude Code macOS desktop app (CCD), not a terminal — the ccd_session_mgmt MCP server these tools belong to only exists there. Happy to run any diagnostic from inside a session if that helps.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗