Перейти к основному содержанию
Строка состояния — это настраиваемая панель в нижней части Claude Code, которая запускает любой скрипт оболочки, который вы настроите. Она получает данные сеанса в формате JSON через stdin и отображает всё, что выводит ваш скрипт, предоставляя вам постоянный, видимый с первого взгляда обзор использования контекста, затрат, статуса git или чего-либо ещё, что вы хотите отслеживать. Строки состояния полезны, когда вы:
  • Хотите отслеживать использование контекстного окна во время работы
  • Нужно отслеживать затраты сеанса
  • Работаете в нескольких сеансах и нужно их различать
  • Хотите, чтобы ветка git и статус всегда были видны
Вот пример многострочной строки состояния, которая отображает информацию git в первой строке и цветовую полосу контекста во второй.
Многострочная строка состояния, показывающая имя модели, каталог, ветку git в первой строке и полосу прогресса использования контекста с затратами и продолжительностью во второй строке
На этой странице описано настройка базовой строки состояния, объясняется как данные передаются из Claude Code в ваш скрипт, перечисляются все поля, которые вы можете отображать, и предоставляются готовые примеры для распространённых паттернов, таких как статус git, отслеживание затрат и полосы прогресса.

Настройка строки состояния

Используйте команду /statusline для автоматического создания скрипта Claude Code, или вручную создайте скрипт и добавьте его в ваши настройки.

Использование команды /statusline

Команда /statusline принимает инструкции на естественном языке, описывающие то, что вы хотите отображать. Claude Code генерирует файл скрипта в ~/.claude/ и автоматически обновляет ваши настройки:
/statusline show model name and context percentage with a progress bar

Ручная настройка строки состояния

Добавьте поле statusLine в ваши пользовательские настройки (~/.claude/settings.json, где ~ — это ваш домашний каталог) или настройки проекта. Установите type на "command" и укажите command на путь скрипта или встроенную команду оболочки. Для полного пошагового руководства по созданию скрипта см. Построение строки состояния пошагово.
{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh",
    "padding": 2
  }
}
Поле command запускается в оболочке, поэтому вы также можете использовать встроенные команды вместо файла скрипта. Этот пример использует jq для разбора входных данных JSON и отображения имени модели и процента контекста:
{
  "statusLine": {
    "type": "command",
    "command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'"
  }
}
Необязательное поле padding добавляет дополнительное горизонтальное расстояние (в символах) к содержимому строки состояния. По умолчанию 0. Это заполнение добавляется к встроенному расстоянию интерфейса, поэтому оно управляет относительным отступом, а не абсолютным расстоянием от края терминала.

Отключение строки состояния

Запустите /statusline и попросите её удалить или очистить вашу строку состояния (например, /statusline delete, /statusline clear, /statusline remove it). Вы также можете вручную удалить поле statusLine из вашего settings.json.

Построение строки состояния пошагово

Это пошаговое руководство показывает, что происходит под капотом, путём ручного создания строки состояния, которая отображает текущую модель, рабочий каталог и процент использования контекстного окна.
Запуск /statusline с описанием того, что вы хотите, настраивает всё это автоматически.
Эти примеры используют скрипты Bash, которые работают на macOS и Linux. На Windows см. Конфигурация Windows для примеров PowerShell и Git Bash.
Строка состояния, показывающая имя модели, каталог и процент контекста
1

Создайте скрипт, который читает JSON и выводит результат

Claude Code отправляет данные JSON в ваш скрипт через stdin. Этот скрипт использует jq, парсер JSON командной строки, который вам может потребоваться установить, для извлечения имени модели, каталога и процента контекста, а затем выводит отформатированную строку.Сохраните это в ~/.claude/statusline.sh (где ~ — это ваш домашний каталог, например /Users/username на macOS или /home/username на Linux):
#!/bin/bash
# Read JSON data that Claude Code sends to stdin
input=$(cat)

# Extract fields using jq
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
# The "// 0" provides a fallback if the field is null
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)

# Output the status line - ${DIR##*/} extracts just the folder name
echo "[$MODEL] 📁 ${DIR##*/} | ${PCT}% context"
2

Сделайте его исполняемым

