Agent skill

Terminal Title

by bluzername in bluzername/claude-code-terminal-title

Automatically updates the terminal window title to reflect the current high-level task.

MITAuto-check passedBackend & APIs

Install Terminal Title

skills CLI
$ npx skills add bluzername/claude-code-terminal-title --skill terminal-title -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bluzername/claude-code-terminal-title terminal-title --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bluzername/claude-code-terminal-title.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skill/terminal-title .claude/skills/terminal-title && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
terminal-title
GitHub stars
142
Token cost
~1.2k tokens
SKILL.md length
505 words
Files
6 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Automatically updates the terminal window title to reflect the current high-level task.

  • Works in 4 steps: Extract task summary: identify the… → Generate title: create a concise,… → Set title: run set_title.sh with the… → …
  • Provides their first prompt
  • SKILL.md covers Overview, When to Use, How It Works and Title Format Guidelines, plus 5 more sections
  • Runs Shell scripts from its folder; calls bash and claude

What it does

Terminal Title is an agent skill from bluzername/claude-code-terminal-title. Automatically updates the terminal window title to reflect the current high-level task. Use at the start of every Claude Code session when the user provides their first prompt, and whenever the user switches to a distinctly new high-level task. Helps developers manage multiple Claude Code terminals by providing clear, at-a-glance identification of what each terminal is working on.

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `CHANGELOG.md`, `hooks/set-title-hook.sh` and `scripts/set_title.sh`).

It sits in Backend & APIs. The repository describes itself as: Automatically updates terminal window titles based on Claude Code tasks—stop guessing which terminal is which. The licence is MIT.

When your agent uses it

  • Provides their first prompt
  • Whenever the user switches to a distinctly new high-level task

Example prompts

  • “/terminal-title”

Requirements

  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Extract task summary: identify the high-level task from the user's prompt
  2. Generate title: create a concise, descriptive title (max 40 characters)
  3. Set title: run set_title.sh with the generated title
  4. No confirmation needed: this happens silently in the background

What it can do on your machine

Read from SKILL.md and the folder at commit d3128cd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Terminal Title loads about 1.2k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 505 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from bluzername/claude-code-terminal-title at commit d3128cd, republished under its MIT licence (© bluzername). 505 words, ~1,184 tokens.

Download SKILL.mdSave it as .claude/skills/terminal-title/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
terminal-title
description
Automatically updates the terminal window title to reflect the current high-level task. Use at the start of every Claude Code session when the user provides their first prompt, and whenever the user switches to a distinctly new high-level task. Helps developers manage multiple Claude Code terminals by providing clear, at-a-glance identification of what each terminal is working on.
metadata.version
1.3.0

Terminal Title

Overview

Sets a descriptive terminal window title based on the task Claude is working on. Essential for developers running multiple Claude Code instances who need to identify which terminal handles which task.

When to Use

Always trigger this skill:

  • At the start of every new Claude Code session (after receiving the first user prompt)
  • When switching to a substantially different task (for example from "API Integration" to "Database Migration")

Trigger on task switches like these:

  • Switching from frontend work to backend work
  • Moving from debugging to new feature development
  • Changing from one module or component to a completely different one
  • Starting work on a different part of the system (for example from auth to payments)

Do NOT trigger for:

  • Follow-up questions about the same task ("Can you add a comment to that function?")
  • Small refinements to current work ("Make it blue instead of red")
  • Debugging the same feature you just built
  • Clarifications ("What did you mean by X?")
  • Iterating on the same component or module
  • Mid-task status updates or progress checks

How It Works

  1. Extract task summary: identify the high-level task from the user's prompt
  2. Generate title: create a concise, descriptive title (max 40 characters)
  3. Set title: run set_title.sh with the generated title
  4. No confirmation needed: this happens silently in the background

Title Format Guidelines

Good titles:

  • "API Integration: Auth Flow"
  • "Fix: Login Bug"
  • "DB Migration: Users Table"
  • "Build: Dashboard UI"
  • "Refactor: Payment Module"

Displayed as (the script adds the folder prefix):

  • my-project | API Integration: Auth Flow
  • my-project | Fix: Login Bug

Bad titles:

  • Too long: "Implementing the new authentication system with OAuth2.0 support"
  • Too generic: "Working" or "Coding"
  • Too verbose: "The user wants me to help them with..."
  • Includes system information: "/Users/john/project: Build feature"
  • A full sentence: "I am working on the dashboard component"

Format pattern:

[Action/Category]: [Specific Focus]

Keep titles concise, actionable, and immediately recognizable.

Show full SKILL.md (196 more words)Show less

