SpyBara
Go Premium

terminal-config.md 2026-06-16 21:57 UTC to 2026-06-17 17:02 UTC

1 added, 1 removed.

2026
Tue 30 23:02 Mon 29 23:02 Sat 27 01:01 Fri 26 23:00 Thu 25 23:58 Wed 24 22:02 Tue 23 22:00 Mon 22 23:59 Fri 19 22:58 Thu 18 22:00 Wed 17 17:02 Tue 16 21:57 Mon 15 23:02 Sat 13 21:59 Fri 12 22:00 Thu 11 23:01 Wed 10 23:57 Tue 9 06:34 Mon 8 06:52 Sat 6 06:24 Fri 5 06:45 Thu 4 06:52 Wed 3 06:53 Tue 2 06:51

Настройте ваш терминал для Claude Code

Исправьте Shift+Enter для разрывов строк, получайте звуковой сигнал терминала когда Claude завершает работу, настройте tmux, сопоставьте цветовую тему и включите режим Vim в CLI Claude Code.

Claude Code работает в любом терминале без конфигурации. Эта страница предназначена для случаев, когда что-то конкретное ведёт себя не так, как вы ожидаете. Найдите ваш симптом ниже. Если всё уже работает правильно, вам не нужна эта страница.

Эта страница посвящена тому, чтобы ваш терминал отправлял правильные сигналы в Claude Code. Чтобы изменить, на какие клавиши сам Claude Code реагирует, см. вместо этого сочетания клавиш.

Ввод многострочных приглашений

Нажатие Enter отправляет ваше сообщение. Чтобы добавить разрыв строки без отправки, нажмите Ctrl+J или введите \ и затем нажмите Enter. Оба варианта работают в каждом терминале без настройки.

В большинстве терминалов вы также можете нажать Shift+Enter, но поддержка варьируется в зависимости от эмулятора терминала:

Терминал Shift+Enter для разрыва строки
Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal Работает без настройки
VS Code, Cursor, Devin Desktop, Alacritty, Zed Запустите /terminal-setup один раз
gnome-terminal, JetBrains IDEs такие как PyCharm и Android Studio Недоступно; используйте Ctrl+J или \ затем Enter

Для VS Code, Cursor, Devin Desktop, Alacritty и Zed, /terminal-setup записывает Shift+Enter и другие сочетания клавиш в файл конфигурации терминала. Существующие привязки остаются на месте; если вы видите сообщение, такое как VSCode terminal Shift+Enter key binding already configured, никаких изменений не было сделано. Запустите /terminal-setup непосредственно в хост-терминале, а не внутри tmux или screen, так как ему нужно записать в конфигурацию хост-терминала.

В VS Code, Cursor и Devin Desktop, /terminal-setup также обновляет два параметра редактора: он устанавливает terminal.integrated.gpuAcceleration в "off" для предотвращения искажённого текста в интегрированном терминале и устанавливает terminal.integrated.mouseWheelScrollSensitivity для более плавной прокрутки в полноэкранном режиме. Чтобы отменить изменение ускорения GPU, установите его обратно на "auto" и перезагрузите окно редактора.

Если вы работаете внутри tmux, Shift+Enter также требует конфигурацию tmux ниже даже когда внешний терминал её поддерживает.

Чтобы привязать разрыв строки к другой клавише или поменять поведение так, чтобы Enter вставлял разрыв строки, а Shift+Enter отправлял, сопоставьте действия chat:newline и chat:submit в вашем файле сочетаний клавиш.

Включите сочетания клавиш Option на macOS

Некоторые сочетания клавиш Claude Code используют клавишу Option, такие как Option+Enter для разрыва строки или Option+P для переключения моделей. На macOS большинство терминалов не отправляют Option как модификатор по умолчанию, поэтому эти сочетания клавиш ничего не делают, пока вы это не включите. Параметр терминала для этого обычно называется "Use Option as Meta Key"; Meta — это историческое имя Unix для клавиши, которая теперь называется Option или Alt.

