Terminal Title for Claude Code skill
Sets the terminal window title to the task Claude Code is working on, prefixed with the project folder: a skill or a hook
- 145 ★ on the repository
- Last commit
Minimal access
Why this level
- The hook runs a script on every user prompt and the installer edits the shell configuration
- The title is built from the first line of the prompt, so sensitive words may show in the window
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/terminal-title-for-claude-codeDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewMinimal accessThe tool runs nothing and makes no network calls.
- The hook runs a script on every user prompt and the installer edits the shell configuration
- The title is built from the first line of the prompt, so sensitive words may show in the window
This is third-party code. Review the repository files before installing.
What it does
Terminal Title for Claude Code turns a row of identical terminal tabs into readable titles like `my-api | Debug: Auth Flow`. The title is built from the project folder and a short task. Two modes install from one setup. The skill (`SKILL.md`): Claude reads your prompt and writes a short Category: Focus title when it decides a new high-level task has started. The hook (`hooks/set-title-hook.sh`): the title is the first line of your prompt capped at 40 characters, fired deterministically on every prompt through `UserPromptSubmit`. Both call one `scripts/set_title.sh` script, and on native Windows `scripts/set_title.ps1` does the same. The script stores the title in `~/.claude/terminal_title` so an optional zsh setup keeps it in place across prompts. A prefix can be set with the `CLAUDE_TITLE_PREFIX` variable. The authors warn that recent Claude Code versions set a title themselves and this project is for those who want the folder name, persistence after exit and a deterministic title.
Who it is for. Claude Code users who keep many terminal windows open across projects and want to tell them apart by title.
Good fit when
- Many Claude Code tabs are open and the name does not show which project is where
- The title needs the project folder name that the built-in title lacks
- The title has to persist after leaving Claude Code while a zsh prompt is active
- You need a deterministic title from the prompt with no model involved
Not a fit when
- The built-in Claude Code title is enough: then you do not need this project
- You need a permanent status indicator at the bottom of the terminal: status line tools in the catalog fit
- The built-in title and this project write to the same place and overwrite each other unless one is turned off
Example request
Set the terminal window title for the current task Debug: Auth Flow with the project folder name as a prefixLimitations
The project changes the terminal window title and the built-in Claude Code feature does the same, so turn one off or they overwrite each other. The hook mode fires on every prompt and takes the first line capped at 40 characters. The skill title depends on the model deciding a new task has started. Persistence after exit needs the optional zsh setup (`setup-zsh.sh`), and Codex on PowerShell has a separate script. The last commit is dated October 30, 2026.
How to disable. Run `uninstall.sh` from the repository, remove the `UserPromptSubmit` hook if you added it and delete the setup block from `.zshrc`.
FAQ
Do I need it if Claude Code sets a title itself?
Yes, if you want the project folder name, persistence after exit or a deterministic title from the prompt. Otherwise the built-in one is enough.
How do the skill and hook modes differ?
The skill asks Claude to write a short Category: Focus title when a new big task starts. The hook takes the first line of the prompt up to 40 characters on every prompt.
Where is the title stored?
In `~/.claude/terminal_title`, which the zsh setup uses to keep it in place.
Does it work on Windows?
Yes, native Windows uses `scripts/set_title.ps1`, and Codex has `install-codex-powershell.ps1`.
How do I set a custom prefix?
With the `CLAUDE_TITLE_PREFIX` environment variable.
Discussion
No questions or reviews yet.
Related
SkillsA Claude Code status line with 5-hour and weekly limit usage, reset countdowns, model and prompt cache lifetime
A statusline for Claude Code: token and cost usage, context left, rate limits and git branch in four styles and six themes
A macOS menu bar indicator that shows whether Claude Code is thinking, waiting for your permission and how long the current turn has run
Claude Code Toolkit (robertguss)
Claude Code Toolkit
A set of Claude Code skills and hooks: brainstorming, worker-led project leadership, a wiki, and a book pipeline.
About a hundred skills for Claude Code: meetings, research, publishing, TDD, Telegram, email and personal analytics
A Claude Code panel for several projects: statuses, button decisions, Git, PR, CI and usage limits in one window.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| Terminal Title for Claude Code (this card) | no | 145 | |
| ccstatusline | no | 13,590 | changes the terminal window title and leaves the bottom status line alone |
| claude-statusline | no | 1,402 | works on the tab title with project folder and task |
README in short
The README shows the result (a row of titles with folder and task) and a table of two modes. The section Do you need this explains that Claude Code already sets a title and lists when the project helps. Installation, zsh setup, Windows and uninstall follow.