SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-28

Как настроить outputStyle в Claude Code

Узнайте, как параметры outputStyle меняют системный промпт Claude Code. Разбираем работу встроенных стилей, нюансы обновления конфигурации через config и перезапуск сессии.

Что такое стиль вывода в Claude Code

Стиль вывода в Claude Code — это блок инструкций, который Claude Code добавляет к своему системному промпту. Он меняет способ, которым Claude отвечает вам: роль, которую он принимает, и формат выводимых данных. Это не обучает Claude работе с вашей кодовой базой и не дает ему прав на выполнение каких-либо действий.

Claude Code поставляется с пятью встроенными стилями. Ваш выбор сохраняется в одном ключе настроек, outputStyle, и этот ключ считывается один раз при запуске сессии. Этот факт объясняет большинство недопониманий, связанных с данной функцией: стиль, который вы меняете в середине сессии, сохраняется, но игнорируется до тех пор, пока вы не перезапустите сессию.

На VPS это не просто косметическая настройка. Транскрипт — это то, что вы читаете через SSH-соединение, обычно внутри окна tmux, поэтому каждая строка, которую выводит Claude, — это строка, которую вы ждете, и строка в буфере прокрутки фиксированного размера.

Где находится настройка outputStyle

Выберите стиль в меню /config, в разделе Output style. Claude Code записывает ваш выбор в .claude/settings.local.json в проекте, над которым вы работаете.

Отдельная команда /output-style больше не существует. Она была признана устаревшей в версии 2.1.73 и удалена в 2.1.91, поэтому в текущей сборке она не выполняет никаких действий. Проверьте используемую версию перед тем, как следовать старым руководствам. Версии на этой странице были проверены в августе 2026 года.

claude --version

Вы также можете задать ключ вручную. Его можно хранить в четырех файлах настроек, при этом более узкий файл имеет приоритет над более широким.

  • ~/.claude/settings.json — ваш пользовательский файл. Он применяется во всех проектах на этой машине.
  • .claude/settings.json — файл проекта. Он фиксируется в git, поэтому применяется для всех, кто клонирует репозиторий.
  • .claude/settings.local.json — локальный файл проекта. Он не фиксируется в git и переопределяет оба предыдущих файла. Именно в этот файл записывает настройки меню /config.
  • Управляемые настройки, развернутые ИТ-командой из системного пути, например /etc/claude-code/ в Linux, переопределяют все остальные.

Значением ключа является имя стиля:

{
  "outputStyle": "Concise"
}

Для одной сессии передайте тот же ключ в командной строке. Флаг --settings принимает путь или встроенную JSON-строку, и его значения переопределяют соответствующие ключи в файлах настроек для данного запуска:

claude --settings '{"outputStyle": "Concise"}'

Метки меню и слэш-команды менялись как минимум один раз за время существования этой функции. Ключ outputStyle остался неизменным. Если скриншот в руководстве перестал соответствовать тому, что вы видите, задайте ключ напрямую и подтвердите его с помощью /status, которая выводит список действующих источников настроек.

Почему ваш новый стиль вывода не применяется до очистки сессии

Claude Code формирует системный промпт один раз при запуске сессии, и настройки стиля являются его частью. Поэтому изменение настроек во время работы сессии сохраняет значение, но не меняет поведение, так как запущенная сессия продолжает использовать промпт, сформированный при старте. Новый стиль загружается при следующем /clear или при новом запуске.

/clear
/context

/context выводит содержимое текущего контекстного окна с разбивкой по категориям, включая системный промпт. Запустите эту команду в новой сессии для каждого стиля, и строка системного промпта станет входными данными для сравнения. Это также самый быстрый способ убедиться, что пользовательский стиль был загружен. Более подробную информацию о том, чем заполняется окно контекста, см. в как заполняется контекст в долгой сессии Claude Code.

Существует причина, по которой настройка ожидает перезапуска, а не применяется «на лету». API обслуживает повторные запросы из кэша промптов, который сопоставляется с началом каждого запроса, а системный промпт находится в самом начале. Перезапись промпта в середине диалога сделала бы недействительным всё, что следует за ним, поэтому следующий шаг потребовал бы повторной обработки всей истории как новых входных данных. Фиксация стиля при старте сессии позволяет избежать этих затрат. Смена стилей — недорогая операция. Она просто требует очистки.

