Add a setting to disable/customize the terminal title (and refresh it so it doesn't go stale)
Open 💬 0 comments Opened Jul 9, 2026 by mryland-id
Claude Code continuously sets the terminal tab/window title (a status spinner plus an auto-generated task/project label), and there is currently no way to control it. I confirmed the absence of any control by checking the official docs: terminal-config, the settings.json reference, and the environment-variable reference — none mention terminal-title behavior.
Two distinct problems:
- Stale title text. The auto-generated label refreshes on its own cadence rather than per-turn, so mid-session the title keeps showing a previous task after the conversation has moved on to something else.
- No override. Users who set their own terminal title — via shell OSC escapes, AppleScript, or a terminal profile — to organize windows (e.g. work vs personal identities, or per-task) have it overwritten on every render while Claude Code is running. On Apple Terminal there is no "applications may not change the title" toggle (iTerm2 has one), so there is no workaround.
Requests
- A
settings.jsonkey such asterminalTitle: "auto" | "off" | "<custom static string>"(or a simplerdisableTerminalTitleUpdates: true). - And/or an environment variable, e.g.
CLAUDE_CODE_DISABLE_TERMINAL_TITLE/CLAUDE_CODE_TERMINAL_TITLE. - Bonus: when left on "auto", refresh the label each turn so it tracks the current task instead of going stale.
Environment
- Claude Code v2.1.x
- macOS 15, Apple Terminal (Terminal.app)