Feature request: allow customizing terminal tab title (project name vs conversation summary)
Summary
Currently Claude Code sets the terminal tab title to an auto-generated conversation summary (e.g., "Analyze prompt structure for..."). This makes it hard to distinguish multiple Claude Code sessions running in different projects.
By contrast, Codex CLI sets the terminal title to the project directory name, which provides a much clearer signal when juggling multiple tabs.
Current pain point
In Windows Terminal (and similar terminal multiplexers), users running Claude Code in several project directories see tabs labeled with cryptic conversation summaries rather than project names. The only workaround is enabling suppressApplicationTitle: true in the terminal profile, which kills the tab title entirely AND removes Claude Code's task-completion indicator (the green dot / status emoji prefix that signals "ready for input"). It is a forced tradeoff: project identity OR task status, never both.
Why Codex's approach is better
Codex achieves all three signals simultaneously:
- Tab title = project directory name (stable, identifies the workspace)
- Spinner / dot icon in tab when working
- Green completion icon when idle
It accomplishes this by decoupling title-setting (OSC 0/2) from progress signaling (OSC 9;4 taskbar progress). The two go through independent channels, so the user gets both pieces of information.
Claude Code currently couples them — completion state appears to be encoded as a title prefix rather than via OSC 9;4 — so suppressing the title also suppresses the indicator.
Proposed solution
Add a setting that lets users choose what Claude Code writes to the terminal title. Options:
terminalTitleconfig insettings.jsonwith values like"conversation"(current behavior),"projectName"(use cwd basename), or a template string like"{projectName} — {summary}".
- Adopt OSC 9;4 for task status independently of the title, so users who choose
"projectName"still get the green-dot completion indicator.
- CLI flag
--title-mode=projectNameas an alternative entry point.
Either #1 alone (with title-setting moved off-state-channel) or #1+#2 would solve the problem.
Environment
- OS: Windows 11
- Terminal: Windows Terminal
- Claude Code: Opus 4.7 / latest CLI
Related
This is the same UX gap that already exists between the two CLI tools side by side — Codex shows clear project identity, Claude Code shows opaque summaries. Closing the gap would meaningfully help users running both in parallel.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