Feature request: project-level titlePrefix setting for terminal tab titles

Resolved 💬 3 comments Opened Mar 21, 2026 by AO-Raffa Closed May 22, 2026

Problem

When working across multiple repos simultaneously, all Claude Code terminal tabs show auto-generated titles like fix-doh-fallback-hostname — with no indication of which repo the conversation belongs to. In a multi-repo workflow (we have 10+ repos for one product), this makes it difficult to identify tabs at a glance.

Proposed solution

Add a titlePrefix setting to .claude/settings.local.json (project-level) that prepends a user-defined string to the auto-generated conversation title.

Example config (.claude/settings.local.json):

{
  "titlePrefix": "AO-Mac"
}

Result in terminal tab:

AO-Mac: fix-doh-fallback-hostname

Why project-level?

Different repos need different prefixes. A global setting wouldn't solve the problem. The prefix should come from the project's own settings so it's tied to the repo, not the user.

Alternatives considered

| Approach | Why insufficient |
|----------|-----------------|
| CLAUDE.md instruction | Title generation is isolated — doesn't read CLAUDE.md context |
| Ghostty title config | Static — overrides the dynamic topic summary entirely |
| Shell wrapper/alias | Claude Code overwrites the title when it generates its own |
| Custom statusLine | Shows directory info at the bottom, but doesn't help with tab identification |

Environment

  • Terminal: Ghostty (but this would benefit any terminal that shows tab titles)
  • Claude Code version: latest
  • Use case: multi-repo product development (10+ repos, frequently 3-5 Claude Code sessions open)

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