Claude Code Terminal Title

by bluzername (community) · Claude Code, Linux, macOS, bash, zsh, tmux

Skill AI Assistants Open Source активный

Автоматически обновляет заголовки окон терминала на основе задач Claude Code — больше не нужно гадать, какой терминал какой.


Установка
# Автоматическая установка и тестирование (рекомендуется)
cd claude-code-terminal-title
chmod +x install-and-test.sh
./install-and-test.sh

# Быстрая установка (Claude Code CLI)
claude-code install terminal-title.skill

# Ручная установка
mkdir -p ~/.claude/skills
unzip terminal-title.skill -d ~/.claude/skills/
chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh

# Дополнительно для macOS Terminal.app + zsh (опционально)
cd claude-code-terminal-title
chmod +x setup-zsh.sh
./setup-zsh.sh
показать оригинал переведено ИИ

Навык «Заголовок терминала» для Claude Code

Что он делает

Автоматически обновляет заголовок окна вашего терминала, отражая текущую задачу, над которой работает Claude Code. Идеально подходит для разработчиков, управляющих несколькими экземплярами Claude Code в разных терминалах.

Какую проблему решает

Запускаете несколько сессий Claude Code? Постоянно переключаетесь между терминалами, пытаясь вспомнить, какой из них занимается интеграцией API, какой — миграцией базы данных, а какой — исправлением бага? Этот навык избавит вас от этих мучений.

Как это работает

Навык автоматически: 1. Анализирует ваш запрос при запуске новой задачи 2. Генерирует краткий описательный заголовок (например, «Интеграция API: поток аутентификации») 3. Добавляет в начало имя текущей папки для контекста (например, «my-project | Интеграция API: поток аутентификации») 4. Обновляет заголовок окна вашего терминала в фоновом режиме 5. Ручная настройка не требуется

Установка

Автоматическая установка и тестирование (рекомендуется)

# Clone or download this repository, then run:
cd claude-code-terminal-title
chmod +x install-and-test.sh
./install-and-test.sh

Этот скрипт: - ✅ Проверяет наличие необходимых зависимостей (unzip, mkdir, chmod, bash) - ✅ Распаковывает навык в ~/.claude/skills/ - ✅ Устанавливает корректные права доступа - ✅ Запускает проверочные тесты - ✅ Показывает результаты в реальном времени

Быстрая установка (Claude Code CLI)

# 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

Удаление

Чтобы полностью удалить навык:

chmod +x uninstall.sh
./uninstall.sh

Скрипт удаления: - Удаляет каталог навыка - Опционально удаляет конфигурацию zsh (с подтверждением) - Опционально восстанавливает настройки Terminal.app (с подтверждением)

Дополнительная настройка (для пользователей macOS Terminal.app)

Если вы используете macOS Terminal.app с zsh, запустите скрипт настройки, чтобы получать чистые заголовки без нежелательных префиксов/суффиксов:

cd claude-code-terminal-title
chmod +x setup-zsh.sh
./setup-zsh.sh

Этот скрипт: - ✅ Настраивает ваш ~/.zshrc для сохранения заголовков Claude - ✅ Отключает суффиксы заголовков Terminal.app (имя оболочки, размеры) - ✅ Создаёт резервную копию .zshrc перед внесением изменений

Зачем это нужно? macOS Terminal.app по умолчанию добавляет « – -zsh – 80x24» ко всем заголовкам окон. Скрипт настройки автоматически отключает эти добавления, чтобы вы получали чистые заголовки.

Примечание: изменения вступают в силу только в НОВЫХ окнах терминала. После запуска настройки вам нужно будет открыть новое окно или вкладку.

Использование

Вот и всё! Навык работает автоматически. Когда вы запускаете Claude Code и даёте ему задачу, заголовок вашего терминала обновится.

Примеры

Запрос пользователя: «Помоги мне отладить API аутентификации» Заголовок терминала: → «my-api-project | Отладка: поток API аутентификации»

Запрос пользователя: «Создай компонент дашборда на React» Заголовок терминала: → «react-app | Разработка: интерфейс дашборда»

Запрос пользователя: «Напиши тесты для обработки платежей» Заголовок терминала: → «payment-service | Тестирование: модуль платежей»

Опциональная настройка

Вы можете добавить пользовательский префикс ко всем заголовкам терминалов:

# Add to your ~/.bashrc, ~/.zshrc, or shell config:
export CLAUDE_TITLE_PREFIX="🤖 Claude"

Это даёт заголовки вида: 🤖 Claude | my-project | Build: Dashboard UI

Формат заголовка: - По умолчанию: [Имя папки] | [Описание задачи] - С пользовательским префиксом: [Пользовательский префикс] | [Имя папки] | [Описание задачи]

Совместимость

Полностью протестировано и работает

  • ✅ macOS Terminal.app + zsh (со setup-zsh.sh)
  • ✅ iTerm2 (macOS)

