Проверь границы работы и разреши только понятные изменения. После правки сравни обещанный результат с реальным через Git.
Что такое diff и зачем просить Claude Code показать его до правки?
Claude Code работает с файлами, тестами, командной строкой и GitHub. Поэтому запрос «сделай страницу» может закончиться несколькими правками: изменениями в компонентах, стилях, настройках и тестах.
Я разделяю здесь две вещи:
- Предложение агента. Claude изучил задачу и подготовил план или изменение.
- Принятый результат. Правка действительно записана в файлы проекта.
Diff нужен на границе между ними. Diff и список файлов вместе отвечают на два разных вопроса: «Что изменится?» и «Где именно это произойдёт?» Подробнее о безопасном допуске агента к проекту читай в инструкции по доступу Claude Code.
Peter Bloem разделяет работу с кодом на выполнение и проверку в статье AI coding without the vibes.
Я бы строил работу так:
- Сначала дай задачу.
- Попроси изучить проект без правок.
- Получи план и список файлов.
- Попроси показать предполагаемый diff.
- Проверь каждое существенное изменение.
- Подтверди только то, что понимаешь.
- После записи снова посмотри общий diff.
Зелёные тесты здесь не заменяют ревью. Они проверяют только те сценарии, которые в них заложены. Агент всё ещё может изменить лишний файл, удалить нужную логику или решить не ту задачу.
Как настроить Claude Code, чтобы он не менял файлы сразу?

У Claude Code есть режимы контроля, которые полезно сравнить через claude code settings:
| Режим | Что делает | Когда использовать | Риск |
|---|---|---|---|
default | Запрашивает разрешение перед редактированием файлов и большинством команд | Для ручного контроля изменений | Можно начать автоматически подтверждать частые запросы |
plan | Изучает проект и предлагает план без перехода к правкам | Для предварительного изучения задачи | План не показывает фактическое содержимое записанного изменения |
acceptEdits | Автоматически принимает изменения файлов | Только когда область и последствия уже понятны | Легко пропустить лишний файл до проверки через Git |
Plan Mode нужен перед diff. В отдельном разборе Plan Mode в Claude Code показано, как он отделяет исследование от редактирования. Он показывает намерение: какие части проекта агент собирается трогать и в каком порядке. Diff показывает уже конкретное содержимое изменения.
Сначала проверь общую стратегию. Если задача про цвет кнопки, а в плане появились маршруты, база данных и авторизация, остановись. Проблема возникла не в строках. Claude неправильно понял границы.
После плана можно попросить предполагаемый diff. Не выдавай ответ «план хороший» за разрешение. Я бы прямо написал: «План принят. Теперь покажи ожидаемые изменения и дождись отдельного подтверждения». Если нужен практический разбор такой схемы, пройди практикум по вайб-кодингу, где работу с агентом разбирают маленькими проверяемыми шагами.
Как записать правило «сначала покажи изменения» в CLAUDE.md?
Файл CLAUDE.md передаёт Claude постоянные правила проекта, которые он учитывает при работе с кодом. Это удобное место для постоянного порядка действий. Не придётся каждый раз заново объяснять, что сначала нужен план, а потом правка.
Сделай правило коротким: длинный свод запретов агент начнёт выполнять выборочно, поэтому оставь только порядок проверки и границы изменений. В основу можно положить такую заготовку:
Перед изменением файлов: 1. Сначала изучи задачу и текущую структуру проекта без правок. 2. Опиши план действий короткими пунктами. 3. Назови конкретные файлы, которые собираешься изменить. 4. Отдельно перечисли файлы и папки, которые менять нельзя. 5. Покажи предполагаемые изменения по каждому файлу. 6. Объясни существенные изменения и возможные побочные эффекты. 7. Жди моего явного подтверждения. 8. После подтверждения меняй только согласованные файлы. 9. После правки покажи итоговый diff и список изменённых файлов. 10. Не считай зелёные тесты заменой проверки diff.
Эта инструкция задаёт ожидание, но не превращает агента в механический шлюз. Если интерфейс уже работает в acceptEdits, текстовое правило не заменит настройку режима. Поэтому проверяй и файл инструкций, и видимый статус разрешений.
Как запретить Claude Code менять файлы без разрешения?
Базовая модель Claude Code по умолчанию консервативная: чтение доступно, изменения требуют разрешения.
В инженерной статье Anthropic David Dworken и Oliver Weller-Davies пишут, что Claude Code использует модель разрешений: по умолчанию он работает в режиме чтения и запрашивает разрешение перед изменением файлов или запуском команд. Источник: Beyond permission prompts: making Claude Code more secure and autonomous
Запрос разрешения не равен ревью. Если агент показал десять мелких действий подряд, легко начать нажимать approve автоматически. Anthropic отдельно называет это approval fatigue, усталостью от подтверждений.
Проверяй перед каждым существенным действием:
- Тот ли файл меняется.
- Относится ли изменение к текущей задаче.
- Нет ли удаления существующей логики.
- Не появились ли секреты, токены или
.env. - Не запускается ли команда с опасным побочным эффектом.
- Понимаешь ли ты, что произойдёт после подтверждения.
Claude может попросить разрешение на правильное техническое действие, которое решает не ту задачу. Сначала прочитай план и diff, потом подтверждай действие. Автоматическое разрешение не отменяет ручной review.
Sandbox тоже не отвечает на вопрос, правильно ли Claude понял задачу. В разборе безопасного допуска Claude Code к проекту разобраны технические границы доступа. Ошибка внутри разрешённой области всё равно останется ошибкой.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Как ограничить область файлов, которые может менять агент?
Не отправляй агенту расплывчатую просьбу вроде «приведи проект в порядок». Для новичка такая формулировка почти приглашает к перестройке половины проекта.
Конкретная формулировка выглядит так:
- задача: добавить подпись под кнопкой;
- можно менять:
src/components/PriceCard.tsx,src/styles/pricing.css; - нельзя менять: маршруты, базу данных, авторизацию, зависимости;
- результат: одна подпись на экране тарифов;
- проверка: показать план, список файлов и diff до записи.
Если Claude просит добавить третий файл, которого не было в плане, не соглашайся автоматически. Спроси, зачем он нужен. Иногда новый файл действительно необходим. Объяснение должно появиться до принятия, до любых последствий.
Широкую задачу разбивай на смысловые блоки:
- Изучить текущий экран.
- Изменить компонент.
- Проверить отображение.
- Отдельно изменить стили.
- Снова проверить diff.
Так проще вернуть один шаг, чем искать ошибку в огромном результате. Checkpoint помогает откатить правки Claude, но не покрывает ручные изменения и bash-команды. Поэтому я бы всё равно держал работу под Git.
На практикуме мы руками собираем именно такую связку: формулируем узкую задачу для ИИ-агента, ограничиваем область файлов, читаем diff и принимаем изменения небольшими порциями. В результате у тебя остаётся понятная точка проверки после каждого шага, а не один большой непроверенный результат.
Как по шагам попросить Claude Code показать план и diff?