Implementation

Run the script from the installed skill directory. The personal install path is shown; for a project install use .claude/skills/terminal-title/scripts/set_title.sh relative to the project root.

bash
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Your Title Here"

Example workflow:

bash
# User asks: "Help me debug the authentication flow in the API"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Debug: Auth API Flow"

# User asks: "Create a React component for the user profile page"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Build: User Profile UI"

# User asks: "Write tests for the payment processing module"
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Test: Payment Module"

Script Details

scripts/set_title.sh writes the OSC 0 escape sequence to the controlling terminal (/dev/tty), falling back to stdout when no terminal is attached. It also stores the title in ~/.claude/terminal_title so shell hooks can re-apply it after each prompt. It is compatible with macOS Terminal.app, iTerm2, Alacritty, Kitty, and most xterm-compatible emulators (including tmux and screen).

The script takes one argument (the title) and exits silently when none is given.

Automatic Directory Prefix

Every title is prefixed with the current directory name (usually the repo name):

my-project | Build: Dashboard UI
another-repo | Debug: Auth API

Optional Custom Prefix

Users can add a custom prefix through the CLAUDE_TITLE_PREFIX environment variable:

bash
export CLAUDE_TITLE_PREFIX="Claude"

This produces titles like Claude | my-project | Build: Dashboard UI.

Note: You do not need to check these variables or change your behaviour. The script handles them.

Deterministic Alternative

hooks/set-title-hook.sh in this skill directory can be wired as a Claude Code UserPromptSubmit hook. It sets the title from the first line of every prompt without relying on this skill being invoked. See the project README for the settings snippet.

© bluzername, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts) in skill/terminal-title of bluzername/claude-code-terminal-title.

  • SKILL.md
  • CHANGELOG.md
  • LICENSE
  • VERSION
  • hooks/set-title-hook.sh
  • scripts/set_title.sh

Open the folder on GitHubat commit d3128cd

Compare with similar skills

Terminal Title next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Terminal Title compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Terminal Title this skillbluzername/claude-code-terminal-title142—~1.2kAutomated safety check: PassMIT
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
Nestjs Best Practicesrolling-scopes/rsschool-app10k6 repos~1.2kAutomated safety check: PassMIT
Sub2API AdminWei-Shaw/sub2api44k1 repos~717Automated safety check: PassLGPL-3.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • Nestjs Best Practices

    rolling-scopes/rsschool-app

    NestJS best practices and architecture patterns for building production-ready applications.

    10k GitHub starsUsed in 6 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Sub2API Admin

    Wei-Shaw/sub2api

    Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.

    44k GitHub starsUsed in 1 repo~717 tokens
    Backend & APIsAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Fortify Development

    coollabsio/coolify

    ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 4 repos~1.9k tokens
    Backend & APIsAuto-check passed

Categories

Questions about Terminal Title

What does Terminal Title do?

Automatically updates the terminal window title to reflect the current high-level task. Terminal Title is an agent skill from bluzername/claude-code-terminal-title. Automatically updates the terminal window title to reflect the current high-level task.

When should I use Terminal Title?

Terminal Title fits situations like: provides their first prompt; whenever the user switches to a distinctly new high-level task.

How do I install Terminal Title in Claude Code?

Run `npx skills add bluzername/claude-code-terminal-title --skill terminal-title -a claude-code`. Or copy the skill folder (skill/terminal-title in bluzername/claude-code-terminal-title) into .claude/skills/terminal-title in your project. Claude Code loads it when a task matches its description.

How do I install Terminal Title in Codex?

Run `npx skills add bluzername/claude-code-terminal-title --skill terminal-title -a codex`. Or copy the skill folder (skill/terminal-title in bluzername/claude-code-terminal-title) into .agents/skills/terminal-title in your project. Codex loads it when a task matches its description.

Can I use Terminal Title in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bluzername/claude-code-terminal-title --skill terminal-title -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/terminal-title, .gemini/skills/terminal-title, .github/skills/terminal-title and .opencode/skills/terminal-title in your project.

What does Terminal Title need to run?

Going by SKILL.md and its folder, Terminal Title needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and claude). Our summary lists: A Bash shell.

Does Terminal Title access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Terminal Title safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Terminal Title use?

Terminal Title is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Terminal Title use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Terminal Title?

Skills that share tags, products or a category with Terminal Title: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 44k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Terminal Title?

bluzername (a GitHub user) maintains it in bluzername/claude-code-terminal-title, which has 142 GitHub stars. The repository was last updated on September 17, 2026.

Source: bluzername/claude-code-terminal-title on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.