process.title is set to version number instead of "claude", breaking tmux window names

Resolved 💬 5 comments Opened Apr 17, 2026 by tim-hilde Closed May 30, 2026

Description

When Claude Code starts, it sets process.title to its version string (e.g. 2.1.112). On macOS (and Linux), Node.js propagates this to the OS-level process name via pthread_setname_np() / prctl(). Tools that read the process name — most notably tmux's automatic-rename — then display the version number as the window name instead of claude.

Steps to reproduce

  1. Open a tmux session with automatic-rename enabled (the default)
  2. Run claude in a pane
  3. Observe the window name becomes e.g. 2.1.112 instead of claude

Expected behavior

Window name shows claude (or claude code).

Actual behavior

Window name shows the version string, e.g. 2.1.112.

Root cause

process.title is being set to the version number. The fix is a one-liner:

// before
process.title = version; // e.g. "2.1.112"

// after
process.title = "claude";

Notes

  • This is distinct from #21409 (which is about OSC 2 escape sequences for the terminal emulator title bar) — this bug affects the OS process name, which is what tmux reads for window naming.
  • Workaround: wrap claude in a shell function that manually renames the tmux window and disables automatic-rename for the duration of the process.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