На что влияют встроенные стили вывода транскрипта

  • Default — стандартный системный промпт Claude Code, предназначенный для задач по разработке ПО.
  • Concise — выводит результат в первую очередь. Этот стиль исключает вступления и пошаговые описания, сохраняя ответы краткими до тех пор, пока вы не запросите подробности. Техническая реализация при этом не меняется. Стиль никогда не сокращает отчеты об ошибках или предупреждения безопасности и всегда запрашивает подтверждение перед выполнением деструктивных действий. Для этого стиля требуется Claude Code версии 2.1.237 или выше.
  • Explanatory — добавляет образовательные «Инсайты» (Insights) между этапами выполнения задачи. В них объясняется, почему был сделан тот или иной выбор реализации и какие шаблоны уже используются в вашей кодовой базе. Транскрипт намеренно становится длиннее.
  • Learning — идет дальше. Claude делится инсайтами, а затем предлагает вам самостоятельно написать небольшие фрагменты кода, помечая каждое место комментарием TODO(human) в файле.
  • Proactive — заставляет Claude действовать самостоятельно, вместо того чтобы задавать вопросы. Система делает обоснованные предположения при принятии рутинных решений, не останавливаясь для подтверждения.

Внимательно ознакомьтесь с последним пунктом, так как его часто понимают неверно. Proactive — это руководство в системном промпте. Оно меняет то, что пытается сделать Claude. Ваш режим разрешений (permission mode) по-прежнему определяет, что именно будет запущено без вашего участия; это ключевая настройка для сервера, который работает без присмотра. Подробности см. в автоматический режим и режимы разрешений Claude Code.

Чем стиль вывода отличается от CLAUDE.md, хука и субагента

Все эти инструменты определяют поведение Claude, но работают на разных уровнях.

  • Стиль вывода добавляется в системный промпт. Он применяется к каждому ответу в основном диалоге.
  • CLAUDE.md добавляется как сообщение пользователя после системного промпта. Здесь следует хранить соглашения проекта и факты о кодовой базе.
  • --append-system-prompt добавляет текст к системному промпту для одного вызова, не удаляя ничего из него. Это разовая версия стиля вывода.
  • Хук — это shell-команда, которую Claude Code выполняет самостоятельно при наступлении определённого события. Она принудительно запускается через harness, поэтому выполняется независимо от того, выбрал бы Claude это действие или нет. См. что может и чего не может делать хук Claude Code.
  • Субагент работает со своим собственным системным промптом и набором инструментов.

Короткий тест помогает выбрать между первыми двумя вариантами. Факты о вашем проекте следует указывать в CLAUDE.md, потому что Claude должен их знать. Формулировки относятся к стилю вывода, потому что он определяет, как читается ответ. Всё, что должно выполняться каждый раз независимо от решения модели, относится к hook. Уровень, на котором находится каждый из этих механизмов, определяется программой, в которой работает модель, а не самой моделью. Поэтому стиль может только влиять, а hook — обеспечивать выполнение.

Стили вывода применяются только к основному диалогу. Субагент не наследует ваш стиль, так как он начинает собственный диалог со своим системным промптом. Исключением является ветвление (fork) текущего диалога, поскольку ветка в точности наследует системный промпт родителя. Если субагент пишет в манере, которая вам не нравится, отредактируйте файл этого агента, а не свой стиль. Второй сеанс Claude Code на той же машине соблюдает те же границы: он считывает файлы настроек самостоятельно при запуске. Поэтому, когда вы передаете задачу другому сеансу, работающему параллельно, его ответы будут приходить в том стиле, который загрузил этот сеанс, а не ваш.

Как создать собственный стиль вывода

Пользовательский стиль вывода — это markdown-файл с frontmatter. Сохраните его в домашнем каталоге, чтобы использовать во всех проектах, или внутри репозитория, чтобы хранить его вместе с кодом. Пользовательский каталог — это ~/.claude/output-styles/, а каталог проекта — .claude/output-styles/.

mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---

Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.

Do not narrate what you are about to do. Report what you did.

When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOF

Запустите сессию и откройте /config. Ваш стиль появится в списке Output style с описанием, которое вы указали. Если стиль отсутствует, значит, файл не считывается: проверьте путь и убедитесь, что блок frontmatter --- является первым элементом в файле. Имя файла становится именем стиля, если в frontmatter не задано name, поэтому данный стиль называется Terse ops, а не terse-ops.

Выберите его или установите ключ с этим точным именем и очистите:

{
  "outputStyle": "Terse ops"
}

Одно поле определяет, является ли ваш файл дополнением или заменой. keep-coding-instructions по умолчанию имеет значение false, что означает, что пользовательский стиль отменяет встроенные инструкции Claude Code по разработке ПО и работает только с вашим текстом. Эти встроенные инструкции определяют, как Claude оценивает масштаб изменений и проверяет свою работу. Опустите это поле, если вы используете ассистента для написания текстов или анализа данных, где эти инструкции не требуются. Установите значение true для любых задач, связанных с кодом, иначе вы заметите, что внимательный инженер внезапно перестал проверять свою работу. Если ваша цель — не изменить стиль общения, а более строго определить объем работы для задачи, это относится к инженерным инструкциям, а не к файлу стиля: навык Ponytail — это рабочий пример, единое правило, которое направляет агента к выполнению минимально необходимых изменений.

description — это строка, которую селектор /config отображает рядом с именем. Напишите её так, чтобы через полгода вы могли легко выбрать нужный стиль из двух своих вариантов.

Почему лаконичный стиль предпочтительнее при работе по SSH

На VPS вы просматриваете вывод через несколько уровней, которых нет в локальном терминале, и каждый из них требует оплаты за многословность.

Первый уровень — буфер прокрутки. В tmux каждая панель хранит фиксированное количество строк, задаваемое параметром history-limit, значение по умолчанию — 2000. Подробный транскрипт заполняет этот буфер быстрее, поэтому начало сессии вытесняется раньше, и нужный вам вывод пропадает. Увеличьте это значение, если требуется больше места:

echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.conf

Панели, созданные после этого изменения, будут хранить по 20000 строк, что увеличит потребление памяти на каждую панель. Уже открытые панели сохранят старый лимит, так как размер буфера фиксируется в момент создания панели. Если вы еще настраиваете макет сессии, в запуске Claude Code внутри tmux на VPS описаны детали.

Второй уровень — задержка. Ответ передается в терминал по мере генерации. При высоком времени кругового обхода (RTT) длинное вступление заставляет вас ждать, пока текст загрузится, прежде чем появится сам ответ.

Третий уровень — выходные токены. Каждая описательная строка тарифицируется как выходной трафик. Режимы Explanatory и Learning по своей сути более объемные. Режим Concise спроектирован как краткий, так как он дает команду Claude по умолчанию сокращать ответы.

Не доверяйте никаким процентным показателям, включая данные на этой странице. Размер разницы зависит от ваших промптов, используемой модели и характера задач, поэтому измеряйте показатели до и после самостоятельно. Выполните одну и ту же реальную задачу в двух новых сессиях — одну в режиме Default, другую в режиме Concise — и сравните результаты. Строка состояния — самый простой измеритель, так как Claude Code передает вашему скрипту JSON-объект через stdin, который уже содержит название стиля и количество токенов:

cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.sh

Укажите на него в настройке statusLine:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Теперь в нижней части сессии отображается активный стиль и количество созданных им токенов — это именно те данные «до» и «после», которые вам нужны. Скрипту требуется jq, парсер JSON для командной строки, поэтому сначала установите его с помощью sudo apt install -y jq. Если строка остается пустой, запустите скрипт вручную и передайте в него JSON через конвейер, так как строка состояния, завершающаяся с ненулевым кодом, ничего не выводит и не сообщает. В пользовательской строке состояния Claude Code перечислены остальные поля этого объекта. Что касается биллинга, а не сессии, ознакомьтесь с разделами куда на самом деле уходят токены Claude Code и инструменты для отслеживания расходов Claude Code.