Отметьте скрипт как исполняемый, чтобы ваша оболочка могла его запустить:
chmod +x ~/.claude/statusline.sh
3

Добавьте в настройки

Скажите Claude Code запустить ваш скрипт как строку состояния. Добавьте эту конфигурацию в ~/.claude/settings.json, которая устанавливает type на "command" (означает «запустить эту команду оболочки») и указывает command на ваш скрипт:
{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}
Ваша строка состояния появляется в нижней части интерфейса. Настройки перезагружаются автоматически, но изменения не появятся до вашего следующего взаимодействия с Claude Code.

Как работают строки состояния

Claude Code запускает ваш скрипт и передаёт данные сеанса JSON в него через stdin. Ваш скрипт читает JSON, извлекает то, что ему нужно, и выводит текст в stdout. Claude Code отображает всё, что выводит ваш скрипт. Когда это обновляется Ваш скрипт запускается после каждого нового сообщения ассистента, когда изменяется режим разрешений или когда переключается режим vim. Обновления дебаунсятся на 300 мс, что означает, что быстрые изменения объединяются вместе и ваш скрипт запускается один раз, когда всё стабилизируется. Если новое обновление срабатывает, пока ваш скрипт всё ещё работает, выполнение в полёте отменяется. Если вы отредактируете свой скрипт, изменения не появятся до вашего следующего взаимодействия с Claude Code, которое срабатывает обновление. Что может выводить ваш скрипт
Строка состояния работает локально и не потребляет токены API. Она временно скрывается во время определённых взаимодействий с пользовательским интерфейсом, включая предложения автодополнения, меню справки и запросы разрешений.

Доступные данные

Claude Code отправляет следующие поля JSON в ваш скрипт через stdin:
ПолеОписание
model.id, model.display_nameТекущий идентификатор модели и отображаемое имя
cwd, workspace.current_dirТекущий рабочий каталог. Оба поля содержат одно и то же значение; workspace.current_dir предпочтительнее для согласованности с workspace.project_dir.
workspace.project_dirКаталог, в котором был запущен Claude Code, который может отличаться от cwd, если рабочий каталог изменяется во время сеанса
cost.total_cost_usdОбщая стоимость сеанса в USD
cost.total_duration_msОбщее реальное время с момента начала сеанса в миллисекундах
cost.total_api_duration_msОбщее время, потраченное на ожидание ответов API в миллисекундах
cost.total_lines_added, cost.total_lines_removedСтроки кода, которые были изменены
context_window.total_input_tokens, context_window.total_output_tokensСовокупные подсчёты токенов во всём сеансе
context_window.context_window_sizeМаксимальный размер контекстного окна в токенах. По умолчанию 200000 или 1000000 для моделей с расширенным контекстом.
context_window.used_percentageПредварительно рассчитанный процент использованного контекстного окна
context_window.remaining_percentageПредварительно рассчитанный процент оставшегося контекстного окна
context_window.current_usageПодсчёты токенов из последнего вызова API, описанные в полях контекстного окна
exceeds_200k_tokensПревышает ли общее количество токенов (входные, кэшированные и выходные токены в сумме) из последнего ответа API 200k. Это фиксированный порог независимо от фактического размера контекстного окна.
session_idУникальный идентификатор сеанса
transcript_pathПуть к файлу стенограммы разговора
versionВерсия Claude Code
output_style.nameИмя текущего стиля вывода
vim.modeТекущий режим vim (NORMAL или INSERT), когда режим vim включен
agent.nameИмя агента при запуске с флагом --agent или настроенными параметрами агента
worktree.nameИмя активного worktree. Присутствует только во время сеансов --worktree
worktree.pathАбсолютный путь к каталогу worktree
worktree.branchИмя ветки Git для worktree (например, "worktree-my-feature"). Отсутствует для worktrees на основе hooks
worktree.original_cwdКаталог, в котором находился Claude перед входом в worktree
worktree.original_branchВетка Git, проверенная перед входом в worktree. Отсутствует для worktrees на основе hooks
Ваша команда строки состояния получает эту структуру JSON через stdin:
{
  "cwd": "/current/working/directory",
  "session_id": "abc123...",
  "transcript_path": "/path/to/transcript.jsonl",
  "model": {
    "id": "claude-opus-4-6",
    "display_name": "Opus"
  },
  "workspace": {
    "current_dir": "/current/working/directory",
    "project_dir": "/original/project/directory"
  },
  "version": "1.0.80",
  "output_style": {
    "name": "default"
  },
  "cost": {
    "total_cost_usd": 0.01234,
    "total_duration_ms": 45000,
    "total_api_duration_ms": 2300,
    "total_lines_added": 156,
    "total_lines_removed": 23
  },
  "context_window": {
    "total_input_tokens": 15234,
    "total_output_tokens": 4521,
    "context_window_size": 200000,
    "used_percentage": 8,
    "remaining_percentage": 92,
    "current_usage": {
      "input_tokens": 8500,
      "output_tokens": 1200,
      "cache_creation_input_tokens": 5000,
      "cache_read_input_tokens": 2000
    }
  },
  "exceeds_200k_tokens": false,
  "vim": {
    "mode": "NORMAL"
  },
  "agent": {
    "name": "security-reviewer"
  },
  "worktree": {
    "name": "my-feature",
    "path": "/path/to/.claude/worktrees/my-feature",
    "branch": "worktree-my-feature",
    "original_cwd": "/path/to/project",
    "original_branch": "main"
  }
}
Поля, которые могут отсутствовать (не присутствуют в JSON):
  • vim: появляется только когда режим vim включен
  • agent: появляется только при запуске с флагом --agent или настроенными параметрами агента
  • worktree: появляется только во время сеансов --worktree. Когда присутствует, branch и original_branch также могут отсутствовать для worktrees на основе hooks
