Claude Code — это агент в терминале, а не автодополнение в редакторе. Вы описываете задачу словами, он сам находит нужные файлы, вносит правки и запускает проверки. Практика сводится к четырём вещам: поставить задачу так, чтобы её можно было проверить; выбрать режим одобрений; дать агенту способ убедиться в результате; вовремя откатиться, если пошло не туда. Ниже — весь путь от первого запуска до сдачи одной задачи, с командами и клавишами из официальной документации.
Первый запуск в проекте
Claude Code запускается из каталога проекта. Никаких проектных настроек заранее делать не нужно:
cd путь/к/проекту
claude
Над строкой ввода вы увидите версию, текущую модель и рабочий каталог. Если установки ещё не было, порядок действий для Windows разобран отдельно — в статье про установку Claude Code на Windows.
Что агент получает в этот момент:
- файлы рабочего каталога и подкаталогов; файлы вне его — только с вашего разрешения;
- терминал — любую команду, которую вы могли бы выполнить сами: сборку, тесты, git, пакетные менеджеры;
- состояние git — текущую ветку, незакоммиченные изменения и недавнюю историю;
- файл правил проекта
CLAUDE.md, если он есть; - авто-память — заметки, которые Claude сохранил себе в прошлых сессиях.
Важнее то, чего он не делает. Проект не индексируется заранее: файлы читаются по ходу задачи, по мере надобности. Вручную «добавлять контекст» не требуется, но и рассчитывать, что агент уже знает весь репозиторий, нельзя — он знает ровно то, что успел прочитать в этой сессии.
Отсюда правило первого дня: начинайте не с правок, а с вопросов. «Что делает этот проект», «где точка входа», «как устроено логирование», «какие есть команды сборки и тестов» — ответы дешёвые, а вы сразу видите, насколько агент понял устройство кода. В первой сессии после установки Claude Code спрашивает подтверждение перед каждым изменением, так что случайных правок не будет.
Когда первое знакомство состоялось, выполните /init. Агент разберёт проект и создаст стартовый CLAUDE.md с командами сборки, тестами и обнаруженными соглашениями. Если файл уже существует, /init предлагает улучшения, а не перезаписывает его.
Рабочий цикл: разведка, план, правки, проверка
Внутри одной задачи агент крутит один и тот же цикл: собрать контекст, выполнить действие, проверить результат — и снова, пока задача не закрыта. Вопрос о коде может уместиться в одну итерацию, починка бага пройдёт этот круг несколько раз.
Рекомендованный документацией порядок работы человека поверх этого цикла состоит из четырёх фаз.
1. Разведка. Включите плановый режим — так агент читает файлы и выполняет разведочные команды, но не трогает исходники:
claude --permission-mode plan
В запущенной сессии тот же режим включается клавишами Shift+Tab (в строке состояния появится ⏸ plan mode on) или префиксом /plan для одного запроса. Попросите изучить конкретную область, а не «проект»: «прочитай src/auth и объясни, как устроены сессии и вход».
2. План. Дальше просите не код, а план: какие файлы меняются, в каком порядке, что считать готовым. Клавиши Ctrl+G открывают предложенный план в вашем текстовом редакторе — его можно поправить руками до начала работы. Когда план готов, Claude Code спрашивает, как продолжать: одобрить и работать в автоматическом режиме, одобрить и подтверждать каждую правку вручную или остаться в планировании и уточнить.
3. Реализация. После одобрения плана сессия выходит из планового режима и агент начинает править. В том же запросе имеет смысл сразу задать проверку: «реализуй по плану, напиши тесты на обработчик колбэка, прогони набор тестов и почини падения».
4. Приёмка и коммит. Агент останавливается, когда работа выглядит сделанной. Если у него нет команды, возвращающей «прошло» или «не прошло», единственным проверяющим становитесь вы, и каждая ошибка ждёт, пока вы её заметите. Поэтому в задачу закладывают проверку: тесты, код возврата сборки, линтер, скрипт сравнения вывода с эталоном. И требуют доказательств — вывода команды, а не фразы «всё работает».
Плановый режим не бесплатен: он добавляет круг переписки. Для опечатки, лишней строки лога или переименования его пропускают. Если изменение описывается одним предложением, план не нужен; он окупается там, где вы не уверены в подходе, где правки затрагивают несколько файлов или где код вам незнаком.
Как формулировать саму задачу — отдельная тема, разобранная в статье про промпты для вайбкодинга. Как принимать готовый результат — в чек-листе проверки кода от ИИ. Здесь достаточно помнить, что обе эти части цикла делаете вы, а не агент.
Режимы работы и одобрений
Режим разрешений определяет, что агент делает без вопроса. Это главный переключатель между «я смотрю на каждый шаг» и «я вернусь через полчаса».
| Режим | Что выполняется без вопроса | Когда уместен |
|---|---|---|
Manual (значение default) |
только чтение | чувствительные участки, незнакомый код |
acceptEdits |
чтение, правки файлов и обычные файловые команды (mkdir, touch, mv, cp и подобные) |
итерации по коду, который вы всё равно смотрите диффом |
plan |
чтение и разведочные команды; правки заблокированы до одобрения плана | изучение кода перед изменением |
auto |
всё, но действия предварительно просматривает отдельная модель-классификатор | длинные задачи, когда подтверждать каждый шаг бессмысленно |
dontAsk |
только заранее разрешённые инструменты | CI и скрипты с точным списком разрешений |
bypassPermissions |
всё, без проверок | только изолированные контейнеры и виртуальные машины |
Переключаются режимы клавишами Shift+Tab прямо в сессии. Из автоматического режима первое нажатие уводит в Manual, дальше цикл идёт default → acceptEdits → plan и обратно. Текущий режим всегда виден в строке состояния: ⏸ manual mode on, ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on. Режим dontAsk в цикл не входит и задаётся только флагом запуска, а bypassPermissions появляется в цикле, лишь если сессия была так запущена.
С какого режима начинается сессия, зависит от плана и способа запуска. На тарифах Pro, Max и Team интерактивная сессия в терминале стартует в автоматическом режиме; на остальных — в Manual. В Manual же стартуют неинтерактивные запуски claude -p и первая сессия после установки или обновления. Постоянное значение задаётся ключом permissions.defaultMode в файле настроек, а флаг --permission-mode при запуске перекрывает всё.
Поверх режима работают правила разрешений — их редактируют командой /permissions. Правила разрешения снимают повторяющиеся вопросы по конкретным командам (условный npm test), запрещающие правила действуют во всех режимах, включая bypassPermissions. Документация прямо предупреждает: автоматический режим уменьшает число вопросов, но не гарантирует безопасность, а bypassPermissions предназначен только для изоляции. Что именно стоит запрещать и почему, разобрано в безопасности вайбкодинга.
Команды и клавиши на каждый день
Команды запуска, которые нужны почти всегда:
claude # интерактивная сессия
claude "почини сборку" # сессия сразу с задачей
claude -p "объясни функцию" # разовый запрос без интерактива
claude --continue # продолжить последнюю беседу в этом каталоге
claude --resume # выбрать беседу из списка
Внутри сессии команды начинаются со слэша и распознаются только в начале сообщения. Набранный / открывает список доступного.
| Команда | Что делает |
|---|---|
/init | создаёт стартовый CLAUDE.md по вашему проекту |
/context | показывает, чем занят контекст и какие файлы правил загрузились |
/compact | сжимает беседу в резюме; принимает уточнение, на чём сфокусироваться |
/clear | начинает разговор с пустым контекстом |
/rewind | открывает меню отката кода и беседы |
/memory | открывает файлы правил и авто-память на редактирование |
/permissions | правила «разрешить», «спросить», «запретить» |
/code-review | ревью текущего диффа в отдельном контексте |
/doctor | проверка установки и конфигурации с предложением исправлений |
/btw | побочный вопрос, ответ на который не попадает в историю беседы |
/help | список команд |
Клавиши, которые экономят больше всего времени:
Esc— прервать агента на середине действия; контекст сохраняется, можно тут же перенаправить.Escдважды на пустом вводе — меню отката. Если в поле есть текст, двойнойEscсначала очистит его.Shift+Tab— переключение режимов разрешений.Ctrl+O— просмотр стенограммы сессии,Ctrl+T— список задач агента.Ctrl+B— увести выполняющуюся команду в фон и продолжить работу.Ctrl+G— открыть текущий ввод или предложенный план в вашем редакторе.Ctrl+R— обратный поиск по истории запросов,Ctrl+C— прерывание или очистка ввода,Ctrl+D— выход.Alt+P(на macOSOption+P) — сменить модель без выхода из сессии.
Три префикса в строке ввода: / — команда или навык, @ — подстановка пути к файлу (агент прочитает его перед ответом), ! — режим оболочки: команда выполняется напрямую, её вывод попадает в беседу, и агент отвечает на него без отдельного запроса. Многострочный ввод — \ с Enter или Ctrl+J; сообщение, отправленное во время работы агента, встаёт в очередь, а не прерывает его.
CLAUDE.md: правила проекта
CLAUDE.md — обычный markdown-файл, который загружается в начало каждой сессии. Это место для того, что вы иначе объясняли бы заново каждый раз: команды сборки и тестов, соглашения проекта, особенности окружения, правила «всегда делай так».
Файлы читаются по цепочке каталогов, от общего к частному:
| Файл | Область |
|---|---|
~/.claude/CLAUDE.md | ваши личные правила во всех проектах |
./CLAUDE.md или ./.claude/CLAUDE.md | правила проекта, разделяемые командой через репозиторий |
./CLAUDE.local.md | личные правила в этом проекте; добавляется в .gitignore |
Практический ориентир из документации — держать файл короче двухсот строк. Длинный файл съедает контекст и хуже соблюдается: важные правила теряются среди второстепенных. Полезный вопрос к каждой строке: «если это убрать, агент начнёт ошибаться?». Если нет — строка лишняя.
Что писать: команды, которые невозможно угадать; правила стиля, отличающиеся от общепринятых; предпочитаемый способ запуска тестов; соглашения о ветках и коммитах; архитектурные решения именно этого проекта; известные грабли и неочевидное поведение. Чего не писать: то, что агент выяснит чтением кода; общеизвестные конвенции языка; подробную документацию к внешним библиотекам (лучше ссылку); пофайловое описание репозитория; советы вроде «пиши чистый код».
Проверить, что файл действительно загрузился, можно командой /context — в разделе с файлами памяти он должен быть виден. Открыть и отредактировать правила — командой /memory. Дополнительные файлы подключаются синтаксисом @путь/к/файлу прямо в тексте.
CLAUDE.md подаётся модели как текст, который она старается соблюдать, но гарантии выполнения нет. Если действие обязано происходить всегда и без исключений (прогон линтера после каждой правки, запрет на запись в каталог миграций), это делается хуком — скриптом, который выполняется в заданной точке независимо от решений модели.Рядом работает вторая, автоматическая память: Claude сам сохраняет выводы из ваших исправлений и предпочтений и подгружает индекс этих заметок в начале сессии. Просмотреть, отредактировать или выключить её можно там же, через /memory.
Управление сессией: контекст и откат
Когда контекст кончается
Контекстное окно держит всё сразу: системные инструкции, ваши правила, авто-память, историю переписки, содержимое каждого прочитанного файла и вывод каждой команды. Заполняется оно быстро — одна сессия отладки легко съедает десятки тысяч токенов, — и по мере заполнения качество работы падает: агент начинает «забывать» ранние указания и чаще ошибаться.
Когда предел близко, Claude Code сжимает историю сам: сначала выбрасывает старые выводы инструментов, затем суммирует беседу. Ваши запросы и ключевые фрагменты кода при этом сохраняются, а подробные инструкции из начала разговора могут потеряться — именно поэтому постоянные правила место в CLAUDE.md, а не в переписке. Файл правил из корня проекта после сжатия перечитывается с диска заново.
Что вы можете сделать до того, как сжатие сработает само:
/context— посмотреть, чем занято окно, прежде чем начинать большую задачу;/compactс уточнением («/compact сфокусируйся на правках API») — резюме сохранит то, что важно вам, а не то, что автоматика сочтёт важным;/clear— между несвязанными задачами; старый разговор вытесняет файлы, которые понадобятся в новой;- отдать разведку субагенту («используй субагента, чтобы разобраться, как устроено обновление токена») — большие чтения останутся в его контексте, а к вам вернётся только резюме.
Контрольные точки и откат
Каждый ваш запрос создаёт контрольную точку, а перед правкой файла сохраняется его прежнее содержимое. Меню отката открывается командой /rewind или двойным Esc на пустом вводе. В нём перечислены отправленные вами запросы, и для выбранной точки доступны варианты: вернуть код и беседу, вернуть только беседу, вернуть только код, а также сжать беседу от этой точки вперёд или до неё. Контрольные точки хранятся вместе с беседой, поэтому закрыть терминал, вернуться к сессии завтра и откатиться — рабочий сценарий.
Границы механизма важно знать заранее:
- отслеживаются только правки через инструменты редактирования файлов; всё, что агент сделал командой в терминале (
rm,mv, миграция базы), откатом не вернётся; - правки субагентов, работающих в фоне, обычно в контрольные точки текущей сессии не попадают;
- изменения, которые вы или другая сессия внесли мимо этой беседы, не отслеживаются;
- действия во внешних системах — запросы к API, деплой, письма — необратимы в принципе; их сдерживает режим разрешений, а не откат.
Отсюда простое следствие: откат — это удобство внутри сессии, а страховка — git.
Типичные ошибки новичка
| Что происходит | Почему плохо | Что делать |
|---|---|---|
| Одна сессия на весь день и все задачи подряд | контекст забит посторонним, качество падает | /clear между несвязанными задачами |
| Третья попытка исправить одно и то же в той же беседе | история засорена неудачными подходами, агент к ним возвращается | после двух неудачных исправлений — /clear и новая, более точная формулировка |
| Задача без критерия готовности | агент останавливается на «выглядит сделанным» | дать команду, возвращающую «прошло/не прошло», и требовать её вывод |
| Запрос «изучи проект» без границ | сотни прочитанных файлов съедают окно ещё до начала работы | сузить область или отдать разведку субагенту |
CLAUDE.md разрастается до полотна |
важные правила теряются, файл соблюдается хуже короткого | резать безжалостно; обязательное к исполнению переносить в хуки |
| Плановый режим на каждую мелочь | лишний круг переписки там, где правка на одну строку | план — для незнакомого кода и многофайловых изменений |
| Вера в то, что откат вернёт всё | команды терминала и внешние действия не отслеживаются | чистое состояние git до начала и коммит после приёмки |
| Приёмка по фразе «готово, всё работает» | правдоподобный код без обработки крайних случаев | читать дифф и проверять поведение самому |
Одна задача от начала до конца
Как это выглядит целиком, на примере починки бага:
- Чистое состояние.
git statusпуст, вы в каталоге проекта, запускаетеclaude. - Разведка.
Shift+Tabдо планового режима. «Пользователи жалуются, что вход перестаёт работать после истечения сессии. Прочитайsrc/auth, разберись в обновлении токена и скажи, где может быть причина». - План. «Составь план исправления: какие файлы меняем, какой тест воспроизводит проблему, что считаем готовым». Читаете план, при необходимости правите его через
Ctrl+G. - Одобрение. Выбираете вариант с ручным подтверждением правок, если код чувствительный, или автоматический — если задача рутинная.
- Реализация с проверкой. «Сделай по плану: сначала падающий тест, воспроизводящий баг, затем исправление. Прогони набор тестов и покажи вывод».
- Коррекция на ходу. Видите, что агент ушёл не туда, —
Escи уточнение. Ушёл далеко — двойнойEscи откат к нужной точке. - Приёмка. Читаете дифф, проверяете поведение руками, при желании запускаете
/code-review— ревью пройдёт в отдельном контексте и вернёт находки в сессию. - Коммит. «Закоммить с осмысленным сообщением». После этого —
/clearи следующая задача с чистым контекстом.
Весь рабочий процесс держится на трёх привычках: узкая задача с проверкой, режим одобрений под уровень риска и чистый контекст под каждую новую задачу. Всё остальное — команды, клавиши и настройки — наращивается по мере надобности.