$ sudo teach IT

Claude Code работает в любом терминале без настройки. Но «работает» и «работает удобно» — разные вещи. Задачи агенту часто описываются несколькими абзацами: контекст, требования, ограничения. Если в вашем терминале Shift+Enter отправляет сообщение вместо переноса строки, вы будете писать всё одной строкой или случайно отправлять недописанные запросы.

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

Третий — редактор. Читать диффы в терминале можно, но сравнивать изменения бок о бок в IDE удобнее, особенно когда правок несколько.

После этого урока ваше окружение будет настроено под реальную работу: многострочный ввод, уведомления, интеграция с редактором.

Что уже умеем / что добавим

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

Что вы узнаете в рамках статьи

  • Как вводить многострочные запросы в любом терминале
  • Как настроить уведомление о том, что агент закончил работу или ждёт ответа
  • Что нужно донастроить, если вы работаете в tmux
  • Как подключить Claude Code к VS Code и что даёт расширение
  • Чем расширение для редактора отличается от CLI

Ключевые термины

  • /terminal-setup — команда, которая один раз записывает привязку Shift+Enter в конфигурацию поддерживаемого терминала.
  • preferredNotifChannel — настройка, определяющая способ уведомления: системное уведомление или звонок терминала.
  • Терминальный звонок (terminal bell) — звуковой сигнал терминала, универсальная замена системным уведомлениям.
  • /config — интерактивное меню настроек Claude Code: тема, режим редактирования, канал обновлений и прочее.
  • Расширение Claude Code — плагин для VS Code с графической панелью, диффами и @-упоминаниями файлов.
  • /ide — команда, подключающая запущенный в внешнем терминале Claude Code к открытому редактору.

Многострочный ввод

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

Shift+Enter тоже работает, но не во всех терминалах:

  • Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal — работает сразу
  • VS Code, Cursor, Alacritty, Zed — нужно один раз выполнить /terminal-setup
  • gnome-terminal, IDE от JetBrains — недоступно, используйте Ctrl+J

Команда выполняется прямо в сессии Claude Code:

/terminal-setup

При первом запуске вы увидите подтверждение вида Installed VSCode terminal Shift+Enter key binding. Уже существующие привязки команда не трогает: если настройка была, вы получите сообщение, что она уже сконфигурирована, и ничего не изменится.

Одна тонкость: запускать /terminal-setup нужно непосредственно в терминале, а не внутри tmux или screen — команде требуется записать изменения в конфигурацию самого терминала.

В VS Code и Cursor /terminal-setup попутно правит две настройки редактора: отключает terminal.integrated.gpuAcceleration, чтобы текст во встроенном терминале не искажался, и меняет чувствительность прокрутки колёсиком.

Уведомления

Когда агент заканчивает задачу или останавливается на запросе разрешения, а вас, судя по всему, нет за терминалом, Claude Code генерирует событие уведомления. Но доходит оно по умолчанию не везде: системное уведомление отправляется только в Ghostty, Kitty и iTerm2.

В остальных терминалах включите звонок терминала:

{
  "preferredNotifChannel": "terminal_bell"
}

Файл — ~/.claude/settings.json. После этого завершение работы будет сопровождаться звуковым сигналом, и можно спокойно переключиться на другую задачу.

Отметим полезную деталь: системное уведомление доходит и через SSH — удалённая сессия способна вас позвать. Для iTerm2 пересылку нужно включить отдельно, в настройках профиля: Settings → Profiles → Terminal, галочка «Notification Center Alerts» и в «Filter Alerts» разрешение на уведомления от escape-последовательностей.

Если вы работаете в tmux

Внутри tmux ломаются сразу две вещи: Shift+Enter отправляет сообщение вместо переноса строки, а уведомления и индикатор прогресса не доходят до внешнего терминала. Лечится тремя строками в ~/.tmux.conf:

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

Первая строка пропускает уведомления и обновления прогресса наружу, вместо того чтобы гасить их внутри tmux. Две следующие учат tmux различать Shift+Enter и обычный Enter.

Чтобы применить изменения к уже работающему серверу, не перезапуская его:

tmux source-file ~/.tmux.conf

Обратите внимание: даже если ваш терминал поддерживает Shift+Enter «из коробки», внутри tmux эта настройка всё равно понадобится.

