К основному содержанию
хук

worktree-ghostty — хук для Claude Code: раскладка из трёх панелей

Открывает в Ghostty три панели при создании worktree: Claude слева, lazygit и yazi справа. Только macOS.

Установить в Claude Code · Через claude-code-templates Все способы и платформы ↓
npx claude-code-templates@latest --hook development-tools/worktree-ghostty
Открыть на GitHub

Что делает worktree-ghostty

Хук вешается на события WorktreeCreate и WorktreeRemove и запускает скрипт .claude/hooks/worktree-ghostty.sh. При создании worktree в терминале Ghostty появляется раскладка: слева Claude, справа сверху lazygit, справа снизу yazi. Worktree при этом создаётся не внутри репозитория, а в соседней папке ../worktrees/<repo>/<name>/. При удалении worktree хук подчищает за собой.

Чтобы это заработало, нужны jq, терминал Ghostty, lazygit и yazi. Ещё придётся поправить привязки клавиш в Ghostty: super+d на new_split:right и super+shift+d на new_split:down. Без этих двух раскладка не соберётся, потому что скрипт делит окно именно так.

Работает только на macOS. На Linux и Windows скрипт из этой раскладки ничего не откроет, так что там ставьте что-то другое. Таймаут у WorktreeCreate — 30 секунд, у WorktreeRemove — 15.

Какие задачи решает

  • открыть lazygit и yazi рядом с сессией Claude в одном окне
  • разложить worktree по соседней папке, а не внутри репозитория
  • держать git- и файловый менеджер под рукой при параллельной работе над ветками
  • убрать за собой при удалении worktree без ручной чистки
  • получить одинаковую раскладку каждый раз при создании новой ветки

Примеры запросов агенту

  • Создай worktree для ветки feature/login — открой раскладку в Ghostty
  • Запусти работу в отдельном worktree, мне нужны lazygit и yazi рядом
  • Удали worktree feature/login и прибери за ним

Как установить worktree-ghostty

1Через claude-code-templates

npx claude-code-templates@latest --hook development-tools/worktree-ghostty

2Вручную: положить файлы

.claude/settings.json

Блок hooks: событие (PreToolUse, PostToolUse, Stop…) → команда. Личные — ~/.claude/settings.json

По шагам, с командами для каждой платформы: Хуки Claude Code: что это, где настраивать и как запретить опасную команду

Вопросы о worktree-ghostty

Как установить worktree-ghostty в Claude Code?

Выполните npx claude-code-templates@latest --hook development-tools/worktree-ghostty. Настройки хука запишутся в .claude/settings.json.

Что делает worktree-ghostty?

При создании worktree открывает в Ghostty три панели: Claude слева, lazygit и yazi справа. При удалении worktree закрывает раскладку и убирает папку.

Что нужно для работы хука?

macOS, терминал Ghostty, jq, lazygit и yazi. В Ghostty нужны привязки super+d = new_split:right и super+shift+d = new_split:down.

Исходный текст

worktree-ghostty.json · MIT
{
  "description": "Worktree Ghostty Layout. Opens a 3-panel Ghostty layout when creating worktrees: Claude Code (left) | lazygit (top-right) / yazi (bottom-right). Creates worktrees in a sibling directory (../worktrees/<repo>/<name>/) and cleans up on removal. macOS only. Requires: jq, Ghostty terminal, lazygit, yazi. Ghostty keybindings required: super+d = new_split:right, super+shift+d = new_split:down.",
  "hooks": {
    "WorktreeCreate": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/worktree-ghostty.sh",
            "timeout": 30
          }
        ]
      }
    ],
    "WorktreeRemove": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bash \"$CLAUDE_PROJECT_DIR\"/.claude/hooks/worktree-ghostty.sh",
            "timeout": 15
          }
        ]
      }
    ]
  }
}

© davila7 · MIT · davila7/claude-code-templates

Похожие хуки

Все хуки по теме «Настройка агента: память, контекст, субагенты» →

Из того же набора495

Весь набор →
performance-budget-guard Хук для Claude проверяет размер JS-бандла после сборки Next.js и не даёт выкатить сборку, которая вылезла за бюджет. 393установок vercel-environment-sync Хук проверяет переменные окружения после правки .env и подсказывает, как перенести их в Vercel. Пригодится, если локальные и деплойные значения расходятся. 363установок env-file-protection Хук блокирует вызовы Write к файлам .env*, чтобы агент случайно не перезаписал секреты. Ставится одной командой в настройки Claude. 279установок slack-notifications Отправляет сообщение в Slack, когда Claude закончил работу или завершился субагент. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 279установок discord-notifications Отправляет сообщение в Discord, когда Claude закончил работу или завершил субагента. Пригодится, если вы уходите от терминала и хотите знать, что задача готова. 217установок tdd-gate Хук блокирует правку production-файлов, пока рядом нет теста. Пригодится, если хотите удержать TDD в работе с агентом. 192установок debug-window Открывает окно с живым хвостом лога отладки, когда Claude запущен с флагом --debug или -d, и закрывает его по концу сессии. 189установок change-logger Хук пишет каждое изменение файла в CSV: время, инструмент, путь, действие и детали. Пригодится, когда готовишь демо и нужно показать, что именно агент трогал. 163установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой