Track
Базовый Claude Code уже полезен «из коробки». Устанавливаете, даёте подсказку — и он строит то, что вам нужно. У большинства именно такая настройка для «vibe-кодинга», и она работает.
Но Claude Code в настроенном под себя терминале — это уже другой инструмент. Пользователь заранее одобрил доверенные bash-команды, поэтому Claude почти никогда не просит разрешенияns. В корне проекта лежит CLAUDE.md, так что Claude с первой секунды знает ваши договорённости. И когда сессия начинает путаться, команда, к которой тянется рука, — вовсе не перезапуск.
Эта статья закрывает разрыв между двумя такими установками Claude Code — в семи шагах. Ни один из них не займет больше десяти минут, и каждый окупится в течение недели.
Если вы никогда не открывали Claude Code, лучше начать с нашего основного руководства по Claude Code. Ниже мы исходим из того, что вы уже умеете давать подсказки и подтверждать вызовы инструментов.
1. Перестаньте заново одобрять одни и те же команды
По умолчанию каждый новый вызов инструмента запрашивает у вас одобрение. Первый запуск pytest — терпимо. К третьему — уже раздражает. К десятому вы жмёте Enter, не читая подсказку. Худший из миров: вы приучили себя игнорировать проверку безопасности, и при этом всё ещё тратите на неё время.
Конечно, есть режим «опасно обходить разрешения» или «авторежим». Мы подробно разбирали их компромиссы в моём руководстве по Auto Mode и каналам в Claude Code.
Определяем разрешения в файле settings.json
Решение — файл .claude/settings.json в корне проекта с блоком permissions, который заранее одобряет шаблоны, которым вы доверяете, и блокирует те, которым — нет:
{
"permissions": {
"allow": [
"Bash(pytest *)",
"Bash(uv run *)",
"Bash(ruff check *)",
"Read(~/.zshrc)"
],
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
}
}
Правила оцениваются в фиксированном порядке: сначала deny, затем ask, затем allow. Срабатывает первое совпадение, поэтому правило deny всегда перебивает идущее позже allow.