Откройте Settings → Profiles → Keyboard и установите флажок "Use Option as Meta Key".

Если вы приняли первое приглашение Claude Code, которое предлагало "Option+Enter для разрывов строк и визуального звонка", это уже сделано. Это приглашение запускает /terminal-setup для вас, что включает Option как Meta и переключает звуковой звонок на визуальную вспышку экрана в вашем профиле Apple Terminal.

Для Ghostty, Kitty и других терминалов ищите параметр Option-as-Alt или Option-as-Meta в файле конфигурации терминала.

Получите звуковой сигнал терминала или уведомление

Когда Claude завершает задачу или делает паузу для приглашения разрешения, он отправляет событие уведомления. Отображение этого как звукового сигнала терминала или уведомления рабочего стола позволяет вам переключиться на другую работу, пока выполняется длительная задача.

По умолчанию Claude Code отправляет уведомление рабочего стола только в Ghostty, Kitty и iTerm2. В других терминалах установите preferredNotifChannel на "terminal_bell" для звукового сигнала терминала или настройте хук Notification для пользовательского звука или команды.

Уведомление рабочего стола достигает вашей локальной машины через SSH, поэтому удалённый сеанс всё ещё может вас оповестить. Ghostty и Kitty перенаправляют его в центр уведомлений вашей ОС без дополнительной настройки. iTerm2 требует, чтобы вы включили перенаправление:

1

Откройте параметры уведомлений iTerm2

Перейдите в Settings → Profiles → Terminal.

2

Включите оповещения

Установите флажок "Notification Center Alerts", затем нажмите "Filter Alerts" и включите "Send escape sequence-generated alerts".

Если уведомления всё ещё не появляются, убедитесь, что ваше приложение терминала имеет разрешение на уведомления в настройках вашей ОС, и если вы работаете внутри tmux, включите passthrough.

Воспроизведите звук с помощью хука Notification

В любом терминале вы можете настроить хук Notification для воспроизведения звука или запуска пользовательской команды, когда Claude нуждается в вашем внимании. Хуки работают вместе с уведомлением рабочего стола, а не заменяя его, поэтому терминалы, которые не получают уведомление рабочего стола, такие как Warp или интегрированный терминал VS Code, могут использовать хук или установить preferredNotifChannel на "terminal_bell" вместо этого.

Пример ниже воспроизводит системный звук на macOS. Связанное руководство содержит команды уведомлений рабочего стола для macOS, Linux и Windows.

{
  "hooks": {
    "Notification": [
      {
        "hooks": [{ "type": "command", "command": "afplay /System/Library/Sounds/Glass.aiff" }]
      }
    ]
  }
}

Настройте tmux

Когда Claude Code работает внутри tmux, две вещи ломаются по умолчанию: Shift+Enter отправляет вместо вставки разрыва строки, и уведомления рабочего стола и полоса прогресса никогда не достигают внешнего терминала. Добавьте эти строки в ~/.tmux.conf, затем запустите tmux source-file ~/.tmux.conf чтобы применить их к работающему серверу:

set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

Строка allow-passthrough позволяет уведомлениям и обновлениям прогресса достичь внешний терминал вместо того, чтобы быть поглощёнными tmux. Строки extended-keys позволяют tmux различать Shift+Enter от простого Enter, чтобы сочетание клавиш разрыва строки работало.

Сопоставьте цветовую тему

Используйте команду /theme или средство выбора темы в /config для выбора темы Claude Code, которая соответствует вашему терминалу. Выбор опции auto обнаруживает светлый или тёмный фон вашего терминала, поэтому тема следует изменениям внешнего вида ОС всякий раз, когда это делает ваш терминал. Claude Code не управляет цветовой схемой самого терминала, которая устанавливается приложением терминала.

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

Создайте пользовательскую тему

