[FEATURE] Allow customizing terminal tab title via config or hooks"
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
When running multiple Claude Code sessions in parallel (e.g., in VS Code-based editors like Antigravity, Cursor,
Windsurf), every terminal tab is titled "Claude Code." This makes it impossible to distinguish between sessions at a
glance.
Users working on multiple tasks — compliance work in one tab, UI design in another, a node server in a third — have to
click into each tab to figure out which is which. The only workaround is manually right-clicking and renaming each tab
every time.
Because Claude Code takes over the terminal process, shell-level solutions (like zsh precmd hooks with escape
sequences) don't work — the shell never gets a chance to fire its prompt hook while Claude Code is running.
Proposed Solution
- Respect a config option for terminal title format — e.g., terminalTitle in settings.json or .claude/settings.json
that supports variables like ${topic}, ${branch}, ${cwd}, or a static string.
- Allow setting the title via hooks or a file — Claude Code could watch a file (e.g., ~/.claude-task) or support a
hook event that updates the terminal title escape sequence from within the running session.
- Auto-set a topic-based title — Claude Code could infer a short topic from the first user message or the conversation
context and set the terminal tab title accordingly (similar to how chat UIs auto-title conversations).
Any of these would make multi-session workflows significantly easier to manage.
Alternative Solutions
_No response_
Priority
Low - Nice to have
Feature Category
CLI commands and flags
Use Case Example
_No response_
Additional Context
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