Automatically updates your terminal window title to reflect the current task Claude Code is working on. Perfect for developers managing multiple Claude Code instances across different terminals.
Running multiple Claude Code sessions? Constantly clicking between terminals trying to remember which one is handling your API integration vs database migration vs bug fix? This skill eliminates that frustration.
The skill automatically:
# Clone or download this repository, then run:
cd claude-code-terminal-title
chmod +x install-and-test.sh
./install-and-test.sh
This script will:
~/.claude/skills/# Download the skill file, then install it:
claude-code install terminal-title.skill
# Create skills directory if it doesn't exist
mkdir -p ~/.claude/skills
# Extract the skill
unzip terminal-title.skill -d ~/.claude/skills/
# Make script executable
chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh
To remove the skill completely:
chmod +x uninstall.sh
./uninstall.sh
The uninstall script will:
If you're using macOS Terminal.app with zsh, run the setup script to ensure clean titles without unwanted prefixes/suffixes:
cd claude-code-terminal-title
chmod +x setup-zsh.sh
./setup-zsh.sh
This script will:
~/.zshrc to preserve Claude titles.zshrc before making changesWhy is this needed? macOS Terminal.app by default appends " – -zsh – 80x24" to all window titles. This setup script automatically disables those additions so you get clean titles.
Note: Changes take effect in NEW terminal windows. You'll need to open a new window or tab after running the setup.
That's it! The skill works automatically. When you start Claude Code and give it a task, your terminal title will update.
User prompt: "Help me debug the authentication API" Terminal title: → "my-api-project | Debug: Auth API Flow"
User prompt: "Create a React dashboard component" Terminal title: → "react-app | Build: Dashboard UI"
User prompt: "Write tests for payment processing" Terminal title: → "payment-service | Test: Payment Module"
You can add a custom prefix to all terminal titles:
# Add to your ~/.bashrc, ~/.zshrc, or shell config:
export CLAUDE_TITLE_PREFIX="🤖 Claude"
This produces titles like: 🤖 Claude | my-project | Build: Dashboard UI
Title Format:
[Folder Name] | [Task Description][Custom Prefix] | [Folder Name] | [Task Description]When you set a title in Terminal A and open Terminal B within 5 minutes, Terminal B will initially inherit Terminal A's title. Once Claude Code runs in Terminal B and sets a new title, each terminal will maintain its own title independently. This is by design - it prevents stale titles from appearing in new terminals while preserving titles within active sessions.
Verify installation:
ls -la ~/.claude/skills/terminal-title/
# Should show: SKILL.md, scripts/, LICENSE, VERSION, CHANGELOG.md
Check script permissions:
ls -la ~/.claude/skills/terminal-title/scripts/set_title.sh
# Should show: -rwxr-xr-x (executable)
If not executable, fix permissions:
chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh
Test manually:
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Test: It Works!"
# Your terminal title should change
Your terminal may not support ANSI escape sequences. Try:
If your title shows something like "username - Your Title - -zsh - 80x24", run:
./setup-zsh.sh
Then open a NEW terminal window. See the "Additional Setup" section above for details.
Be more specific in your prompts about what you want to accomplish
We need your help! This skill was built and tested primarily on macOS with Terminal.app and zsh.
Terminal Emulator Testing:
Shell Support:
Feature Improvements:
Found a bug? Have a feature request? Open an issue on GitHub!
MIT - Use freely, modify as needed, share with your team.
Created to solve a real pain point in multi-terminal Claude Code workflows. Hope it helps your productivity too!
7 commits
Shell
100.0%
Automatically updates your terminal window title to reflect the current task Claude Code is working on. Perfect for developers managing multiple Claude Code instances across different terminals.
Running multiple Claude Code sessions? Constantly clicking between terminals trying to remember which one is handling your API integration vs database migration vs bug fix? This skill eliminates that frustration.
The skill automatically:
# Clone or download this repository, then run:
cd claude-code-terminal-title
chmod +x install-and-test.sh
./install-and-test.sh
This script will:
~/.claude/skills/# Download the skill file, then install it:
claude-code install terminal-title.skill
# Create skills directory if it doesn't exist
mkdir -p ~/.claude/skills
# Extract the skill
unzip terminal-title.skill -d ~/.claude/skills/
# Make script executable
chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh
To remove the skill completely:
chmod +x uninstall.sh
./uninstall.sh
The uninstall script will:
If you're using macOS Terminal.app with zsh, run the setup script to ensure clean titles without unwanted prefixes/suffixes:
cd claude-code-terminal-title
chmod +x setup-zsh.sh
./setup-zsh.sh
This script will:
~/.zshrc to preserve Claude titles.zshrc before making changesWhy is this needed? macOS Terminal.app by default appends " – -zsh – 80x24" to all window titles. This setup script automatically disables those additions so you get clean titles.
Note: Changes take effect in NEW terminal windows. You'll need to open a new window or tab after running the setup.
That's it! The skill works automatically. When you start Claude Code and give it a task, your terminal title will update.
User prompt: "Help me debug the authentication API" Terminal title: → "my-api-project | Debug: Auth API Flow"
User prompt: "Create a React dashboard component" Terminal title: → "react-app | Build: Dashboard UI"
User prompt: "Write tests for payment processing" Terminal title: → "payment-service | Test: Payment Module"
You can add a custom prefix to all terminal titles:
# Add to your ~/.bashrc, ~/.zshrc, or shell config:
export CLAUDE_TITLE_PREFIX="🤖 Claude"
This produces titles like: 🤖 Claude | my-project | Build: Dashboard UI
Title Format:
[Folder Name] | [Task Description][Custom Prefix] | [Folder Name] | [Task Description]When you set a title in Terminal A and open Terminal B within 5 minutes, Terminal B will initially inherit Terminal A's title. Once Claude Code runs in Terminal B and sets a new title, each terminal will maintain its own title independently. This is by design - it prevents stale titles from appearing in new terminals while preserving titles within active sessions.
Verify installation:
ls -la ~/.claude/skills/terminal-title/
# Should show: SKILL.md, scripts/, LICENSE, VERSION, CHANGELOG.md
Check script permissions:
ls -la ~/.claude/skills/terminal-title/scripts/set_title.sh
# Should show: -rwxr-xr-x (executable)
If not executable, fix permissions:
chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh
Test manually:
bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Test: It Works!"
# Your terminal title should change
Your terminal may not support ANSI escape sequences. Try:
If your title shows something like "username - Your Title - -zsh - 80x24", run:
./setup-zsh.sh
Then open a NEW terminal window. See the "Additional Setup" section above for details.
Be more specific in your prompts about what you want to accomplish
We need your help! This skill was built and tested primarily on macOS with Terminal.app and zsh.
Terminal Emulator Testing:
Shell Support:
Feature Improvements:
Found a bug? Have a feature request? Open an issue on GitHub!
MIT - Use freely, modify as needed, share with your team.
Created to solve a real pain point in multi-terminal Claude Code workflows. Hope it helps your productivity too!
7 commits
Shell
100.0%