Можно поручать разработку облачным сессиям Claude Code и при этом не открывать новый путь в продакшен — если облако имеет доступ только к одному репозиторию GitHub, а продакшен-сервер только забирает (pull) код из этого репозитория. Но по дороге я не раз застревал. Эта статья — мой отчёт (я веду этот сайт) о том, как 4 октября 2026 года я начал пользоваться облачными сессиями в отдельном проекте разработки, перепроверенный по оригинальному тексту официальной документации.
К чему есть доступ у облака
Один репозиторий GitHub
Установите Claude GitHub App с вариантом «Only select repositories» и дайте ему только этот один репозиторий.
Продакшен-сервер
Только pull
Продакшен забирает код с ключом только для чтения. Ни облако, ни GitHub не получают ключа к продакшену.
Облачное окружение
Новое для каждого проекта
Переменные окружения может прочитать любой, кто пользуется этим окружением. Не храните в них секреты.
Источники: Use Claude Code in the cloud и Configure cloud environments. Проверено 4 октября 2026 года. Как это устроено, как начать и сколько стоит — в статье «Что такое облачные сессии Claude Code?»
Содержание
1. Схема, которая защищает продакшен: продакшен только забирает код
Больше всего я боялся, что работа через GitHub добавит ещё один путь на продакшен-сервер. В итоге я остановился на схеме ниже (это мой собственный выбор, а не официальная рекомендация). Стрелки показывают, в каком направлении забираются данные.
- Облачная сессия Пишет код и пушит ветки (попасть на продакшен не может)
- →push
- Приватный репозиторий GitHub Единственный репозиторий, на который установлен App
- ←fetch
- Продакшен-сервер Забирает код по deploy key только для чтения; деплой запускает человек
Сначала я попытался взять ключ от другого репозитория, и GitHub отклонил его с ошибкой «Key is already in use». Согласно документации GitHub, она появляется, когда ключ уже зарегистрирован в другом аккаунте или репозитории. Поскольку у каждого репозитория свой ключ, утечка ключа открывает только этот один репозиторий.
2. Что отправляется, если начать без GitHub
Обычно я храню код в git-репозитории на собственном сервере, поэтому сначала думал пользоваться облачными сессиями без GitHub. Согласно официальной документации, если запустить claude --cloud "task description", например, в репозитории без remote, локальный репозиторий упаковывается в один бандл и отправляется в облако. Вот что при этом уходит.
git add).macOS, Linux, WSL
Файлы с «секретными» именами остаются локально
Для файлов с именами вроде .env, *.tfvars, id_rsa или *.pem незакоммиченные изменения остаются на вашей машине и не отправляются.
Windows (не WSL)
Отправляется независимо от имени
Незакоммиченные изменения в отслеживаемых файлах уходят как есть. Перед стартом уберите в stash или откатите всё, что не хотите отправлять.
Опасны два случая: когда файл с секретами отслеживается git и вы его редактировали и когда вы когда-либо в прошлом коммитили секреты. Файл .env, исключённый через .gitignore, вообще не отправляется.
И ещё: согласно официальной документации, сессия, созданная из бандла, может пушить только в «repositories your GitHub connection has push access to» (репозитории, в которые у вашего подключения GitHub есть права на push). Способа вернуть результат прямо в собственный репозиторий не на GitHub я в документации не нашёл. Дойдя до написания документа с порядком действий, я сдался и создал приватный репозиторий на GitHub.
3. Пять мест, где я реально застрял
Вот на чём я споткнулся между созданием приватного репозитория на GitHub и реальным стартом — каждый случай разложен на симптом, причину и решение.
1) Репозитория нет в списке
2) На что устанавливать GitHub App
3) Видны репозитории организаций, где App не установлен
4) Осталось старое облачное окружение
5) Я хотел, чтобы она прочитала локальный файл
4. Чем отличаются режимы разрешений в облаке
Прямо перед отправкой я заметил, что режим разрешений стоит на «Accept edits». По названию кажется, что это самый «напористый» режим, но, согласно официальной документации, Accept edits в облаке соответствует режиму по умолчанию (Manual) в локальном Claude Code. В облаке правки файлов заранее разрешены во всех режимах, поэтому режим по умолчанию просто отображается под этим названием.
Accept edits
Останавливается на командах
Правки файлов проходят автоматически. Команды вроде npm install, сборки и git push каждый раз ждут вашего одобрения.
Plan
Сначала план
Прежде чем что-то менять, составляет и показывает план того, что собирается сделать.
Auto
Работает дальше сама
Вместо запроса одобрения каждое действие проверяет классификатор (механизм проверки безопасности), и работа продолжается. Режим появляется, только если его разрешает ваша организация и его поддерживает выбранная модель.
Мне хотелось, чтобы она продолжала работать без меня, поэтому я переключился на Auto. Учтите, что в облаке нельзя выбрать режим, пропускающий все проверки (bypass permissions), и он игнорируется, даже если указан в файле настроек репозитория. Подробное сравнение режимов — в статье «Режимы разрешений Claude Code».
5. Сколько это стоило на деле: $226 за одно указание
Настроив всё это, я запустил облачную сессию на ограниченном по времени кредите тарифа Max ($250). В первом сообщении я передал проектный документ и указания, режим разрешений — Auto. После этого я ни разу с ней не разговаривал. На полпути я заглянул на экран использования, испугался, как быстро тает кредит, и велел остановиться. На момент остановки у меня оставалось $24 кредита. Не останови я её, она сожгла бы все $250.
$226
Потрачено кредита (из $250, осталось $24)
676,7 тыс.
Контекст на момент остановки (68% от 1 млн)
86%
Израсходовано от недельного лимита тарифа (все модели)
Источник: мой экран использования Claude Code (4 октября 2026 года, тариф Max 20x). 86% недельного лимита включают расход вне облака.
Вот сколько работы облако успело сделать по одному указанию к моменту, когда я его остановил (по моему журналу работ).
Почему кредит тает так быстро
Стоимость определяется не тем, сколько раз вы с ней говорите, а тем, сколько раз Claude обращается к модели и какой объём контекста читает каждый раз. При автономной работе каждое чтение файла, запись файла и прогон тестов вызывают обращение, поэтому без всякого разговора набираются сотни и тысячи обращений. В официальной документации (Manage costs effectively) тоже сказано, что стоимость растёт с размером контекста.
При каждом обращении весь накопленный контекст перечитывается. Даже с кешированием чтение не бесплатно: по цене чтения из кеша Opus 5.5 ($0,20 за миллион токенов) однократное чтение 500 000 токенов стоит около $0,10. Повторите это 1000 раз — и выйдет около $100 (это пример, который я рассчитал по цене за единицу; реальное число обращений и разбивку по моделям для этой сессии я не проверял). Код и тесты, которые она пишет, считаются отдельно, по цене вывода.
Насколько мне удалось найти в официальной документации, настройки, ограничивающей расход кредита, нет (--max-budget-usd действует только для неинтерактивных запусков, а месячный лимит расходов относится к оплачиваемым по факту кредитам использования). Задать точку остановки можно только в указаниях или остановив работу самому. Кроме того, когда кредит заканчивается, облачные сессии расходуют недельный лимит тарифа — так же, как локальная работа. Если запустить задачу такого же объёма, когда от недельного лимита осталось мало, вы упрётесь в лимит, в том числе и в локальном Claude Code.
Разбивка: перечитывание и субагенты
После остановки я открыл подробную разбивку на экране использования (эти цифры охватывают всю сессию, включая сводку, которую я попросил написать уже после остановки).
8 ч 33 мин
Время работы модели (моё участие — 2 мин 24 с)
99%
Доля Opus (Sonnet — 1%)
63%
Доля субагентов (general-purpose 34%, Agent 29%)
Источник: представление сессии на моём экране использования Claude Code (4 октября 2026 года). Показанная стоимость: $231,09.
Моё участие заняло всего 2 минуты 24 секунды; остальные 8 с лишним часов Claude работал сам. Всё это время основной разговор на Opus и субагенты, тоже на Opus, снова и снова перечитывали всё удлиняющийся разговор. Когда я попросил облачную сессию подсчитать разбивку, она сообщила, что на завершение одного инструмента у субагента на Sonnet уходило около 30 действий, а у субагента на Opus — от 130 до 230 действий (это собственный подсчёт сессии; каждый случай я не проверял).
Стоимость на экране ($231,09) почти совпала с тем, насколько уменьшился кредит к моменту, когда я открыл этот экран ($250 → $18, то есть $232). При остановке сессии у меня оставалось $24; экран я открыл позже, так что к тому времени баланс успел ещё немного уменьшиться. Согласно официальной документации, стоимость на этом экране — оценка, полученная умножением числа токенов на прейскурантные цены. Поэтому похоже, можно считать, что кредит списывается по прейскурантным ценам API (в официальной документации это прямо не сказано).
Если не указать модель, субагенты используют ту же модель, что и основной разговор (официальная документация: «Create custom subagents»). Если основная модель — Opus, даже массовая рутинная работа в итоге идёт на Opus.
Как сократить расходы (по убыванию эффекта)
- 1. Запускайте субагентов на Sonnet Напишите в указаниях «run subagents with model: sonnet». Модель по умолчанию можно сменить и переменной окружения
CLAUDE_CODE_SUBAGENT_MODEL(это не секрет, так что её можно положить в окружение). - 2. Держите разговоры короткими (
/compactили новая сессия) Чем короче разговор, тем дешевле каждое действие. Если остаётесь в той же теме, сжатие через/compactукорачивает разговор без смены сессии (можно сказать, что сохранить, например «keep the test results»). Когда тема меняется или вы возвращаетесь после долгого перерыва, начните новую сессию. Если попросить записывать прогресс в документ для передачи дел, при разбиении работы ничего не потеряется. - 3. Задайте точку остановки заранее Напишите что-нибудь вроде «остановись и отчитайся, когда основа будет готова» или «остановись и отчитайся примерно на $50» (настройки лимита расходов нет, поэтому границы задавайте указаниями).
- 4. Поручайте и интеграционную работу Пусть тесты, коммиты и пуши делают субагенты — тогда в длинном и дорогом основном разговоре происходит меньше работы.
- 5. Облегчите проверку Запускайте UI-тесты только для только что созданных инструментов, а полный набор тестов — один раз перед слиянием. Скриншоты делайте по одному на инструмент в ширине десктопа и один в ширине телефона.
- 6. Сразу останавливайте ненужную работу Субагент, остановленный на полпути, не оставляет результатов, а потраченное не возвращается.
Ориентир — 2–3 параллельных запуска. По собственной оценке облачной сессии, уменьшение параллелизма лишь растягивает время и почти не меняет общую стоимость. Важнее числа параллельных запусков — держать каждый разговор коротким, а каждое указание конкретным.
Исходя из официальной документации, я выбираю между /compact и новой сессией так. /compact перечитывает весь разговор, чтобы составить сводку, но пока кеш ещё «тёплый», значительная часть этого перечитывания идёт из кеша, так что это не так дорого, как можно подумать по размеру разговора («Prompt caching»). После долгого простоя, когда кеш уже истёк, всё перечитывается без кеширования, а это дорого. Новая сессия, напротив, ничего не стоит, но не переносит то, что было раньше («Manage costs effectively»). Сводка может потерять детали, поэтому надёжнее сначала записать в документ всё, что нужно сохранить. Учтите, что в облачных сессиях /compact работает, а /clear — нет; новую сессию начинают из боковой панели («Claude Code on the web»).
Вот примерно такое сообщение я вставляю в начале следующей сессии (название проекта скрыто).
Продолжи с того места, где остановился.
Прочитай CLAUDE.md → docs/HANDOFF.md → docs/TODO.md и следуй правилам.
Тема этой сессии: XX
Запускай субагентов с model: sonnet, не более 2–3 параллельно.
Остановись и отчитайся, когда дойдёшь до бюджета $XX. Отчитывайся на русском.
Для сжатия контекста в облачных сессиях облако само задаёт переменную окружения CLAUDE_AUTOCOMPACT_PCT_OVERRIDE, поэтому добавлять её в своё окружение бесполезно. Чтобы сжатие срабатывало раньше, используйте CLAUDE_CODE_AUTO_COMPACT_WINDOW или /autocompact, как советует официальная документация.
6. Чек-лист перед стартом
- Аккаунт GitHub К claude.ai подключён именно тот аккаунт, которым вы хотите пользоваться?
- Область App Вы установили его только на нужные репозитории через «Only select repositories»?
- История Не лежат ли в истории репозитория секреты, закоммиченные в прошлом?
- Окружение Вы создали новое окружение для этого проекта? Секретов в его переменных окружения нет?
- Продакшен Вы не создали никакого пути из облака или GitHub на продакшен (продакшен забирает код сам)?
- Правила Вы положили повторно используемые правила в CLAUDE.md репозитория?
- Режим разрешений Вы выбрали Auto, чтобы она работала сама, или Accept edits, чтобы проверять каждый шаг?
Итоги
Пользоваться облачными сессиями, не подвергая риску продакшен, можно, если соблюдать три пункта: облако имеет доступ только к одному репозиторию GitHub, продакшен забирает из него код по ключу только для чтения, а деплой запускает человек. Начать можно и без GitHub, но тогда репозиторий отправляется с историей всех веток, а в Windows незакоммиченные изменения в отслеживаемых файлах уходят независимо от их имён.
Где я реально застрял: был подключён другой аккаунт GitHub, область установки App, оставшееся старое окружение, невидимые локальные файлы и «Accept edits», останавливающийся на каждой команде. Чек-лист выше предотвращает всё это.
Что касается стоимости, одно указание в автономном режиме израсходовало $226 ограниченного по времени кредита, прежде чем я велел остановиться на полпути. Стоимость зависит не от того, сколько раз вы с ней говорите, а от числа обращений и длины контекста. По разбивке, большая часть ушла на перечитывание разговора и на субагентов, работавших на той же модели, что и основной разговор. Переведите субагентов на Sonnet, держите разговоры короткими с помощью /compact или новой сессии и впишите точку остановки в указания.
Частые вопросы
В. Можно ли попробовать облачные сессии без GitHub?
О. Да. claude --cloud "task description" упаковывает и отправляет ваш локальный репозиторий. Он должен быть меньше 100 МБ и содержать хотя бы один коммит. Отправляется история всех веток, а способа вернуть результат прямо в репозиторий не на GitHub официальная документация не описывает.
В. В списке видны репозитории организаций, где я не устанавливал App. Это утечка?
О. Нет, если это публичные репозитории. При подключении через GitHub App облачные сессии могут пользоваться всеми публичными репозиториями, поэтому они и появляются в списке. Приватные репозитории доступны только там, где установлен App.
В. Можно ли положить API-ключ в переменную окружения?
О. Не рекомендую. Официальная документация предупреждает, что переменные окружения может прочитать любой, кто пользуется окружением, и советует не хранить там секреты. На Pro и Max ключ можно вместо этого зарегистрировать в разделе «API credentials» — его значение сессия прочитать не сможет.
В. Я выбрал «Accept edits», но она останавливается на каждой команде.
О. Так и задумано. В облаке правки разрешены во всех режимах, поэтому режим по умолчанию отображается под названием «Accept edits». Чтобы команды выполнялись без одобрения, выберите Auto (он появляется, только если его разрешает ваша организация и поддерживает модель).
В. Почему кредит так сильно уменьшается, хотя я с ней даже не разговариваю?
О. Потому что стоимость определяется не тем, сколько раз вы что-то пишете, а тем, сколько раз Claude обращается к модели и какой объём контекста читает каждый раз. При автономной работе каждое чтение файла, запись файла и прогон тестов вызывают обращение, а контекст продолжает расти. В моём случае одно указание израсходовало $226, прежде чем я остановил работу на полпути (раздел 5).
В. Можно ли так же тратить ограниченный по времени кредит?
О. Да. Кредит для Pro и Max (Pro — $100, Max — $250) автоматически применяется к использованию облачных сессий, и пока он есть, это использование не учитывается в лимитах тарифа. Получить его можно до 7 октября по тихоокеанскому времени США, а действует он до конца 4 ноября (16:59 5 ноября по японскому времени). Его нельзя использовать для Projects, Routines, Remote Control и т. п. Подробности — в официальной статье поддержки и в статье «Что такое облачные сессии Claude Code?»
Источники
- Официальная документация Claude Code: Use Claude Code in the cloud (включая раздел «Send local repositories without GitHub»)
- Официальная документация Claude Code: Get started with cloud sessions
- Официальная документация Claude Code: Configure cloud environments
- Официальная документация Claude Code: Permission modes
- Официальная документация Claude Code: Manage costs effectively
- Официальная документация Claude Code: Create custom subagents
- Справочный центр Claude: Cloud sessions bonus credit promotion
- Документация GitHub: Managing deploy keys и Error: Key already in use
Все официальные спецификации сверены с оригинальным текстом 4 октября 2026 года. Отчёт о настройке основан на одном запуске в одном моём проекте; то, что показывают экраны, может меняться с версиями и со временем.