Проверь режим подтверждений.
Убедись, что auto-accept выключен и интерфейс показывает ручное подтверждение. Если статус непонятен, не поручай агенту большую задачу.
Проверь также состояние рабочей папки:
bashgit statusНе начинай работу вслепую, если там уже есть ручные изменения и непонятен Контекст рабочей папки. Фраза claude code context может встретиться в поиске, но это не название штатной команды. Иначе потом будет трудно отделить результат Claude от своей работы.
Попроси изучить задачу.
Напиши, что сейчас нельзя менять файлы, запускать команды с побочными эффектами и устанавливать зависимости.
Запрос на предварительное изучениеИзучи задачу и текущий проект без изменения файлов. Задача: добавить подпись под кнопкой на экране тарифов. Сначала: 1. Опиши, как устроен нужный экран. 2. Покажи общий план решения. 3. Назови конкретные файлы, которые могут потребоваться. 4. Перечисли файлы и области, которые менять не нужно. 5. Укажи возможные побочные эффекты. Не редактируй файлы и дождись моего подтверждения плана.
Проверь план и файлы.
Сверь ответ с исходной задачей. В списке должны быть конкретные пути, вместо расплывчатых формулировок вроде «несколько компонентов» или «конфигурация проекта».
Если агент включил в план базу данных, авторизацию или новые зависимости для простой подписи, задай вопрос до следующего шага. Такой порядок полезен и для сценария claude code tasks: план проверяет общую стратегию, вместе с тем качество каждой строки требует отдельной проверки.
Попроси показать diff.
После принятия плана попроси описать предполагаемые изменения по каждому согласованному файлу и дождаться отдельного разрешения на запись.
Запрос на ожидаемый diffПлан понятен. До любой записи в файлы покажи предполагаемые изменения. Для каждого согласованного файла укажи: - какие строки или блоки добавятся; - какие строки или блоки изменятся; - что будет удалено; - зачем нужно изменение; - какие побочные эффекты возможны. Не применяй правки. Дождись моего отдельного подтверждения.
Это текстовый запрос к агенту. Универсальной Git-командой он не служит. Я не выдаю его за подтверждённую команду Claude Code, которая строит полный diff до записи.
Проверь общий Git diff.
Если изменения уже появились, используй claude code commands как поисковую фразу для этого сценария: посмотри список файлов и содержимое diff в терминале.
bashgit status --short git diffПроверяй новые файлы отдельно через
git status --shortи список в Source Control редактора, потому что обычный вызовgit diffпредназначен для diff уже отслеживаемого состояния.Подтверди понятные изменения.
Разреши только тот шаг, который совпадает с планом и diff. Если появился неожиданный файл, лишняя зависимость или удаление, останови действие и попроси объяснение.
Проверь, можешь ли ты пересказать подтверждаемое изменение своими словами. Формулировка «агент сказал, что так правильно» для проверки не подходит.
Проверь итог после тестов.
Запусти подходящие тесты или проверку сборки, а затем снова посмотри
git statusиgit diff.bashgit status --short git diffЗелёный результат тестов подтверждает только проверенные сценарии. Он не доказывает, что изменились именно согласованные файлы, что в них нет лишней логики и что лишний Токен не увеличил объём проверки.
Что ломается, когда Claude Code меняет несколько файлов сразу?