Освоение области действия и шаблонов с подстановками
Три вещи чаще всего сбивают с толку при первом написании таких правил.
-
Первая — это область действия (scope). Файл проекта
.claude/settings.jsonпереопределяет ваш глобальный~/.claude/settings.json. Поэтому если вы глобально разрешилиBash(rm *), а в проекте это запрещено, победит проект. Это правильное поведение по умолчанию, но удивляет тех, кто ожидает, что глобальные allow «залипают». -
Вторая — это подстановки для сетевых команд.
Bash(curl http://github.com/ *)выглядит строго, но не ловитhttps://, опции перед URL, редиректы или раскрытие переменных шелла. Рекомендуемый в документации паттерн — полностью запрещатьBash(curl *). А затем использовать инструмент WebFetch сWebFetch(domain:github.com)для доменов, которые действительно хотите разрешить. -
Третья — это пробелы.
Bash(ls *)совпадает сls -la, но не сlsof.Bash(ls*)совпадает с обоими. Пробел перед звёздочкой выполняет реальную работу — стоит осознанно выбирать, какой вариант вы написали.
Рядом с разрешениями есть несколько горячих клавиш из той же серии «перестаньте бороться с терминалом», их стоит выучить в первый день:
-
Shift+Tab переключает режимы разрешений (по умолчанию, авто-принятие, план)
-
Esc+Esc открывает окно отката (подробнее в пункте №3)
-
Ctrl+R ищет по истории ваших подсказок, как в bash и zsh
-
Ctrl+U удаляет от курсора до начала строки
-
Shift+Enter добавляет новую строку в поле подсказки
Большинство этих сочетаний работает в терминалах «из коробки». Если нет — выполните слэш-команду /terminal-setup один раз, чтобы всё установить.
2. Заставьте Claude Code помнить ваш проект
Каждая сессия начинается с чистого контекстного окна.
По умолчанию Claude не помнит, что вы используете uv вместо pip. Не помнит, что ваши тесты лежат в tests/, а не в test/. И соглашения по API, которые вы вчера расписывали десять ходов, тоже исчезли. Решение — файл CLAUDE.md в корне проекта. Запустите Claude Code из этой директории (или любой поддиректории), и файл загрузится в контекст автоматически до вашего первого запроса.
Самый быстрый старт — /init. Запустите её внутри проекта. Claude прочитает кодовую базу и напишет стартовый CLAUDE.md с командами сборки, инструкциями по тестам и выведенными им соглашениями. Потом вы его поправите, потому что /init даёт рабочую основу, а не окончательный файл.
Есть три источника контекста, которые Claude поднимает слоями один над другим:

Проектный CLAUDE.md в ./CLAUDE.md хранится в репозитории. Он одинаков для всех участников, поэтому сюда кладите факты, специфичные для проекта:
- Менеджер пакетов и версия языка
- Команда запуска тестов и расположение тестов
- Структура директорий и любые неочевидные соглашения
- Всё, что нужно новичку в первый день
Пользовательский CLAUDE.md в ~/.claude/CLAUDE.md следует за вами во всех проектах на машине. Здесь место личным предпочтениям: стиль кода, формат докстрингов, языки, к которым вы тянетесь первыми. Не кладите сюда факты проекта, иначе они «протекут» в каждый другой репозиторий.
Автопамять — третий слой, который Claude ведёт сам. Когда вы его правите в ходе сессии («у нас принят snake_case, а не camelCase»), он записывает правку в ~/.claude/projects/<project>/memory/MEMORY.md. Первые 200 строк или 25 КБ этого файла загружаются в начале каждого разговора в том же проекте. Посмотреть, что поднимается, можно через /memory, там же включается или выключается автопамять.
Правило по размеру: держите каждый CLAUDE.md короче 200 строк. Дальше файл заметно «ест» контекст на каждом ходу, и Claude хуже следует длинным файлам, чем коротким. Если ваш переваливает за лимит, разнесите его по .claude/rules/ с ограничением по путям. Подробно о том, что действительно должно быть в CLAUDE.md, см. моё руководство по написанию лучшего CLAUDE.md.
3. Перестаньте перезапускать сессии, когда всё идёт не так
Инстинкт, когда сессия «поплыла», — сделать /clear и начать заново. Чаще всего это неверно. Перезапуск выбрасывает пути к файлам, которые правил Claude, отслеживаемый упавший тест или оговорённые в начале ограничения. Новой сессии всё это придётся переучивать — вы платите за это токенами и временем.
Сначала научитесь распознавать симптом. У «гниения контекста» есть очевидные сигналы:
- Claude заново спрашивает путь к файлу, который правил пять ходов назад
- Повторяет предложение, которое вы уже отвергли
- Теряет текущую ветку
- Вы исправляете его на одной и той же мысли больше двух раз за сессию
Увидев это, у вас четыре варианта — и они не взаимозаменяемы:
|
Ситуация |
Используйте |
Почему |
|
Полоска контекста заполняется, текущая задача ещё выполняется |
|
Суммирует ранние ходы, сохраняет сессию и контекст задачи |
|
Переходите к несвязанной задаче |
|
Пустой контекст, чистая ветка. Прошлый разговор доступен в |
|
Claude повторяет ошибки, которые вы уже исправляли |
|
Контекст деградировал. Чистая сессия с лучшей подсказкой лучше, чем «латать» плохую |
|
Вы ушли не туда и хотите откатить |
Esc+Esc → Восстановить код и разговор |
Прыжок к контрольной точке подсказки и восстановление состояния файлов |
Компактирование сессии
/compact не так плох, как о нём говорят некоторые пользователи.
Ваш проектный CLAUDE.md это переживает. После сжатия Claude перечитывает файл с диска и повторно его внедряет, так что ваши соглашения не теряются. Вы также можете дать инструкции по фокусу саммари, например /compact keep the auth refactor decisions, drop the failed test runs. Это разница между полезным и шаблонным резюме.
Использование опции «отмена» в Claude Code
Окно отката по Esc+Esc — функция, о которой многие не знают. Оно открывает список всех контрольных точек подсказок в сессии. После выбора одной из них предлагаются три опции: восстановить только разговор, только код или и то и другое.

«Restore code and conversation» — то, что нужно большинству. Полчаса неудачных ходов исчезают без обращения к git. Это самое близкое к «отмене» для всей сессии в Claude Code.
Перестав перезапускать, вы столкнётесь со следующей задачей — как находить сессии заново.
Именование и повторное открытие сессий
claude -n <name> (или --name) запускает именованную сессию, и имя отображается в /resume и заголовке терминала. Когда у вас в одном репозитории параллельно три дела (экспериментальная ветка, рефакторинг, отладка), имена помогают их различать. /rename меняет имя на лету, если фокус сессии сместился.
Лайфхак: используйте /color, чтобы ещё сильнее различать сессии, когда несколько запущены в одном окне терминала.
Повторное открытие сессии делается двумя флагами. claude --continue (или -c) загружает последний разговор в текущей директории. Используйте, когда вы только что тут работали и хотите продолжить.
claude --resume открывает интерактивный выбор, а claude --resume <name-or-id> прыгает прямо в конкретную сессию. Относитесь к сессиям как к веткам git: разным потокам работ — свои сессии.
4. Планируйте сложное, экономьте на простом
Главная статья затрат в настроенной среде — вовсе не редактор и не горячие клавиши. Это соответствие вычислительных ресурсов сложности текущей задачи. Для этого вместе работают три инструмента: режим планирования, /effort и /model.
Использование режима планирования Claude Code
Режим планирования заставляет Claude продумать подход, прежде чем трогать файлы. Он пишет план, вы его читаете, одобряете или правите — и только потом начинается исполнение.
Приём, который делает мои планы максимально надёжными, — простая подсказка, которую я часто использую:
Red-team this plan from multiple angles using as many Opus 4.7 agents as you need.
Это запускает несколько подагентов для проверки плана с разных сторон и предложений по исправлению. Хорошая практика, когда файл плана превышает 500 строк.
Цена в том, что планирование плюс red-teaming добавляют два хода до первых правок кода, так что для всего, что меньше значимой фичи или бага, это перебор.
Есть пять способов войти в режим планирования:
|
Метод |
Где включать |
Лучше всего, когда |
|
Shift+Tab (дважды) |
В середине сессии, в любой момент |
Переключение с клавиатуры без ввода команды |
|
|
Запрос в середине сессии |
Задача ещё не определена — опишете её далее |
|
|
Запрос в середине сессии |
Задача ясна — пропустите лишний шаг |
|
|
Флаг при запуске из CLI |
Одна сессия, где режим плана нужен с самого начала |
|
|
Настройки проекта или пользователя |
Все сессии в этом проекте по умолчанию в режиме планирования |
Встроенная форма (/plan refactor the auth module to use JWT) — о ней чаще всего забывают. Она задаёт режим и формулирует задачу одним ударом клавиш вместо двух. Подробный разбор рабочего процесса «сначала обзор, потом исполнение» — в моём руководстве по режиму планирования Claude Code, шаг за шагом.
Выбор подходящего уровня усилий
Effort — следующая важная настройка. Она контролирует, сколько углублённого рассуждения Claude делает за ход. Более высокий уровень — более глубокое мышление, больше токенов и медленнее ответ.

/effort <level> и флаг --effort <level> в CLI принимают все пять значений. Low, medium, high и xhigh сохраняются между сессиями. Max действует только в текущей сессии, потому что снимает ограничение на траты токенов — его стоит выставлять осознанно каждый раз. Лучшее значение по умолчанию для повседневной работы — low или medium. Берегите high и xhigh для действительно сложных задач, а max — для моментов, когда «лучше сжечь токены, чем ошибиться».
Контраргумент: модель на low с отличным контекстом часто обгоняет ту же модель на max с плохим контекстом. Привести в порядок подсказку — обычно больший выигрыш, чем подкручивать effort.
Выбор подходящей модели
Выбор модели — там, где рождается реальная экономия. /model переключает в середине сессии, а сочетание Option+P (macOS) / Alt+P (Win/Linux) переключает модель, не очищая уже набранный текст. Важные алиасы:
-
sonnet— повседневная «рабочая лошадка» -
opus— для самых сложных задач (алиасbestтоже указывает на opus) -
haiku— когда важна скорость -
sonnet[1m]иopus[1m]— варианты с 1M-контекстом -
opusplan— Opus в режиме плана и Sonnet в исполнении -
default— снимает переопределение и возвращает рекомендованную модель
Если вы по умолчанию используете Opus для всего, переход на Sonnet для большей части дня — самое большое возможное сокращение расходов.
Opus — верный выбор, когда вы застряли на сложной проблеме и нужен самый умный помощник. Почти всё остальное тянет Sonnet. Разница в цене между ними достаточно велика, чтобы привычка «на всякий случай возьму Opus» оказалась самой дорогой в автономном режиме.
5. Автоматизируйте то, что делаете вручную
Когда источники трения устранены, следующий слой — это работа, которую вы всё ещё делаете руками.
Планировщик задач
Сделать проще, чем разбираться, как не делать. Две функции покрывают большую часть: /loop — для повторяющихся проверок, которые иначе пришлось бы «нянчить», и хуки — для гарантий, которых невозможно добиться одной инструкцией в CLAUDE.md.
/loop запускает повторное выполнение подсказки или слэш-команды по расписанию. Синтаксис бывает двух форм:
-
/loop 5m <prompt>выполняет подсказку каждые 5 минут -
/loop <prompt>без интервала передаёт выбор частоты модели — она решает, когда запуститься снова
Единицы интервалов: s, m, h и d, минимум — одна минута. Нужен Claude Code v2.1.72 или новее.

Например, можно настроить наблюдатель тестов: /loop 2m run the test suite and report failures. Вместо того чтобы помнить о запуске тестов после каждой правки (и забывать половину раз), Claude поймает упавший тест на следующем 2-минутном тике.
Тот же паттерн подходит для опроса стейджинга (/loop 10m check if the staging deploy is green) или «хвоста» логов во время нестабильного инцидента (/loop 1m tail the last 50 lines of app.log and flag errors).
Циклы живут 7 дней.
На седьмой день задача отрабатывает в последний раз и удаляется. Они привязаны к сессии, поэтому --continue или --resume вернут их, если вы закроете и снова откроете сессию. Чтобы остановить цикл раньше — нажмите Esc. Если нужен график, переживающий закрытие сессий (ночные проверки, еженедельный дайджест), используйте Routines через /schedule.
Хуки
Хуки — вторая половина. Они запускают shell-команды в определённых точках рабочего процесса Claude и настраиваются в .claude/settings.json.
Причина выбрать хук вместо инструкции в CLAUDE.md — одна: CLAUDE.md носит рекомендательный характер, а хуки гарантированно выполняются. Классический случай — правило «всегда запускай линтер после правок», которое Claude пропускает через раз. Хук закрывает этот разрыв.
Шесть событий покрывают большинство случаев:
|
Событие |
Срабатывает когда |
Пример использования |
|
|
Начинается сессия |
Печать баннера с активной веткой git и последним коммитом |
|
|
Вы отправляете подсказку, до того как её увидит Claude |
Внедрить контекст проекта или блокировать подсказки с секретами |
|
|
Claude собирается вызвать инструмент |
Блокировать запись в |
|
|
Claude завершает вызов инструмента |
Запускать линтер или форматтер после каждого |
|
|
Контекст собираются сжать |
Слить транскрипт в файл для дальнейшего разбора |
|
|
Claude завершает ответ |
Запускать тесты и добавлять результаты к сессии |
Минимальный хук PostToolUse, который запускает линтер после каждого редактирования файла:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "/path/to/lint-check.sh" }
]
}
]
}
}
Одна важная тонкость: только код выхода 2 действительно блокирует Claude. Выход 1 считается не блокирующей ошибкой, и Claude продолжает, хотя 1 — обычный код ошибки в Unix. Если хук должен жёстко применять правило, возвращайте 2.
Писать хуки вручную тоже не обязательно.
Попросите Claude: «напиши хук, который запускает ruff после каждого редактирования файла» — и он подготовит для вас JSON. /hooks перечисляет все активные конфигурации хуков, чтобы не пришлось grep-ать файлы настроек, когда что-то срабатывает неожиданно. Полный каталог событий и JSON-схемы для stdin/stdout см. моё руководство по хукам Claude Code.
6. Держите под контролем затраты
Циклы, длинные сессии и Opus «по умолчанию» жгут токены. Три команды делают траты достаточно заметными для управления, и нужная привычка — просто бросать взгляд, а не настраивать их бесконечно.
/usage показывает ваш тариф, итоги по сессии, помодельные разбивки по стоимости и прогресс-бары для 5-часового и недельного окон лимитов.