В дополнение к встроенным предустановкам, /theme отображает любые пользовательские темы, которые вы определили, и любые темы, предоставленные установленными plugins. Выберите New custom theme… в конце списка, чтобы создать её интерактивно: вы назовёте тему, а затем выберете отдельные цветовые токены для переопределения. Нажмите Ctrl+E, пока выделена пользовательская тема, чтобы отредактировать её.

Каждая пользовательская тема — это JSON-файл в ~/.claude/themes/. Имя файла без расширения .json — это слаг темы, и выбор темы сохраняет custom:<slug> как ваше предпочтение темы. Файл имеет три необязательных поля:

Field Type Description
name string Display label shown in /theme. Defaults to the filename slug
base string Built-in preset the theme starts from: dark, light, dark-daltonized, light-daltonized, dark-ansi, or light-ansi. Defaults to dark
overrides object Map of color token names to color values. Tokens not listed here fall through to the base preset

Цветовые значения принимают #rrggbb, #rgb, rgb(r,g,b), ansi256(n) или ansi:<name>, где <name> — одно из 16 стандартных имён цветов ANSI, таких как red или cyanBright. Неизвестные токены и недопустимые цветовые значения игнорируются, поэтому опечатка не может нарушить отрисовку.

Следующий пример определяет тему, которая сохраняет тёмную предустановку, но перекрашивает акцент приглашения, текст ошибки и текст успеха:

{
  "name": "Dracula",
  "base": "dark",
  "overrides": {
    "claude": "#bd93f9",
    "error": "#ff5555",
    "success": "#50fa7b"
  }
}

Claude Code отслеживает ~/.claude/themes/ и перезагружает при изменении файла, поэтому изменения, сделанные в вашем редакторе, применяются к работающему сеансу без перезагрузки.

Ниже приведён полный список настроек, которые вы можете установить в overrides. Интерактивный редактор в /theme показывает те же токены с живым предпросмотром, плюс несколько однозначных акцентов, таких как цвета экрана адаптации, которые опущены здесь.

Color token reference

Следующий пример объединяет токены из нескольких групп ниже: фирменный акцент, граница режима Plan Mode, фоны diff и фон полноэкранного сообщения.

{
"name": "Midnight",
"base": "dark",
"overrides": {
"claude": "#a78bfa",
"planMode": "#38bdf8",
"diffAdded": "#14532d",
"diffRemoved": "#7f1d1d",
"userMessageBackground": "#1e1b4b"
}
}

Text and accent colors

Управляйте основным фирменным акцентом и оттенками переднего плана текста, используемыми во всём интерфейсе.

Token Controls
claude Primary brand accent, used for the spinner and assistant label
text Default foreground text
inverseText Text drawn on top of a colored background, such as status badges
inactive Secondary text such as hints, timestamps, and disabled items
subtle Faint borders and de-emphasized secondary text
suggestion Autocomplete suggestions and selection highlight in pickers
permission Dialog borders, including permission prompts and pickers
remember Memory and CLAUDE.md indicators

Status colors

Сигнализируйте об успехе, сбое и состояниях предупреждения в сообщениях и индикаторах.

Token Controls
success Success messages and passing checks
error Error messages and failures
warning Warnings, caution messages, and the auto mode border
merged Merged pull request status

Input box and mode indicators

Установите цвет границы поля ввода и акцент, отображаемый при активном режиме разрешения или индикаторе.

Token Controls
promptBorder Input box border in the default permission mode
planMode Plan mode accent and border
autoAccept Accept-edits mode accent and border
bashBorder Input box border when entering a ! shell command
ide IDE connection indicator
fastMode Fast mode indicator

Diff rendering

Раскрасьте добавленный и удалённый код в редактировании файлов и рецензировании.

Token Controls
diffAdded Background of added lines
diffRemoved Background of removed lines
diffAddedDimmed Background of unchanged context near added lines
diffRemovedDimmed Background of unchanged context near removed lines
diffAddedWord Word-level highlight within an added line
diffRemovedWord Word-level highlight within a removed line