Клавиши Option на macOS

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

В Apple Terminal: Settings → Profiles → Keyboard, галочка «Use Option as Meta Key». В iTerm2: Settings → Profiles → Keys → General, установить Left Option key и Right Option key в значение «Esc+». В VS Code — добавить в настройки:

{
  "terminal.integrated.macOptionIsMeta": true
}

Подключаем редактор

Для VS Code есть расширение с графической панелью. Оно даёт то, чего в терминале нет: возможность просмотреть и отредактировать план до его принятия, диффы бок о бок с кнопками принять/отклонить, @-упоминания файлов с диапазоном строк, историю разговоров и несколько параллельных сессий в отдельных вкладках.

Установка обычная: Cmd+Shift+X (или Ctrl+Shift+X), поиск «Claude Code», кнопка Install. Требуется VS Code версии 1.94.0 или новее и платная учётная запись — API-ключ не нужен, вы войдёте при первом открытии панели.

Полезные сочетания после установки:

  • Cmd+Esc / Ctrl+Esc — переключить фокус между редактором и панелью Claude
  • Option+K / Alt+K — вставить @-упоминание текущего файла с выделенными строками, например @app.ts#5-10

Выделенный в редакторе текст Claude видит автоматически — в подвале поля ввода отображается количество выделенных строк.

Ключевой момент, на котором спотыкаются: расширение не добавляет claude в PATH. Оно содержит собственную копию инструмента для своей панели, но чтобы команда claude работала в терминале, нужна отдельная установка — та самая, которую мы сделали на прошлом уроке.

Если вы предпочитаете CLI, но хотите оставаться в редакторе, откройте встроенный терминал (Cmd+`` или Ctrl+``) и запустите claude — интеграция с IDE подключится сама, включая просмотр диффов. А если вы работаете во внешнем терминале, свяжите сессию с редактором вручную:

/ide

Частые ошибки

  • Пытаться настроить Shift+Enter изнутри tmux. Команда /terminal-setup пишет в конфигурацию терминала, и из-под tmux до неё не дотянуться. Запускайте команду в самом терминале, а для tmux добавьте строки в ~/.tmux.conf.
  • Ждать уведомлений там, где их нет. По умолчанию системные уведомления приходят только в Ghostty, Kitty и iTerm2. В остальных терминалах включите preferredNotifChannel со значением terminal_bell.
  • Считать, что расширение заменяет установку CLI. Расширение не кладёт claude в PATH. Если нужна команда в терминале — ставьте инструмент отдельно.
  • Вставлять большие тексты прямо в поле ввода. Встроенный терминал VS Code может терять символы при очень больших вставках. Сохраните содержимое в файл и попросите Claude его прочитать.

Наиболее частые вопросы

  • Что делать, если Shift+Enter не работает и настроить его нельзя? — Используйте Ctrl+J или обратный слеш с Enter. Оба способа работают в любом терминале без какой-либо настройки.
  • Можно ли включить Vim-режим для поля ввода? — Да, через /config → Editor mode или настройкой editorMode со значением vim в ~/.claude/settings.json.
  • Как поменять цветовую тему? — Командой /theme или через /config. Есть вариант автоопределения светлого и тёмного фона терминала.
  • Расширение и CLI — это разные истории разговоров? — Нет, история общая. Начатый в расширении разговор можно продолжить в терминале командой claude --resume.
  • Что делать, если изображение мерцает или прокрутка прыгает? — Переключитесь в полноэкранный режим командой /tui fullscreen, предпочтение сохранится для будущих сессий.

Итоги

Поздравляем — вы прошли самую «бытовую», но очень заметную в ежедневной работе часть. Теперь вы умеете вводить многострочные запросы в любом терминале, получаете сигнал, когда агент закончил или ждёт вашего ответа, знаете, что донастроить в tmux, и подключили Claude Code к редактору так, как вам удобнее: графической панелью или CLI во встроенном терминале.

Дальше речь пойдёт о вещах, которые напрямую влияют на кошелёк и на качество ответов. На следующем уроке разберёмся с моделями: чем Opus отличается от Sonnet и Haiku, как переключаться между ними и из чего складывается расход токенов.

На следующий урок