Session-management MCP: add set_session_group / set_session_pinned writes alongside the existing group/pinned reads

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 30, 2026

Feature request

The Claude Code Desktop session-management MCP surface (ccd_session_mgmt) currently exposes each session's custom sidebar group and pin state as read-only metadata: list_sessions / get_session return group: {id, name} (or null) and pinned. The same surface already ships session write tools — set_session_title, archive_session, send_message — but there is no programmatic way to set a session's Custom Group membership or pinned state. Group state appears to originate in the Desktop app window (the group key is documented as omitted until the app window has reported groups), and we verified empirically that no group identifier ever reaches the workstation's local storage — the sidebar UI is the only write path today.

Use case

Our team runs automated session-organization conventions: agents rename sessions via set_session_title so titles continuously reflect scope and state, and a periodic sweep computes which Custom Group each session belongs in. Today the sweep can only emit a manual checklist ("file these three sessions into group X, retire group Y") for a human to apply by hand in the sidebar. With write tools, the same automation could file sessions directly, and grouped views would stay organized without per-developer manual upkeep.

Proposed shape (symmetry with existing tools)

  • set_session_group(session_id | "self", group) — accept a group id or name (optionally create-if-missing), and null to ungroup.
  • set_session_pinned(session_id | "self", pinned: boolean).

Given that set_session_title overwrites even hand-set titles (its docs note this), it would be worth considering gentler semantics here — e.g., a way to distinguish "place if currently ungrouped" from "move unconditionally" — since group placement is user-curated state.

Environment

Claude Code Desktop with Remote Control sessions to a Linux VM; sessions surface as local_<uuid> via the MCP tools. Observed 2026-08-30.

🤖 Generated with Claude Code on behalf of the operator

View original on GitHub ↗