/context визуализирует текущее контекстное окно в виде цветной решётки с предупреждениями о заполнении и подсказками, какие инструменты или файлы «съедают» место. Используйте, когда сессия «тяжёлая» и вы выбираете между /compact и /clear.
/statusline настраивает постоянную строку внизу терминала. Там можно показать модель, процент заполнения контекста, окна лимитов и всё остальное, что читается из JSON сессии. Эта штука чаще всего меняет поведение: она держит важные для затрат числа в поле зрения, пока вы работаете.

Можно выполнить /statusline и простыми словами описать, что хотите видеть — Claude сгенерирует скрипт и обновит настройки. Другой вариант — написать shell-скрипт самостоятельно и указать на него в ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}
Для долгосрочного трекинга между сессиями npx ccusage — это инструмент сообщества, который агрегирует сгорание токенов во времени. Он сторонний, не от Anthropic, но закрывает разрыв между сессионным /usage и вашим месячным биллингом.
7. Ещё три полезные функции
Шесть апгрейдов выше — те, к которым я обращаюсь каждый день. А следующие три — реальные функции, которыми я пользуюсь реже, но о которых стоит знать, чтобы вытащить их в нужный день.
Говорите по нажатию с /voice
/voice включает диктовку по нажатию. Удерживаете Space, говорите, отпускаете — и распознанный текст попадает в поле подсказки. Нужна версия v2.1.69 или новее, поддерживается двадцать языков.
Голос часто выигрывает у набора, когда вы идёте и думаете вслух или формулируете намерение в начале задачи, когда формулировка ещё не устоялась. Для правок на уровне строк хуже: «замени строку 47 на…» проще набрать.

