Feature request: rename a running session from an external process (not self-rename)

Status Open
Maintainer reply None cached
Activity 0 comments · opened Sep 26, 2026

Problem

A supervisor process manages several concurrent, non-interactive worker sessions on the same machine, each started headless (claude -p ... --session-id <id> --name "<name>"). It wants to update one specific worker's displayed session name while that session is still running, to carry live progress (e.g. "3/6 done") so a human glancing at the session list -- including via Remote Control on a phone -- sees progress without opening the session.

There is no documented, external, non-interactive way to do this.

What exists today (checked against the docs)

  • --name (headless.md: https://code.claude.com/docs/en/headless.md , settings-reference.md: https://code.claude.com/docs/en/settings-reference.md) sets the display name only at launch. It cannot be changed for a session that is already running.
  • /rename (commands.md: https://code.claude.com/docs/en/commands.md) is a slash command -- it must be typed inside the session being renamed. It has no external/local equivalent for renaming a different, currently-running session by id.
  • Related open requests are all about a session naming itself, not an external process renaming a live session by id:
  • #33165 -- Claude renaming its own session programmatically (VS Code-focused)
  • #93755 -- expose a session-rename tool to the agent itself (like Codex's set_thread_title)
  • #58588 -- set /rename programmatically, but only at session start

None of the three cover: a separate local process, on the same machine, updating the live title of an already-running session it does not own a terminal into, identified by session id.

Proposed solution

A local, non-interactive way to rename a running session by id -- e.g. a CLI subcommand (claude rename --session-id <id> <name>) or a documented control message on the existing local session machinery -- so an external supervisor can push a name update into a live session's title (and therefore into any Remote Control session list showing it) without attaching to that session's own input.

Use case

An orchestrator dispatches several background Claude Code sessions, one per unit of work in a larger job, and wants each worker's session name to reflect real-time progress through that job (so a phone-linked Remote Control list shows progress at a glance) as it advances -- not just the name it was given at launch.

View original on GitHub ↗