Feature request: option to disable terminal tab title management
Problem
Claude Code actively sets the terminal tab title via OSC escape sequences, overriding any title set by shell hooks (zsh chpwd/precmd) or external scripts. There is no way to disable this behavior.
This is a problem for users who run multiple Claude Code sessions in different project directories simultaneously. All tabs show the same "claude" title, making it impossible to distinguish between projects.
Current behavior
- Shell-level tab title management (e.g., zsh
chpwdhooks that set titles based on CWD) works correctly outside Claude Code - Once Claude Code starts, it continuously overwrites the tab title
terminalTitleFromRename: falsein settings only affects/rename— Claude Code still manages the title through other mechanisms- Ghostty's
shell-integration-features = no-titleis also bypassed since Claude Code sets titles directly, not through shell integration
Attempted workarounds (all failed or caused flickering)
- SessionStart hook with OSC sequences → Claude Code overwrites immediately after
- UserPromptSubmit hook → causes flickering as both Claude Code and the hook fight over the title
- Direct write to
/dev/ttysXXX→ works for ~1 second, then overridden by Claude Code - Background loop re-setting title → works but causes constant flickering
Proposed solution
Add a setting like terminalTitle with options:
true(default, current behavior)false— Claude Code does not touch the terminal title at all- Or a
terminalTitlePrefixoption that prepends a user-defined string (e.g., project emoji) to Claude Code's title
This would allow users to manage tab titles themselves via shell hooks, terminal config, or wrapper scripts.
Use case
Running 5+ Claude Code tabs simultaneously for different projects (e.g., infrastructure, product development, client work). Each directory has a shell hook that sets a project-specific emoji + name as tab title. This works perfectly in regular terminal usage but breaks inside Claude Code.
Environment
- Terminal: Ghostty 1.2+
- Shell: zsh with custom
chpwdhook for tab titles - Claude Code: latest (MAX plan)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