Забирайте облачные сессии с помощью /teleport
/teleport (алиас /tp) подтягивает облачную сессию в ваш локальный терминал. Допустим, вы начали долгую задачу в веб-приложении или на iOS, а теперь вернулись к ноутбуку. Запустите claude --teleport, чтобы открыть выборщик и перенести ту сессию в терминал с уже переключенной нужной веткой.
Нужно соблюсти несколько условий:
- Чистое состояние git
- Тот же репозиторий
- Тот же аккаунт claude.ai, на котором шла облачная сессия
- Ветка запушена на удалённый репозиторий
Не путайте --teleport с --resume. Второй лишь открывает локальные сессии из истории этой машины. Подробный разбор — в нашем руководстве по удалённому управлению Claude Code, там остальное.
Задавайте побочные вопросы с /btw
/btw — для короткого вопроса, который не хочется встраивать в основной поток.
Представьте, что Claude выполняет задачу. Уже запущена долгая правка или вызов инструмента, и внезапно вам нужно вспомнить регэксп для IP-адресов или какой флаг делает X.
Просто введите /btw <question>, и ответ появится во всплывающем оверлее. Идущая задача продолжит выполняться, ответ не попадёт в историю разговора, так что не нужно плодить новую сессию для единичного запроса и не будет «загрязнения» текущей.
Заключение
Самый быстрый способ откатиться по всем советам из этой статьи — попытаться внедрить всё за один день. Выберите два-три пункта, доведите их до автоматизма, и добавляйте остальные позже.
Три, с которых стоит начать — каждый для своей части дня, чтобы они не мешали друг другу:
-
Аккуратный проектный CLAUDE.md плюс два-три правила с подстановками в
.claude/settings.jsonдля bash-команд, которые вы заново одобряете в каждой сессии. Это утренняя привычка по настройке — вы ощутите её только когда прекратятся прерывания. -
Выбор между
/compactи/clearи окно отката по Esc+Esc. Это дневная привычка — триггером служит момент, когда Claude снова спрашивает путь к файлу, который «знал» час назад. -
Один
/loopдля повторяющейся проверки, которая уже отъедает ваше время. Это фоновая привычка — запустили, и она окупается сама.
Если различия между Sonnet, Opus и Haiku всё ещё туманны, наш курс Introduction to Claude Models подробно объясняет, когда какая модель подходит. После этого вызовы /effort и /model даются гораздо легче.
Вопросы и ответы о терминале Claude Code
В чём разница между /compact и /clear в Claude Code?
/compact суммирует ранние ходы и сохраняет контекст текущей задачи, поэтому используйте его, когда полоска контекста заполняется, но вы всё ещё над той же задачей. /clear очищает контекст для несвязанной задачи или когда Claude повторяет исправленные ошибки. В любом случае прошлый разговор доступен через /resume.
Как перестать получать запросы на разрешение от Claude Code каждый раз?
Добавьте блок permissions в .claude/settings.json в корне проекта с шаблонами allow и deny. Например, разрешите Bash(pytest *) и Bash(uv run *) для доверенных команд и запретите Bash(curl *) и Read(./.env) для рискованных. Правила оцениваются в порядке «сначала deny», поэтому запрет всегда перебивает последующее разрешение.
Что делает окно отката по Esc+Esc в Claude Code?
Нажмите Esc дважды, чтобы открыть список всех контрольных точек подсказок в текущей сессии. Выберите одну, затем решите, восстановить только разговор, только код или и то и другое. «Восстановить код и разговор» — самое близкое к отмене для всей сессии в Claude Code, и это работает без git.
Когда использовать Opus, Sonnet или Haiku в Claude Code?
Sonnet — модель по умолчанию для большинства задач по разработке. Беритесь за Opus для самых сложных проблем, когда нужен максимально «умный» помощник. Haiku — верный выбор, когда важна скорость. Переключайтесь в середине сессии с помощью /model или сочетанием Option+P на macOS (Alt+P на Windows или Linux). Использовать Opus «на всякий случай» для всего — самая дорогая привычка.
Как работает команда /loop в Claude Code?
/loop 5m <prompt> запускает подсказку или слэш-команду с фиксированным интервалом (единицы — s, m, h, d, минимум — одна минута). /loop <prompt> без интервала передаёт выбор частоты модели. Циклы живут 7 дней, срабатывают в последний раз на седьмой день и удаляются. Они привязаны к сессии, поэтому --continue или --resume вернут их. Нажмите Esc, чтобы остановить раньше. Требуется Claude Code v2.1.72 или новее.