Fullscreen mode

Применяется только в режиме полноэкранной отрисовки, где сообщения имеют заливку фона.

Token Controls
userMessageBackground Background behind your messages in the transcript
userMessageBackgroundHover Background behind a message while hovered or expanded
messageActionsBackground Background behind the selected message when the action bar is open
bashMessageBackgroundColor Background behind ! shell command entries in the transcript
memoryBackgroundColor Background behind # memory entries in the transcript
selectionBg Background of text selected with the mouse

Usage meter and speaker labels

Отрегулируйте полосу, показанную в представлении /usage, и метки, которые отличают ваши сообщения от сообщений Claude.

Token Controls
rate_limit_fill Filled portion of the usage meter
rate_limit_empty Unfilled portion of the usage meter
briefLabelYou Color of the You label on your messages
briefLabelClaude Color of the Claude label on assistant messages

Shimmer variants and subagent colors

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

  • claude и claudeShimmer
  • warning и warningShimmer
  • permission и permissionShimmer
  • promptBorder и promptBorderShimmer
  • inactive и inactiveShimmer
  • fastMode и fastModeShimmer

Каждый subagent и параллельная задача отображаются в одном из восьми именованных цветов, чтобы вы могли различить их в транскрипте. Имена токенов следуют шаблону <color>_FOR_SUBAGENTS_ONLY, где <color> — это red, blue, green, yellow, purple, orange, pink или cyan. Переопределите их, чтобы изменить внешний вид каждого именованного цвета. Например, subagent с color: blue в его определении отображается с использованием значения blue_FOR_SUBAGENTS_ONLY.

Ключевые слова ultrathink и ultraplan в поле ввода приглашения отображаются с семицветным радужным градиентом. Имена токенов следуют шаблону rainbow_<color> и rainbow_<color>_shimmer, где <color> — это red, orange, yellow, green, blue, indigo или violet.

Переключитесь на полноэкранный рендеринг

Если дисплей мерцает или позиция прокрутки прыгает, пока Claude работает, переключитесь на режим полноэкранного рендеринга. Он рисует на отдельном экране, который терминал зарезервировал для полноэкранных приложений, вместо добавления в вашу обычную прокрутку, что сохраняет использование памяти на плоском уровне и добавляет поддержку мыши для прокрутки и выделения. В этом режиме вы прокручиваете с помощью мыши или PageUp внутри Claude Code, а не с помощью встроенной прокрутки вашего терминала; см. страницу полноэкранного режима для того, как искать и копировать.

Запустите /tui fullscreen для переключения в текущем сеансе с вашим разговором нетронутым. Чтобы сделать это по умолчанию, установите переменную окружения CLAUDE_CODE_NO_FLICKER перед запуском Claude Code:

CLAUDE_CODE_NO_FLICKER=1 claude

Вставьте большое содержимое

Когда вы вставляете более 10 000 символов в приглашение, Claude Code сворачивает ввод в заполнитель [Pasted text], чтобы поле ввода оставалось пригодным для использования. Полное содержимое всё ещё отправляется Claude при отправке.

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

Редактируйте приглашения с помощью сочетаний клавиш Vim

Claude Code включает режим редактирования в стиле Vim для ввода приглашения. Включите его через /config → Editor mode или установив editorMode на "vim" в ~/.claude/settings.json. Установите Editor mode обратно на normal, чтобы отключить его.

Режим Vim поддерживает подмножество движений и операторов режима NORMAL и VISUAL, таких как навигация hjkl, выделение v/V и d/c/y с текстовыми объектами. См. справочник режима редактора Vim для полной таблицы клавиш. Движения Vim не переназначаются через файл сочетаний клавиш.

Нажатие Enter всё ещё отправляет ваше приглашение в режиме INSERT, в отличие от стандартного Vim. Используйте o или O в режиме NORMAL или Ctrl+J для вставки разрыва строки вместо этого.