Настройка строки состояния Claude Code: скрипты и идеи
Больше, чем первая настройка: какой JSON получает ваш statusline-скрипт, какие поля стоит показывать — модель, токены, стоимость, контекст, git — идеи по цветам и компоновке и скрипт из сообщества, который можно просто забрать.
Коротко
- /statusline напишет скрипт за вас. Назовите свою ОС, попросите глобальную область действия и отдельный файл .sh/.ps1, затем одобрите два файла: запись statusLine в ~/.claude/settings.json и скрипт, на который она указывает.
- Скрипт читает один JSON-объект из stdin — model.display_name, workspace.current_dir, context_window.used_percentage, cost.total_cost_usd, rate_limits — и печатает то, что вы хотите видеть.
- Поля запрашивайте нумерованным списком, контекстный бар красьте по порогам (зелёный ниже 50%, красный после 75%), токены округляйте до единиц K, а при тесноте переходите на несколько строк.
- Или поставьте скрипт из сообщества: npx contextbricks даст модель, ветку и коммит git, счётчик токенов «кирпичиками» и предупреждение о недельном лимите — когда запускать /compact или /clear, решаете вы.
Claude Code's Hidden Status Line: Tokens, Model and Project, Your Way
Канал: 호두의 AI 분석실 (Waldo AI Lab)5:27
ContextBricks: My Custom Claude Code Status Line
Скрипт сообщества: Jeremy Dawes6:17
Status line — official documentation
Документация: code.claude.com/docs
Факты на этой странице сверены с официальной документацией status line и двумя записями выше; упомянутые имена JSON-полей дословно совпадают с официальным справочником. Скриншоты — кадры из этих записей.
Скриншоты — кадры из туториалов 호두의 AI 분석실 и Jeremy Dawes (ContextBricks), используются с указанием авторства и на каждом шаге ссылаются на исходный таймкод.
Настройка строки состояния, шаг за шагом
Один раз правильно попросить /statusline
- 1
Один промпт /statusline, где названы ОС, область и файл скрипта
Запустите /statusline и сразу укажите три вещи: вашу систему (Mac, Linux, Windows или WSL), что строка должна быть настроена глобально, и что вам нужен отдельный файл .sh — .ps1 на Windows. Иначе агент настройки угадывает окружение и может промахнуться с шеллом, а скрипт уровня проекта появится лишь в одном репозитории. Промпт умещается в четыре строки — держите его в заметках для повторного использования.

Заготовленный промпт /statusline: ОС, глобально, отдельный файл скрипта — готов к вставке.Смотреть с 1:15 - 2
Одобрите два файла, которые создаёт агент настройки
Разрешите чтение и запись — и агент сообщит точно, что затронул: в ~/.claude/settings.json теперь лежит конфигурация statusLine, а скрипт вроде ~/.claude/statusline-command.sh генерирует содержимое строки. Логика живёт в отдельном файле — позже Claude правит скрипт, а не ваши настройки. Перезапустите Claude Code, чтобы строка появилась.

Созданные/обновлённые файлы: settings.json хранит запись statusLine, содержимое собирает скрипт.Смотреть с 3:20 - 3
Прочитайте спецификацию строки по умолчанию, прежде чем расширять
Сразу после установки строка показывает текущий каталог, имя модели вроде [Claude Opus 4.5], стиль вывода, если он не стандартный, режим vim, ветку git, если вы в репозитории, и процент занятого окна контекста — например Claude-project [Claude Opus 4.5] (git:main) 12%. Конфигурация глобальная — действует в каждой сессии Claude Code на машине.

Список отображения по умолчанию и отрисованный пример сгенерированной строки.Смотреть с 2:45
Решить, что показывает строка
- 4
Заказывайте нужные поля — по номерам
Просите дополнения упорядоченным списком, и агент отвечает нумерованным порядком отображения. В этом прогоне вышло: имя модели, 20-символьный прогресс-бар, процент вроде 20%, токены как 40000/200000, git:main и напоследок каталог проекта — отрисовано как Claude 3.5 Sonnet [==== ] 20% 40000/200000 git:main Claude-project. Изменения попадают в файл скрипта; перезапустите Claude Code, чтобы увидеть их.

Порядок отображения 1-6 с примером строки, записанный в скрипт.Смотреть с 3:45 - 5
Дайте каждому элементу осмысленный цвет
Попросите цвет для каждого элемента — и скрипт получит ANSI-коды с порогами. Таблица этого прогона: модель — голубой; прогресс-бар — зелёный ниже 50%, жёлтый на 50–75%, красный выше 75%; процент — в цвет бара; токены — пурпурный; ветка — зелёный; проект — синий; разделители — серый. Красный оставьте контекстному бару: цвет тревоги приберегите для реального давления.

Таблица цветов по элементам с порогами для прогресс-бара.Смотреть с 4:15 - 6
Округлите токены до единиц K и сверьте с /context
Сырые счётчики вроде 21373/200000 трудно пробегать глазами. Попросите единицы K — строка покажет 21k/200k, а агент уточнит, что значение округлено. Затем проверьте: запустите /context в той же сессии и сравните — итоги совпадают. Одна особенность из демо: после округления сессия на 22k и на 23K может выглядеть одинаково — для строки, которую читают мельком, этого достаточно.

