Разработчик опубликовал на Habr статью о собственном Status Line для Claude Code CLI — инструменте, который выводит внизу терминала всю ключевую информацию о текущей сессии. Скрипт на Node.js показывает модель и уровень reasoning effort, текущую папку и ветку git, состояние репозитория, расхождение с origin, drift между контекстными файлами, заполненность контекстного окна, prompt cache и rate limits. Это позволяет разработчику видеть в одном месте всё, что влияет на работу и стоимость запросов.
Status Line работает через встроенный механизм Claude Code: CLI вызывает внешнюю программу, подаёт ей на stdin JSON с состоянием сессии — модель, рабочая директория, session_id, контекстное окно, rate limits — и выводит её stdout внизу терминала. Подключение выполняется через файл ~/.claude/settings.json, где указывается команда запуска и интервал обновления (в примере — 60 секунд). Такой подход не требует API или плагинов, что упрощает установку и использование.
| Код | Значение |
|---|---|
| 3M | 3 files modified |
| 1A | 1 added |
| 1D | 1 deleted |
| 1R | 1 renamed |
| 2? | 2 untracked |
| 1! | 1 conflict |
Один из ключевых элементов Status Line — отображение состояния репозитория в стиле VS Code. Скрипт использует git status --porcelain и группирует изменения по категориям: modified, added, deleted, renamed, untracked и конфликты. Конфликты подсвечиваются красным, так как это единственное состояние, которое блокирует коммит. Остальные категории показываются приглушённым цветом, чтобы не отвлекать внимание.
Инструмент показывает состояние репозитория в стиле VS Code: modified, added, deleted, renamed, untracked и конфликты.
Инструмент также отслеживает расхождение локальной ветки с origin: показывает, сколько коммитов ожидают пуша (жёлтым) и сколько прилетело из remote (красным). Это помогает избежать конфликтов при коммите поверх изменённого origin. Данные обновляются при каждом fetch.
Отдельная функция — контроль drift между контекстными файлами разных ИИ-агентов. Разработчик использует Claude Code, OpenAI Codex и Gemini, которые читают разные файлы памяти: CLAUDE.md, AGENTS.md и GEMINI.md соответственно. Status Line показывает, когда эти файлы разошлись, чтобы все агенты имели одинаковый контекст. Это особенно актуально для проектов, где работают несколько агентов.
Контекстное окно отображается в виде бара и числа токенов, например 480k/1M, с ранними предупреждениями о приближении к зоне, где Claude предложит compact. Prompt cache показывает hit ratio, количество прочитанных и записанных токенов, а также TTL — время до протухания кэша. Это помогает понимать стоимость каждого запроса и эффективность кэширования. Rate limits отображаются для периодов 5 часов и 7 дней, с указанием времени до сброса.
В статье автор подробно разбирает каждый сегмент статус-лайна, включая сокращения названий моделей (например, Opus 4.8 превращается в Op4.8) и уровней effort (lo, md, hg, xhg, mx). Он также объясняет, как обрабатываются случаи, когда сессия запущена в одной папке, а текущая директория меняется — статус-лайн показывает оба пути, чтобы избежать путаницы.
Инструмент доступен в репозитории, ссылку на который автор оставил в конце статьи. Для подключения достаточно указать абсолютный путь к скрипту в настройках Claude Code. Это решение может быть полезно разработчикам, которые активно используют Claude Code и хотят иметь полную картину о состоянии сессии без переключения между окнами.