В одном файле inline diff обычно читается нормально. Когда Claude меняет несколько файлов, просмотр распадается между терминалом, редактором и Git. Принять часть изменений становится трудно.
Первый фильтр - список файлов: он быстрее строк отвечает на вопрос, агент всё ещё решает исходную задачу или уже перестраивает проект.
Дальше читай diff в два прохода:
- Сначала общий масштаб: файлы, добавленные зависимости, конфигурация, удаления.
- Потом смысловые блоки: компонент, стили, данные, тесты.
Большой diff теряет практическую проверяемость: пользователь может технически открыть его, но это не значит, что он внимательно прочитает все изменения. Усталость превращает ревью в прокрутку.
Я бы не принимал задачу, если не могу объяснить назначение каждой изменённой группы строк. Разбей работу по функции или модулю и используй claude code tools только для тех проверок, которые относятся к задаче. После каждого блока проверь diff и только потом переходи дальше.
Тесты запускай в конце каждого небольшого шага: они нужны, вместе с тем зелёный статус не заменяет проверку области изменения. Агент мог пройти тесты и одновременно добавить лишний маршрут или изменить конфигурацию.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Что делать, если auto-accept не выключается или общий diff не виден?
В Issue #2372 Claude Code пользователь сообщил, что после команды переключения интерфейс продолжал показывать автоматическое принятие. Перезапуск в описанном сценарии тоже не вернул ожидаемый режим.
Действуй по запасному маршруту:
- Посмотри на явный статус режима в интерфейсе.
- Не запускай крупную задачу, пока статус неясен.
- Проверь рабочую папку через
git status --short. - Посмотри содержимое через
git diff. - Отдельно найди новые файлы.
- Повтори проверку после первого изменения.
git status --short
git diff
git diff --statgit diff показывает изменения отслеживаемых файлов. Новый файл может остаться за пределами этого вывода, пока Git его не отслеживает. Смотри такие файлы в Source Control или открывай их отдельно.
В Issue #8224 Claude Code пользователь сообщил о сценарии, в котором ручная правка предложения Claude в diff editor исчезала, а записывался исходный вариант агента. После такой правки проверь содержимое файла и итоговый git diff. Одного экрана первоначального preview недостаточно.
Если общего diff в Claude Code нет, отсутствие preview само по себе ничего не доказывает. Для нескольких файлов обязательна проверка через Git. Если и там нет ожидаемого результата, проверь неотслеживаемые файлы и ручные изменения в редакторе.
Вопросы и ответы
Вопросы и ответы
Как попросить Claude Code показать diff до правки?
Сначала попроси Claude изучить задачу без изменения файлов, описать план, назвать конкретные файлы и показать предполагаемые изменения. После этого проверь общий git diff и только затем дай отдельное разрешение на запись. Точный универсальный запрос зависит от интерфейса, поэтому текстовая инструкция должна дополнять режим разрешений.
Можно ли сначала поставить задачу Claude Code, то есть проверить claude code tasks, а правки внести после проверки?
Да. Сначала передай задачу в режиме plan или обычным текстовым запросом с прямым запретом на правки. Получи общую стратегию, список файлов и ожидаемый результат. Если план совпадает с задачей, попроси показать изменения и только потом разреши конкретный шаг.
Какие инструменты Claude Code помогают проверить изменения: claude code tools?
Claude Code работает с файлами, тестами, командной строкой и GitHub. Для контроля правок в сценарии claude code tools полезны Plan Mode, inline diff, checkpoints и Git-команды. Plan Mode проверяет намерение, inline diff показывает строки, checkpoint помогает откатить изменения Claude, а git status и git diff показывают фактическое состояние рабочей папки.
Какие настройки позволяют контролировать правки Claude Code: claude code settings?
Для ручного контроля используй default: Claude спрашивает разрешение перед изменениями. plan нужен для предварительного изучения и общей стратегии. acceptEdits автоматически принимает изменения файлов, поэтому при незнакомой задаче он повышает риск пропустить лишнюю правку. После любого режима всё равно проверяй итоговый diff.
Как сделать так, чтобы Claude Code не менял файлы без разрешения?
Оставь permission-based режим и не включай auto-accept для первого прохода. Перед началом проверь claude code settings и видимый статус режима. Если он неясен или переключение не сработало, не поручай агенту большую задачу. Выполняй git status --short и git diff до и после первого изменения.
Какие команды использовать для просмотра изменений Claude Code: claude code commands?
Для списка изменённых и новых файлов в сценарии claude code commands используй git status --short. Содержимое изменений отслеживаемых файлов смотри через git diff. Команда git diff --stat даёт краткий масштаб правки. Новые файлы дополнительно проверяй через Source Control или открывай отдельно, потому что обычный git diff может их не показать.
Как записать в CLAUDE.md правило показывать diff до правки?
Запиши короткую инструкцию: сначала изучить задачу, описать план, назвать разрешённые файлы, перечислить запреты, показать ожидаемые изменения и ждать подтверждения. После правки добавь требование показать итоговый diff. Это постоянное правило проекта, но оно не заменяет настройку разрешений и проверку Git.
Как объяснить Claude Code, какие файлы можно менять?
Назови цель, разрешённые файлы и то, что менять нельзя. Для каждой задачи укажи ожидаемый результат и попроси сообщить о необходимости нового файла до правки. Если список изменился, останови работу и выясни причину. Узкая область снижает риск лишних изменений, но не проверяет правильность понимания задачи.
Как проверить изменения Claude Code перед применением: claude code context?
Проверь три уровня в сценарии claude code context: общий план, список файлов и строки diff. Сначала убедись, что агент выбрал правильную стратегию. Потом найди неожиданные файлы, удаления, зависимости, настройки и секреты. После записи запусти подходящие тесты и снова посмотри git diff. Не подтверждай изменение, которое не можешь объяснить.
Что делать, если Claude Code не показывает полный diff?
Отсутствие preview не означает отсутствие правок. Выполни git status --short, затем git diff, отдельно проверь новые файлы и Source Control. Если auto-accept включён или его статус неясен, не поручай агенту крупную задачу. После ручной правки diff обязательно сравни фактический файл с ожидаемым результатом.
Источники
- AI coding without the vibes
- Choose a permission mode - Claude Code Docs
- Beyond permission prompts: making Claude Code more secure and autonomous
- Enabling Claude Code to work more autonomously
- Claude 3.7 Sonnet and Claude Code
- How we built Claude Code auto mode: a safer way to skip permissions
- How Anthropic teams use Claude Code
- Cannot toggle auto-accept edits
- Manual changes are discarded in diff editor
- How do I review multi file changes?
- Does Claude Code not show the diff of its edits?
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК

