Официальная документация Claude Code описывает статус-строку как настраиваемую панель внизу интерфейса, которая запускает любой ваш shell-скрипт и получает JSON с данными сессии на вход. Разобрали, как включить её командой /statusline без единой строчки кода, что можно вывести - контекст, стоимость, git-ветку - и как собрать многострочную версию.
Коротко о главном
Статус-лайн - настраиваемая полоса внизу Claude Code, которая запускает shell-скрипт и получает JSON-данные сессии на stdin. Включить автоматически: команда /statusline с описанием того, что хотите видеть. Хранится как поле statusLine в settings.json (~/.claude/settings.json для всех проектов, .claude/settings.json - для одного). После любого изменения нужно перезапустить Claude Code. При активной кастомной строке большинство подсказок футера (esc to interrupt, ? for shortcuts) скрываются - для кликабельных ссылок без скрипта используйте footerLinksRegexes. Можно выводить: имя модели, рабочую директорию, git-ветку и статус, использование контекстного окна, стоимость сессии, длительность. Поддерживается многострочный вид: одна строка - git-инфо, вторая - цветной индикатор контекста.
Что такое статус-лайн и зачем он нужен
Официальная документация Claude Code (code.claude.com/docs/en/statusline) описывает статус-строку как настраиваемую панель, которая запускает любой заданный вами shell-скрипт и получает на вход JSON с данными текущей сессии, а на выходе показывает то, что скрипт напечатал. Это постоянная, видимая с одного взгляда информация о происходящем в сессии.
- Отслеживание использования контекстного окна по ходу работы
- Контроль стоимости сессии в реальном времени
- Различение нескольких параллельных сессий
- Git-ветка и статус репозитория всегда на виду
Как включить: команда /statusline
Самый быстрый способ - без единой строчки кода. Внутри Claude Code выполните:
/statusline покажи модель, текущую директорию, git-ветку и использование контекста
Claude Code сгенерирует скрипт и сам настроит всё необходимое в settings.json.
Где хранится конфигурация
Статус-строка задаётся полем statusLine в файле настроек - в формате команды: тип command и сама команда. Файл может быть на разных уровнях:
~/.claude/settings.json - для всех ваших проектов.claude/settings.json - для конкретного проекта
После любого изменения конфигурации нужно перезапустить Claude Code, чтобы изменения вступили в силу.
Что важно знать про футер
Статус-строка рендерится в отдельной строке над стандартными значками футера и не заменяет их. Но при включённой кастомной строке Claude Code скрывает большинство текстовых подсказок футера - esc to interrupt, запасной вариант ? for shortcuts, подсказку про голосовой ввод hold space to speak. Если нужны кликабельные ссылки-бейджи в футере при появлении ID в переписке без написания скрипта - для этого есть отдельная настройка footerLinksRegexes, не связанная со статус-строкой.
Многострочный вариант
Официальный пример: первая строка показывает git-информацию (ветка, статус), вторая - цветной индикатор использования контекста вместе со стоимостью и длительностью сессии. Такой формат даёт максимум сведений без загромождения интерфейса.
Собрать такую конфигурацию можно тем же способом - через /statusline с описанием обеих строк, либо написав свой shell-скрипт вручную и прописав его в поле statusLine.
Нужно ли писать код, чтобы настроить статус-строку?
Нет. Команда /statusline с описанием того, что вы хотите видеть, генерирует и настраивает скрипт автоматически - без ручного написания кода.
Где хранится настройка статус-строки?
В поле statusLine файла settings.json - в ~/.claude/settings.json для всех проектов или в .claude/settings.json для конкретного проекта.
Нужно ли перезапускать Claude Code после изменения статус-строки?
Да. Официальная документация прямо указывает: каждый раз при изменении конфигурации нужно перезапустить Claude Code, чтобы изменения вступили в силу.
Пропадают ли подсказки в футере при включении статус-строки?
Да, большинство текстовых подсказок футера (esc to interrupt, ? for shortcuts, подсказка голосового ввода) скрываются - статус-строка рендерится отдельно и не заменяет футер, но меняет то, что в нём показывается.
Можно ли сделать статус-строку из двух строк?
Да. Официальный пример показывает многострочный формат: первая строка - git-информация, вторая - цветной индикатор контекста со стоимостью и длительностью сессии.
Что делать, если нужны кликабельные ссылки в футере без написания скрипта?
Для этого есть отдельная настройка footerLinksRegexes - она добавляет кликабельные бейджи при появлении ID в переписке, и не требует статус-строки.
Источники (2)
- Claude Code Docs - Customize your status line
- Claude Code Docs - Settings reference
← Все статьи блога