Интерактивный режим и навигация по сессии
REPL Claude Code — не просто строка ввода. Это многослойная среда: здесь можно ссылаться на файлы, запускать шелл-команды, вставлять скриншоты, переключать модели и управлять памятью, не выходя из диалога. Чем лучше вы ориентируетесь в её слоях, тем меньше трений между идеей и результатом.
Если вы уже знакомы с установкой и поверхностями — терминальная поверхность (CLI) как раз живёт здесь: REPL, который запускается командой claude из директории проекта.
Три режима одной строки
Визуально строка ввода выглядит одинаково, но её поведение определяется первым символом:
flowchart TD
A["Строка ввода REPL"] --> B{"Первый символ?"}
B -->|"/"| C["Слэш-команды и навыки\n/clear, /compact, /model…"]
B -->|"!"| D["Shell-режим\nвывод в контекст"]
B -->|"@"| E["Файловое автодополнение\nсодержимое файла → контекст"]
B -->|"(нет)"| G["Обычный промпт Клоду"]| Символ | Режим | Что происходит |
|---|---|---|
/ | Команды и навыки | Открывает слэш-меню; список фильтруется по мере набора |
! | Shell-режим | Команда уходит напрямую в шелл, вывод добавляется в контекст |
@ | Файловое автодополнение | Claude читает файл и включает содержимое в текущий ход |
Выйти из shell-режима можно нажав Escape, Backspace или Ctrl+U на пустой строке. Переключение мгновенное — никакого модального состояния.
@-упоминания файлов
Начните вводить @ — появится автодополнение путей. Это не просто вставка имени: Claude читает содержимое файла и включает его в контекст текущего хода.
@src/api/auth.ts объясни логику refresh-токена
@package.json какие зависимости устарели?В одном промпте можно упомянуть несколько файлов одновременно. Важный нюанс: @-упоминание работает в рамках одного хода — на следующем шаге файл не переносится автоматически. Если файл нужен постоянно, добавьте ссылку на него в CLAUDE.md через @path/to/import.
С большими файлами стоит быть точным. 3000-строчный модуль ради одной функции занимает контекстное окно без пользы — лучше описать, что именно нужно найти, и дать Claude возможность воспользоваться Grep/Glob самостоятельно.
Вставка изображений
Claude Code принимает изображения прямо в строке ввода:
- macOS (iTerm2):
Cmd+V - Windows / WSL:
Ctrl+VилиAlt+V
После вставки в строке появляется чип [Image #1]. Несколько изображений нумеруются по порядку, и на них можно ссылаться явно:
[Image #1] что за ошибка в этом стектрейсе?
[Image #2] она как-то связана с этим дизайн-макетом?Поддерживаются PNG, JPEG, GIF, WebP. Удобно для скриншотов консольных ошибок, UI-макетов или графиков из Jupyter — всего, что сложнее описать словами.
Shell-режим: быстрый выход в терминал
Префикс ! запускает команду напрямую, без посредничества Claude, и добавляет её вывод в контекст:
! git log --oneline -10
! npm run test -- --testPathPattern=auth
! ls -la src/components/Это не то же самое, что просить агента «выполни команду»: вывод появляется мгновенно, вы видите его в реальном времени, и Claude тоже его видит на следующем ходу. Shell-режим поддерживает Tab-автодополнение из истории предыдущих !-команд в текущем проекте.
Для долгих процессов — Ctrl+B переводит команду в фон. Диалог с Claude продолжается, вывод фоновой задачи сохраняется в файл; агент может прочитать его через инструмент Read. Пользователям tmux нужно нажать Ctrl+B дважды из-за конфликта с префиксом tmux.
Горячие клавиши, которые меняют ежедневную работу
Полная таблица в документации большая — вот ключевые:
| Сочетание | Действие |
|---|---|
Shift+Tab | Переключить режим разрешений (default → acceptEdits → plan → …) |
Option+T / Alt+T | Включить/выключить extended thinking |
Option+O / Alt+O | Включить/выключить fast mode |
Option+P / Alt+P | Сменить модель, не сбрасывая промпт |
Ctrl+G | Открыть промпт в $EDITOR |
Ctrl+O | Показать журнал вызовов инструментов |
Ctrl+R | Обратный поиск по истории команд |
Ctrl+L | Перерисовать экран (если терминал «поехал») |
Esc | Прервать ответ, сохранив выполненную часть |
Esc + Esc (пустая строка) | Открыть меню rewind |
Ctrl+X Ctrl+K | Остановить все фоновые субагенты |
Про Ctrl+G стоит сказать отдельно. Включите в /config опцию «Show last response in external editor» — и редактор откроется с ответом Claude в виде #-комментариев над вашим промптом. Редактируете в контексте предыдущего ответа, сохраняете — комментарии убираются автоматически. Полезно для длинных, структурированных промптов, которые сложно набирать в однострочнике.
macOS-нюанс: большинство Alt/Option-сочетаний требуют настройки Option key как Meta в вашем терминале: iTerm2 → Settings → Profiles → Keys → Left Option key → «Esc+». Исключение: Option+T работает без этого начиная с версии 2.1.132.
Управление длинной сессией
Контекстное окно не резиновое, а заполненное окно — главный враг качества ответов. Вот инструменты контроля:
/compact — Claude суммирует диалог, сжимая его до компактного резюме. Автоматически срабатывает при приближении к лимиту. Можно задать фокус:
/compact focus on the authentication moduleРезюме будет прицельным, не обобщённым. После компакции проектный CLAUDE.md переинжектируется заново — инструкции не теряются.
/clear — начать новую сессию. Диалог сбрасывается, но предыдущий сеанс сохраняется и доступен через /resume.
Двойной Esc (на пустой строке) — открывает меню rewind для отката к предыдущей точке сессии. Подробно описано в статье Управление контекстным окном.
/btw — боковой вопрос без записи в историю. Работает даже пока Claude обрабатывает задачу:
/btw как называлась та утилита для парсинга дат?Ответ появляется в overlay и не засоряет контекст. Нажмите f внутри overlay, чтобы форкнуть разговор в отдельную сессию с полным доступом к инструментам — если хотите продолжить тему. /btw — обратная сторона субагента: он видит весь диалог, но не имеет инструментов. Субагент — наоборот: полные инструменты, но чистый контекст.
Ctrl+T — показать/скрыть список задач. Когда Claude работает над многошаговой задачей, он ведёт task list, который сохраняется между компакциями — удобно для длинных рефакторингов.
Поиск по истории
Ctrl+R запускает обратный поиск по истории команд — интерактивно, с подсветкой совпадений. По умолчанию поиск охватывает все проекты. Ctrl+S внутри поиска переключает область видимости: текущая сессия → текущий проект → все проекты. Tab или Esc принимают совпадение для дальнейшего редактирования; Enter — принимает и сразу выполняет.
История команд сбрасывается при /clear (начало новой сессии), но привязана к рабочей директории — в разных проектах истории независимые.
Vim-режим и мультилайн
Для поклонников vim включите vim-режим через /config → Editor mode. Поддерживается полноценный подмножество: NORMAL/INSERT/VISUAL, текстовые объекты (iw, i", i(), motions (f{char}, t{char}), u для undo, . для повтора. Block-visual (Ctrl+V) не поддерживается.
Для мультилайн-ввода без vim наиболее универсальный способ — \ + Enter (работает в любом терминале). В iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal и Windows Terminal — Shift+Enter без настроек. Если ваш терминал не в этом списке — запустите /terminal-setup.
Recap и контекст возврата
После трёх и более минут неактивности Claude Code автоматически генерирует одну строку-резюме того, что произошло в сессии. Это готово в момент возвращения к терминалу. Команда /recap генерирует резюме вручную.
В статусной строке внизу — ссылка на открытый PR текущей ветки с цветовым индикатором: зелёный — approved, жёлтый — ожидает ревью, красный — requested changes, серый — draft. Кликается через Cmd+Click / Ctrl+Click, обновляется каждые 60 секунд и сразу после любой команды gh pr или git push.
See also
- CLAUDE.md и система памяти — как
@path-импорты, auto memory и/memoryформируют постоянный контекст - Управление контекстным окном — стратегии /clear, /compact, /rewind и дисциплина контекста
- Модель разрешений, безопасность и доверие — что именно переключает Shift+Tab и какие режимы существуют
- Слэш-команды: встроенные и кастомные — полный справочник /команд
- Субагенты и контекстная изоляция — как /btw соотносится с субагентами и когда что выбирать
- Выбор модели и режимы мышления — что переключает Option+P и Option+T
- Headless-режим и скриптинг через CLI — неинтерактивный режим работы,
claude -p