21373/200000 превращается в 21k/200k; /context подтверждает те же итоги.Смотреть с 4:30 - 7
Запустите две сессии и убедитесь, что каждая строка следит за собой
Откройте два терминала и запустите Claude Code в обоих. Каждая строка состояния докладывает о своей сессии: слева 11% и 22k/200k, справа 9% и 18k/200k, при этом /context в каждом окне сходится со своей строкой. Вот почему ветке и проекту место в строке — при нескольких открытых вкладках видно с одного взгляда, какая сессия тяжёлая, без /context повсюду.

Две сессии Claude Code, каждая строка состояния докладывает о своём контексте.Смотреть с 5:15
Забрать скрипт и читать его каждый день
- 8
Пропустите авторство: поставьте скрипт сообщества через npx
Скрипт не обязательно писать самому. ContextBricks ставится одной командой — npx contextbricks —, записывает ~/.claude/statusline.sh и обновляет settings.json, предварительно сохранив резервную копию. Его список: имя модели, сообщение git repo:branch [commit], индикаторы незакоммиченных изменений, ahead и behind, строки, изменённые за сессию, потребление контекста в реальном времени «кирпичиками» и разбивка токенов. Удаление — ./uninstall.sh; напечатанный путь к резервной копии вернёт прежний скрипт.

npx contextbricks: скрипт установлен, settings.json обновлён, возможности перечислены.Смотреть с 0:20 - 9
Читайте счётчик, пока агент работает
Своя строка выстреливает в разгар сессии. В демо она показывает [Sonnet 4.5], +2381/-0 строк, затем контекстный бар на 18% (36k/200k tokens) с разбивкой sys:4k tools:16k mcp:2k mem:10k msg:4k и 163k свободно. Автор считает токены, разбирая транскрипт разговора, — это оценка, а не число из API, — и её, по его словам, хватает, чтобы решить, когда компактить или чистить.

36k/200k tokens с разбивкой по категориям, пока пишутся планировочные документы.Смотреть с 5:00 - 10
Завершайте по сигналу: коммит лег, недельный лимит близко
После git-коммита строка подхватывает ветку и коммит: contextbricks:master [ffe9523] Add comprehensive planning documentation. На правом краю появляется второй сигнал — Approaching weekly limit. С процентом контекста, меткой коммита и предупреждением о лимите вы видите, когда осознанно запустить /compact или /clear, вместо того чтобы авто-компакт прервал задачу на середине.

Ветка и коммит появляются в строке; предупреждение о недельном лимите — справа.Смотреть с 6:02
Что ваш скрипт может прочитать — поле за полем
Всё в строке происходит из одного JSON-объекта, который скрипт получает из stdin — на старте сессии и снова после каждого обновления: новое сообщение ассистента, завершённый /compact, смена режима разрешений. Вот официальные поля, достойные собственной строки.
- 1Модель и effort — model.display_name как подпись (Sonnet 4.5, Opus 4.5) и effort.level, если хотите видеть рядом уровень рассуждений.
- 2Место — workspace.current_dir — предпочтительное поле текущего каталога, workspace.project_dir — каталог запуска, а workspace.repo.owner/.name называют репозиторий, распознанный из origin-ремоута; ветку добавляйте через git branch --show-current.
- 3Контекст — context_window.used_percentage и remaining_percentage уже посчитаны за вас, context_window.current_usage разделяет ввод, вывод, создание и чтение кэша, а context_window.context_window_size по умолчанию 200000 (1000000 в расширенном).
- 4Деньги и время — cost.total_cost_usd для стоимости сессии (сбрасывается через /clear), cost.total_duration_ms и total_api_duration_ms — реальное время против ожидания API, плюс cost.total_lines_added и total_lines_removed.
- 5Лимиты — rate_limits.five_hour и rate_limits.seven_day открывают used_percentage и resets_at на тарифах Pro и Max; в документации есть и объект prompt_cache с hit_ratio и expires_at для строк, знающих про кэш.
Практика из документации: каждый echo или print — отдельная строка, многострочные раскладки — это просто больше print; ANSI-коды раскрашивают их; ширину терминала подскажут переменные окружения COLUMNS и LINES; а каждое условно отсутствующее поле заслуживает jq-фолбэк вроде .context_window.used_percentage // 0 — чтобы строка пережила первые секунды сессии.
Когда строка ведёт себя плохо
Почти любая сломанная строка состояния сводится к пяти причинам — и каждое исправление на расстоянии одного промпта или одной команды.
- 1Пустая строка или тире (--) — это нулевые поля до первого ответа API. Документация советует jq-фолбэки (// 0, // empty), а приглашение доверия к workspace нужно принять, иначе строка остаётся пустой.
- 2Скрипт не запускается — сделайте его исполняемым через chmod +x, пишите в stdout, а не в stderr, и запустите claude --debug, чтобы увидеть его ошибки.
- 3Числа выглядят неверно — автор ContextBricks рассказывает, что Claude несколько попыток подряд ошибался в подсчёте токенов. Попросите агента выгрузить сырой JSON в файл отладки и переписать скрипт по нему; затем сверьте строку с /context.
- 4Путаница шеллов в Windows — Claude Code использует Git Bash, если он установлен, иначе PowerShell; прямые слэши в путях и скрипт в собственном файле .ps1.
- 5Слишком много в одной строке — попросите несколько строк (путь и сведения о репозитории переезжают во вторую) или проредите: токены в единицах K, один цвет разделителя, а поля, на которые вы не смотрите, — долой.
А если хотите выйти совсем: /statusline delete (или /statusline clear) убирает функцию, uninstall.sh установщика из сообщества откатывает его, а резервная копия настроек, оставленная установщиком, вернёт прежний скрипт.
