[Feature Request] Allow customizable terminal window title for multi-session differentiation

Resolved 💬 3 comments Opened Mar 3, 2026 by paultparker Closed Mar 7, 2026

Bug Description
Claude Code prevents me from setting the terminal window title on a per-session basis, by forcing it to "Claude Code". Like many people, I have multiple Claude Code sessions open, so I want to be able to name them to help differentiate them easily. (Without using tmux or some such.)

Please allow disabling the automatic setting, or allowing me to annotate it and putting "(Claude Code)" or somesuch behind it. I like the star animation, so I'd prefer to be able to prefix my own name before the Claude Code. (Actually, ideally I'd like ``* My Session Name I Set (Claude Code)``).

This would allow me to simply tell Claude Code what window title I want, either by explicit command or automatically.

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 2.1.63
  • Feedback ID: cbfe9f91-4e46-4378-862e-f37accb78b55

Errors

[{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:47.380Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:47.384Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:47.384Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:47.384Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.771Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.771Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.771Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.771Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.774Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> (/$bunfs/root/claude:93:10067)\n    at emit (node:events:92:22)\n    at endReadableNT (internal:streams/readable:861:50)\n    at processTicksAndRejections (native:7:39)\n    at request (/$bunfs/root/claude:95:2149)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-03T20:53:48.774Z"},{"error":"Error\n    at YM (/$bunfs/root/claude:92:1144)\n    at <anonymous> …

Note: Content was truncated.

View original on GitHub ↗

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