Как проверить, какой стиль вывода загружен в данный момент

Используйте эти проверки вместо предположений.

  • /status выводит список источников настроек, действующих в текущем сеансе, включая информацию о том, применяются ли корпоративные настройки.
  • /context отображает загруженный системный промпт как категорию в сводке контекстного окна.
  • claude doctor, запущенная из оболочки без открытия сеанса, выводит диагностику установки и настроек, а также сообщает о невалидных файлах конфигурации.

Если стиль не применяется, причина почти всегда кроется в одном из двух факторов. Первый — вы изменили стиль во время сеанса, поэтому выполните /clear. Второй — приоритетность: .claude/settings.local.json имеет приоритет над .claude/settings.json, а оба они перекрывают ~/.claude/settings.json. Поскольку средство выбора /config записывает данные в локальный файл, стиль, зафиксированный вашей командой в .claude/settings.json, будет незаметно переопределен на любой машине, где кто-либо хотя бы раз воспользовался этим меню. /status показывает, какой источник настроек оказался приоритетным.

Синтаксическая ошибка в JSON приводит к тем же симптомам, но требует иного решения. claude doctor указывает имя файла, который не удалось проанализировать; эту команду стоит выполнить до того, как приступать к более сложному поиску неисправностей.

FAQ

Почему команда /output-style перестала работать?

Она была помечена как устаревшая в версии 2.1.73 и удалена в версии 2.1.91, поэтому в сборках от середины 2026 года эта команда отсутствует. Запустите claude --version, чтобы проверить текущую версию. Выберите стиль из /config в разделе Output style или установите ключ outputStyle в файле настроек. Этот ключ сохранился дольше, чем команда, поэтому запись инструкции по его прямой настройке будет полезна для ваших личных заметок.

Я изменил стиль вывода, но ничего не произошло. Почему?

Стиль вывода является частью системного промпта, а Claude Code формирует системный промпт один раз при запуске сессии. Изменение, внесенное в середине сессии, сохраняется, но не применяется, так как запущенная сессия продолжает использовать промпт, сформированный при старте. Запустите /clear или начните новую сессию. Если стиль по-прежнему не применяется, запустите /status, чтобы увидеть, какой источник настроек оказался приоритетным, так как .claude/settings.local.json переопределяет .claude/settings.json, а оба они переопределяют ~/.claude/settings.json.

Позволяет ли стиль вывода Concise экономить деньги?

Он сокращает количество выходных токенов, как вы и ожидаете, поскольку предписывает Claude по умолчанию давать краткие ответы. Итоговая экономия зависит от ваших промптов и используемой модели, поэтому любые опубликованные процентные показатели следует рассматривать как результаты чужой работы. Проведите собственные измерения: запустите /context в новой сессии для каждого стиля, чтобы оценить входные данные, затем выполните одну и ту же задачу в каждом из них и сравните количество выходных токенов. Стиль Concise никогда не сокращает отчеты об ошибках или предупреждения безопасности, поэтому наиболее важные части текста остаются в полном объеме.

Изменит ли смена стиля вывода манеру работы моих субагентов?

Нет. Стили вывода применяются только к основному диалогу, так как субагент начинает собственный диалог со своим системным промптом и набором инструментов. Исключением является создание форка текущего диалога, так как форк в точности наследует системный промпт родительского процесса. Чтобы изменить манеру ответов субагента, отредактируйте файл самого агента.

Может ли стиль вывода позволить Claude выполнять команды без запроса?

Нет. Стиль вывода — это текст в системном промпте, поэтому он может влиять только на то, что Claude пытается сделать. Стиль Proactive заставляет Claude делать предположения и действовать, а не останавливаться для принятия рутинных решений, но он по-прежнему не может самостоятельно подтверждать выполнение команд. Ваш режим разрешений определяет, что будет запущено без запроса, и именно эту настройку следует проверить перед тем, как оставить сессию запущенной на сервере.