Должно работать (не проходило обширного тестирования)

  • ⚠️ Alacritty
  • ⚠️ Kitty
  • ⚠️ GNOME Terminal (Linux)
  • ⚠️ Konsole (KDE)
  • ⚠️ Windows Terminal + WSL

Известные ограничения

  • ❌ Обычный bash без поддержки precmd (заголовки не будут сохраняться между запросами)
  • ❌ Нативные терминалы Windows (Command Prompt, PowerShell) — ANSI escape-последовательности поддерживаются не везде
  • ❌ Очень старые эмуляторы терминала без поддержки ANSI

Поведение сессий

Когда вы устанавливаете заголовок в Терминале A и открываете Терминал B в течение 5 минут, Терминал B изначально унаследует заголовок Терминала A. После того как Claude Code запустится в Терминале B и установит новый заголовок, каждый терминал будет независимо поддерживать собственный заголовок. Это сделано намеренно — так предотвращается появление устаревших заголовков в новых терминалах, но при этом заголовки сохраняются внутри активных сессий.

Технические детали

  • Размер: ~2 КБ
  • Зависимости: отсутствуют (используется стандартный bash)
  • Триггеры: первый запрос в новой сессии или переключение на новую высокоуровневую задачу
  • Приватность: вся обработка происходит локально, внешние вызовы отсутствуют

Устранение неполадок

Заголовок не обновляется?

  1. Проверьте установку: bash ls -la ~/.claude/skills/terminal-title/ # Должно отображаться: SKILL.md, scripts/, LICENSE, VERSION, CHANGELOG.md

  2. Проверьте права доступа к скрипту: bash ls -la ~/.claude/skills/terminal-title/scripts/set_title.sh # Должно отобразиться: -rwxr-xr-x (исполняемый файл)

  3. Если файл не исполняемый, исправьте права доступа: bash chmod +x ~/.claude/skills/terminal-title/scripts/set_title.sh

  4. Проверьте вручную: bash bash ~/.claude/skills/terminal-title/scripts/set_title.sh "Тест: Работает!" # Заголовок вашего терминала должен измениться

В заголовке отображаются escape-коды?

Возможно, ваш терминал не поддерживает ANSI escape-последовательности. Попробуйте: - macOS: Используйте iTerm2 или встроенный Terminal.app - Linux: Используйте GNOME Terminal, Alacritty или Kitty - Windows: Используйте Windows Terminal или WSL с совместимым терминалом

Навык не срабатывает автоматически?

  • Перезапустите Claude Code после установки
  • Убедитесь, что SKILL.md правильно отформатирован (YAML front matter в начале файла)
  • Проверьте, что ваша версия Claude Code поддерживает навыки

В заголовке присутствует нежелательный префикс или суффикс? (macOS Terminal.app)

Если в заголовке отображается что-то вроде «username - Your Title - -zsh - 80x24», выполните:

./setup-zsh.sh

Затем откройте НОВОЕ окно терминала. Подробнее см. в разделе «Дополнительная настройка» выше.

Заголовок слишком общий?

Будьте конкретнее в своих запросах о том, чего вы хотите достичь

Участие в разработке

Нам нужна ваша помощь! Этот навык разрабатывался и тестировался в основном на macOS с Terminal.app и zsh.

Области, где нам нужна помощь:

Тестирование эмуляторов терминала: - Пользователи Alacritty — работает ли «из коробки»? - Пользователи Kitty — есть ли проблемы с сохранением заголовка? - Linux (GNOME Terminal, Konsole, Terminator) — какая настройка требуется? - Windows Terminal + WSL — работает ли конфигурация zsh?

Поддержка оболочек: - Пользователи bash — можем ли мы добавить аналог precmd для bash? - fish shell — как реализовать сохранение заголовка? - Другие оболочки?

Улучшения функциональности: - Более совершенная логика генерации заголовков в SKILL.md - Параметры конфигурации (окно актуальности, резервное поведение) - Поддержка заголовков сессий tmux/screen

Как внести вклад:

  1. Протестируйте на своей конфигурации — попробуйте навык и задокументируйте, что работает, а что нет
  2. Сообщайте о проблемах — нашли баг или граничный случай? Создайте issue с подробностями
  3. Приветствуются pull request'ы — особенно для:
    • Скриптов настройки для конкретных оболочек (setup-bash.sh, setup-fish.sh)
    • Исправлений кроссплатформенной совместимости
    • Улучшений документации

Нашли баг? Есть предложение по новой функции? Создайте issue на GitHub!

Лицензия

MIT — используйте свободно, изменяйте по необходимости, делитесь со своей командой.


Создано для решения реальной проблемы в рабочих процессах Claude Code с несколькими терминалами. Надеемся, это повысит и вашу продуктивность!

Войдите, чтобы оставить комментарий