Поля, которые могут быть null:
  • context_window.current_usage: null перед первым вызовом API в сеансе
  • context_window.used_percentage, context_window.remaining_percentage: могут быть null в начале сеанса
Обрабатывайте отсутствующие поля с условным доступом и нулевые значения с резервными значениями по умолчанию в ваших скриптах.

Поля контекстного окна

Объект context_window предоставляет два способа отслеживания использования контекста:
  • Совокупные итоги (total_input_tokens, total_output_tokens): сумма всех токенов во всём сеансе, полезна для отслеживания общего потребления
  • Текущее использование (current_usage): подсчёты токенов из последнего вызова API, используйте это для точного процента контекста, так как это отражает фактическое состояние контекста
Объект current_usage содержит:
  • input_tokens: входные токены в текущем контексте
  • output_tokens: выходные токены, которые были сгенерированы
  • cache_creation_input_tokens: токены, записанные в кэш
  • cache_read_input_tokens: токены, прочитанные из кэша
Поле used_percentage рассчитывается только из входных токенов: input_tokens + cache_creation_input_tokens + cache_read_input_tokens. Оно не включает output_tokens. Если вы рассчитываете процент контекста вручную из current_usage, используйте ту же формулу только для входных данных, чтобы соответствовать used_percentage. Объект current_usage равен null перед первым вызовом API в сеансе.

Примеры

Эти примеры показывают распространённые паттерны строк состояния. Чтобы использовать любой пример:
  1. Сохраните скрипт в файл, например ~/.claude/statusline.sh (или .py/.js)
  2. Сделайте его исполняемым: chmod +x ~/.claude/statusline.sh
  3. Добавьте путь в ваши настройки
Примеры Bash используют jq для разбора JSON. Python и Node.js имеют встроенный разбор JSON.

Использование контекстного окна

Отобразите текущую модель и использование контекстного окна с визуальной полосой прогресса. Каждый скрипт читает JSON из stdin, извлекает поле used_percentage и строит 10-символьную полосу, где заполненные блоки (▓) представляют использование:
Строка состояния, показывающая имя модели и полосу прогресса с процентом
#!/bin/bash
# Read all of stdin into a variable
input=$(cat)

# Extract fields with jq, "// 0" provides fallback for null
MODEL=$(echo "$input" | jq -r '.model.display_name')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)

