#Настройте строку состояния
Средний уровень · Факультатив · около 15 минут · Нужно: Выбор модели и уровня усилий · Сверено с Claude Code v2.1.285 (stable) 06.10.2026
#Цель
К концу этого факультатива вы сможете сделать для Claude Code собственную строку состояния на основе скрипта, который показывает модель, папку и заполненность окна контекста.
#Что понадобится
jqи macOS или Linux: скрипт написан на bash. Для Windows в разделе Windows configuration есть версии для PowerShell и Git Bash.- Расход лимита: нулевой. Строка состояния работает на вашей машине и не тратит API-токены.
#Идея
Строка состояния — это полоса внизу Claude Code, в которой отображается всё, что выводит ваш скрипт. Claude Code запускает скрипт, передавая на stdin JSON о сессии — например, название модели и заполненность окна контекста. Скрипт запускается при старте сессии и затем на событиях вроде каждого нового сообщения Claude.
Настроить её можно двумя способами. /statusline с описанием просит Claude Code написать скрипт и настройку за вас. Или вы пишете скрипт сами и добавляете настройку statusLine, которая его запускает, — именно так делает этот факультатив, чтобы вы понимали, что делает каждая часть.
#Разбор примера
- Сохраните этот скрипт как
~/.claude/statusline.sh, затем выполнитеchmod +x ~/.claude/statusline.sh:
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
echo "[$MODEL] ${DIR##*/} | ${PCT}% context"
- Проверьте его без Claude Code на таком же JSON, какой он получает:
echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/me/linkcheck"},"context_window":{"used_percentage":12.5}}' | ~/.claude/statusline.sh
Скрипт выведет [Opus] linkcheck | 12% context.
3. Добавьте настройку в ~/.claude/settings.json, ваш личный файл, рядом с уже имеющимися ключами:
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
- Запустите
claudeи отправьте промпт. В полосе появится ваша строка, а процент будет расти вместе с разговором. Claude Code запускает скрипт только в папке, для которой вы приняли диалог доверия.
#Ваша очередь
Добавьте в строку текущую ветку git. В скрипте перед echo добавьте:
BRANCH=$(git -C "$DIR" branch --show-current 2>/dev/null)
Затем допишите | $BRANCH в echo, снова проверьте скрипт на JSON из шага 2, указав в current_dir git-репозиторий, и посмотрите на полосу в сессии.
#Проверка
Факультатив пройден, когда выполнено всё это:
-
jq .statusLine ~/.claude/settings.jsonпоказывает вашу команду. - Если подать в скрипт JSON из шага 2 с
current_dirвнутри git-репозитория, он выводит модель, папку, процент и ветку. - Самопроверка (не тестируется): в сессии полоса показывает вашу строку.
Если полоса остаётся пустой, запустите скрипт на JSON из шага 2: скрипт, который завершается с ошибкой или ничего не выводит, оставляет полосу пустой (Troubleshooting). Затем проверьте, что он исполняемый (chmod +x) и что вы приняли диалог доверия для папки.
#Что дальше
- Available data: все поля, которые получает ваш скрипт, — стоимость, лимиты запросов, имя сессии и другие.
- Examples: цвета, несколько строк, кликабельные ссылки и кэшированный git status.
Источники: Customize your status line
Назад к оглавлению Среднего уровня · Тема: Модели, усилия и стоимость · Застряли на уроке?