Allow plugins/users to customize terminal tab title
Feature Request
Claude Code actively manages the terminal title (showing spinner + "Claude Code (node)"), which overwrites any title set by plugins or users via escape sequences or AppleScript.
Use Case
When running multiple Claude Code sessions in different terminal tabs, they all show the same title ("Claude Code (node)"), making it hard to tell which project/task each tab is for. A tab-namer plugin can set meaningful names via hooks and escape sequences, but Claude Code's title management immediately overwrites them.
Suggested Approaches
Any of these would unblock the use case:
- A setting to disable title management — e.g.,
terminalTitle: falsein settings - A setting to customize the title format — e.g.,
terminalTitle: "{project} - Claude Code"with variable substitution - A hook event — e.g.,
TitleUpdatethat lets plugins modify the title before it's written
Current Behavior
- Plugin sets tab title via
printf '\033]1;my-project\007' > /dev/tty(or AppleScript) - Title changes momentarily
- Claude Code's next status/spinner update overwrites it back to "Claude Code (node)"
Expected Behavior
Plugins or user settings can control what appears in the terminal title, either by disabling Claude Code's title management or by providing a customization hook.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