# Build progress bar: printf -v creates a run of spaces, then
# ${var// /▓} replaces each space with a block character
BAR_WIDTH=10
FILLED=$((PCT * BAR_WIDTH / 100))
EMPTY=$((BAR_WIDTH - FILLED))
BAR=""
[ "$FILLED" -gt 0 ] && printf -v FILL "%${FILLED}s" && BAR="${FILL// /▓}"
[ "$EMPTY" -gt 0 ] && printf -v PAD "%${EMPTY}s" && BAR="${BAR}${PAD// /░}"

echo "[$MODEL] $BAR $PCT%"

Статус git с цветами

Показывает ветку git с цветовыми индикаторами для подготовленных и изменённых файлов. Этот скрипт использует коды экранирования ANSI для цветов терминала: \033[32m — зелёный, \033[33m — жёлтый и \033[0m — сброс на значение по умолчанию.
Строка состояния, показывающая модель, каталог, ветку git и цветные индикаторы для подготовленных и изменённых файлов
Каждый скрипт проверяет, является ли текущий каталог репозиторием git, подсчитывает подготовленные и изменённые файлы и отображает цветные индикаторы:
#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')

GREEN='\033[32m'
YELLOW='\033[33m'
RESET='\033[0m'

if git rev-parse --git-dir > /dev/null 2>&1; then
    BRANCH=$(git branch --show-current 2>/dev/null)
    STAGED=$(git diff --cached --numstat 2>/dev/null | wc -l | tr -d ' ')
    MODIFIED=$(git diff --numstat 2>/dev/null | wc -l | tr -d ' ')

    GIT_STATUS=""
    [ "$STAGED" -gt 0 ] && GIT_STATUS="${GREEN}+${STAGED}${RESET}"
    [ "$MODIFIED" -gt 0 ] && GIT_STATUS="${GIT_STATUS}${YELLOW}~${MODIFIED}${RESET}"

    echo -e "[$MODEL] 📁 ${DIR##*/} | 🌿 $BRANCH $GIT_STATUS"
else
    echo "[$MODEL] 📁 ${DIR##*/}"
fi

Отслеживание затрат и продолжительности

Отслеживайте затраты API вашего сеанса и прошедшее время. Поле cost.total_cost_usd накапливает стоимость всех вызовов API в текущем сеансе. Поле cost.total_duration_ms измеряет общее прошедшее время с момента начала сеанса, а cost.total_api_duration_ms отслеживает только время, потраченное на ожидание ответов API. Каждый скрипт форматирует стоимость как валюту и преобразует миллисекунды в минуты и секунды:
Строка состояния, показывающая имя модели, стоимость сеанса и продолжительность
#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')
COST=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
DURATION_MS=$(echo "$input" | jq -r '.cost.total_duration_ms // 0')

COST_FMT=$(printf '$%.2f' "$COST")
DURATION_SEC=$((DURATION_MS / 1000))
MINS=$((DURATION_SEC / 60))
SECS=$((DURATION_SEC % 60))

echo "[$MODEL] 💰 $COST_FMT | ⏱️ ${MINS}m ${SECS}s"

Отображение нескольких строк

Ваш скрипт может выводить несколько строк для создания более богатого отображения. Каждый оператор echo создаёт отдельную строку в области состояния.
Многострочная строка состояния, показывающая имя модели, каталог, ветку git в первой строке и полосу прогресса использования контекста с затратами и продолжительностью во второй строке
Этот пример объединяет несколько методов: цвета на основе порогов (зелёный ниже 70%, жёлтый 70-89%, красный 90%+), полосу прогресса и информацию о ветке git. Каждый оператор print или echo создаёт отдельную строку:
#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
COST=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
DURATION_MS=$(echo "$input" | jq -r '.cost.total_duration_ms // 0')

CYAN='\033[36m'; GREEN='\033[32m'; YELLOW='\033[33m'; RED='\033[31m'; RESET='\033[0m'

# Pick bar color based on context usage
if [ "$PCT" -ge 90 ]; then BAR_COLOR="$RED"
elif [ "$PCT" -ge 70 ]; then BAR_COLOR="$YELLOW"
else BAR_COLOR="$GREEN"; fi

FILLED=$((PCT / 10)); EMPTY=$((10 - FILLED))
printf -v FILL "%${FILLED}s"; printf -v PAD "%${EMPTY}s"
BAR="${FILL// /█}${PAD// /░}"

MINS=$((DURATION_MS / 60000)); SECS=$(((DURATION_MS % 60000) / 1000))

BRANCH=""
git rev-parse --git-dir > /dev/null 2>&1 && BRANCH=" | 🌿 $(git branch --show-current 2>/dev/null)"

echo -e "${CYAN}[$MODEL]${RESET} 📁 ${DIR##*/}$BRANCH"
COST_FMT=$(printf '$%.2f' "$COST")
echo -e "${BAR_COLOR}${BAR}${RESET} ${PCT}% | ${YELLOW}${COST_FMT}${RESET} | ⏱️ ${MINS}m ${SECS}s"

Кликабельные ссылки

Этот пример создаёт кликабельную ссылку на ваш репозиторий GitHub. Он читает URL удалённого репозитория, преобразует формат SSH в HTTPS с помощью sed и оборачивает имя репозитория в коды экранирования OSC 8. Удерживайте Cmd (macOS) или Ctrl (Windows/Linux) и нажмите, чтобы открыть ссылку в браузере.
Строка состояния, показывающая кликабельную ссылку на репозиторий GitHub
Каждый скрипт получает URL удалённого репозитория, преобразует формат SSH в HTTPS и оборачивает имя репозитория в коды экранирования OSC 8. Версия Bash использует printf '%b', которая более надёжно интерпретирует экранирующие последовательности, чем echo -e в разных оболочках:
#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')

# Convert git SSH URL to HTTPS
REMOTE=$(git remote get-url origin 2>/dev/null | sed 's/[email protected]:/https:\/\/github.com\//' | sed 's/\.git$//')

if [ -n "$REMOTE" ]; then
    REPO_NAME=$(basename "$REMOTE")
    # OSC 8 format: \e]8;;URL\a then TEXT then \e]8;;\a
    # printf %b interprets escape sequences reliably across shells
    printf '%b' "[$MODEL] 🔗 \e]8;;${REMOTE}\a${REPO_NAME}\e]8;;\a\n"
else
    echo "[$MODEL]"
fi

Кэширование дорогостоящих операций

Ваш скрипт строки состояния запускается часто во время активных сеансов. Команды, такие как git status или git diff, могут быть медленными, особенно в больших репозиториях. Этот пример кэширует информацию git во временный файл и обновляет её только каждые 5 секунд. Используйте стабильное, фиксированное имя файла кэша, например /tmp/statusline-git-cache. Каждый вызов строки состояния запускается как новый процесс, поэтому идентификаторы на основе процесса, такие как $$, os.getpid() или process.pid, дают разное значение каждый раз и кэш никогда не переиспользуется. Каждый скрипт проверяет, отсутствует ли файл кэша или он старше 5 секунд, перед запуском команд git:
#!/bin/bash
input=$(cat)

MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')

CACHE_FILE="/tmp/statusline-git-cache"
CACHE_MAX_AGE=5  # seconds

cache_is_stale() {
    [ ! -f "$CACHE_FILE" ] || \
    # stat -f %m is macOS, stat -c %Y is Linux
    [ $(($(date +%s) - $(stat -f %m "$CACHE_FILE" 2>/dev/null || stat -c %Y "$CACHE_FILE" 2>/dev/null || echo 0))) -gt $CACHE_MAX_AGE ]
}

if cache_is_stale; then
    if git rev-parse --git-dir > /dev/null 2>&1; then
        BRANCH=$(git branch --show-current 2>/dev/null)
        STAGED=$(git diff --cached --numstat 2>/dev/null | wc -l | tr -d ' ')
        MODIFIED=$(git diff --numstat 2>/dev/null | wc -l | tr -d ' ')
        echo "$BRANCH|$STAGED|$MODIFIED" > "$CACHE_FILE"
    else
        echo "||" > "$CACHE_FILE"
    fi
fi

IFS='|' read -r BRANCH STAGED MODIFIED < "$CACHE_FILE"

if [ -n "$BRANCH" ]; then
    echo "[$MODEL] 📁 ${DIR##*/} | 🌿 $BRANCH +$STAGED ~$MODIFIED"
else
    echo "[$MODEL] 📁 ${DIR##*/}"
fi

Конфигурация Windows

На Windows Claude Code запускает команды строки состояния через Git Bash. Вы можете вызвать PowerShell из этой оболочки:
{
  "statusLine": {
    "type": "command",
    "command": "powershell -NoProfile -File C:/Users/username/.claude/statusline.ps1"
  }
}
Или запустите скрипт Bash напрямую:
{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Советы

  • Тестирование с макетными входными данными: echo '{"model":{"display_name":"Opus"},"context_window":{"used_percentage":25}}' | ./statusline.sh
  • Сохраняйте вывод коротким: строка состояния имеет ограниченную ширину, поэтому длинный вывод может быть обрезан или неправильно обёрнут
  • Кэшируйте медленные операции: ваш скрипт запускается часто во время активных сеансов, поэтому команды, такие как git status, могут вызвать задержку. См. пример кэширования для того, как это обработать.
Проекты сообщества, такие как ccstatusline и starship-claude, предоставляют предварительно построенные конфигурации с темами и дополнительными функциями.

Устранение неполадок

Строка состояния не отображается
  • Убедитесь, что ваш скрипт исполняемый: chmod +x ~/.claude/statusline.sh
  • Проверьте, что ваш скрипт выводит в stdout, а не stderr
  • Запустите ваш скрипт вручную, чтобы убедиться, что он выводит результат
  • Если disableAllHooks установлен на true в ваших настройках, строка состояния также отключена. Удалите эту настройку или установите её на false, чтобы повторно включить.
  • Запустите claude --debug, чтобы записать код выхода и stderr из первого вызова строки состояния в сеансе
  • Попросите Claude прочитать ваш файл настроек и выполнить команду statusLine напрямую, чтобы выявить ошибки
Строка состояния показывает -- или пустые значения
  • Поля могут быть null перед завершением первого ответа API
  • Обрабатывайте нулевые значения в вашем скрипте с резервными значениями, такими как // 0 в jq
  • Перезагрузите Claude Code, если значения остаются пустыми после нескольких сообщений
Процент контекста показывает неожиданные значения
  • Используйте used_percentage для точного состояния контекста вместо совокупных итогов
  • total_input_tokens и total_output_tokens накапливаются во всём сеансе и могут превышать размер контекстного окна
  • Процент контекста может отличаться от вывода /context из-за времени расчёта каждого
Ссылки OSC 8 не кликабельны
  • Убедитесь, что ваш терминал поддерживает гиперссылки OSC 8 (iTerm2, Kitty, WezTerm)
  • Terminal.app не поддерживает кликабельные ссылки
  • Сеансы SSH и tmux могут удалять последовательности OSC в зависимости от конфигурации
  • Если последовательности экранирования отображаются как буквальный текст, например \e]8;;, используйте printf '%b' вместо echo -e для более надёжной обработки экранирования
Глюки отображения с последовательностями экранирования
  • Сложные последовательности экранирования (цвета ANSI, ссылки OSC 8) могут иногда вызывать искажённый вывод, если они перекрываются с другими обновлениями пользовательского интерфейса
  • Если вы видите повреждённый текст, попробуйте упростить ваш скрипт до простого текстового вывода
  • Многострочные строки состояния с кодами экранирования более подвержены проблемам отображения, чем однострочный простой текст
Ошибки скрипта или зависания
  • Скрипты, которые выходят с ненулевыми кодами или не выводят результат, вызывают пустую строку состояния
  • Медленные скрипты блокируют обновление строки состояния до их завершения. Держите скрипты быстрыми, чтобы избежать устаревшего вывода.
  • Если новое обновление срабатывает, пока медленный скрипт работает, выполнение скрипта отменяется
  • Протестируйте ваш скрипт независимо с макетными входными данными перед его настройкой
Уведомления делят строку состояния
  • Системные уведомления, такие как ошибки MCP сервера, автоматические обновления и предупреждения о токенах, отображаются на правой стороне той же строки, что и ваша строка состояния
  • Включение подробного режима добавляет счётчик токенов в эту область
  • На узких терминалах эти уведомления могут обрезать вывод вашей строки состояния