- Приложение Desktop
- Мобильное приложение Claude
- Ваш браузер на claude.ai/code
- Терминал с
claude --cloud - Облачные запланированные задачи
- Claude Tag
Среда Default
Если у вас ещё нет среды, подключение устанавливает среду Default. Как это происходит, зависит от того, где вы подключаетесь:- Потоки CLI, такие как
/web-setup: создают Default для вас - Веб-подключение на Pro и Max: создаёт Default для вас
- Веб-подключение на Team и Enterprise: показывает форму Create your first cloud environment, если владелец не включил Quick setup; сохраните значения по умолчанию в форме и нажмите Create & finish, чтобы получить ту же среду Default
- Trusted доступ в сеть: сеансы достигают реестров пакетов и других разрешённых доменов, и ничего больше через сеть сеанса.
- Никакой другой конфигурации: Default не определяет переменные окружения или скрипт установки, поэтому сеансы начинаются только с предустановленных инструментов.
- На приложении Desktop, мобильном приложении и на claude.ai/code сеансы, которые вы запускаете сами, используют среду, показанную в селекторе. Организационное значение по умолчанию, установленное владельцем, заполняет выбор, когда вы не выбрали ничего. Потоки в проекте используют среду, установленную в параметрах проекта.
- Из CLI Claude Code использует ваш выбор
/remote-env, или возвращается к среде, размещённой Anthropic, когда ваш список имеет одну, и в противном случае к первой среде в вашем списке, которая не является мостовой средой, записью Remote Control, которую регистрирует для представления вашей собственной машины, а не облачной среды. Для самостоятельно размещённой среды передача--environment <environment-id>с еёccpool_ID когда вы отправляете сеанс переопределяет выбор/remote-envи резервный вариант для этого вызова. Claude Code отклоняет размещённые Anthropicenv_ID, переданные флагу, поэтому используйте/remote-envдля их целевого назначения. Флаг требует Claude Code v2.1.224 или позже.
Настройка вашей среды
Добавляйте, редактируйте и архивируйте среды из селектора среды под полем сообщения на экране, где вы начинаете новую сессию на claude.ai/code. Чтобы попасть на этот экран, пройдите веб-подключение. Для приложения Desktop смотрите Облачные сессии. Среды, которые вы создаёте, являются личными для вашей учётной записи; общие среды, созданные пользователем с ролью Owner, появляются в селекторе рядом с ними. Смотрите Установленные инструменты, чтобы узнать, что доступно без какой-либо настройки. Селектор отображается только до тех пор, пока вы не отправите первое сообщение новой сессии. Чтобы отредактировать среду своей работающей облачной сессии, выберите значок-стрелку после названия сессии вверху, затем выберите Edit cloud environment.Откройте селектор среды
Добавьте или отредактируйте среду
- Добавление среды: выберите New environment внизу меню, чтобы открыть диалог New environment. Заполните форму и выберите Add environment. После этого ваша новая сессия использует добавленную среду.
- Редактирование среды: найдите её строку под Cloud. Если Cloud — это одна строка, выберите её, чтобы открыть список. Если вашей среды нет под Cloud, выберите строку More под этим заголовком. Наведите указатель на строку среды и выберите значок настроек, который появляется справа, чтобы открыть её диалог.
Установка переменных окружения
Переменные окружения используют формат.env, одна пара KEY=value на строку. Простые значения не нуждаются в кавычках, и если вы заключите значение в кавычки с соответствующей парой, кавычки не станут частью значения. Заключите в кавычки значение, которое охватывает несколько строк или содержит #: в неэкранированном значении # начинает комментарий, и остаток строки отбрасывается.
Следующий пример определяет три переменные.
OTEL_*. Claude Code использует их для собственного экспорта телеметрии и не передаёт их командам, которые он запускает.
В среде, размещённой Anthropic, сеанс читает значения среды при создании и снова каждый раз, когда Claude Code запускается в виртуальной машине сеанса после этого, что происходит в двух случаях:
- Виртуальная машина восстанавливается после простоя: после нескольких минут без активности виртуальная машина сеанса приостанавливается с сохранёнными файлами. Ваше следующее сообщение восстанавливает ту же виртуальную машину и снова запускает Claude Code.
- Виртуальная машина была отозвана и перестраивается: если приостановленная виртуальная машина с тех пор была отозвана, повторное открытие сеанса подготавливает свежую виртуальную машину.
LOG_LEVEL=trace npm test, или запустите новый сеанс.
Облачный сеанс также устанавливает некоторые переменные сам, когда запускается. Для CLAUDE_AUTOCOMPACT_PCT_OVERRIDE значение, которое устанавливает сеанс, переопределяет то, которое вы добавляете здесь, поэтому добавление этого ключа здесь не имеет эффекта.
Любой, кто использует среду, может читать значения. В среде, размещённой Anthropic, вместо этого используйте сетевой секрет для ключа, который прокси агента может прикрепить к запросу. Запросы, которые никогда не получают секрет, перечислены там.
Добавление сетевых секретов
Сетевой секрет — это API-ключ или токен, который вы сохраняете в облачной среде, чтобы Claude мог вызывать этот API из любой сессии в среде, не видя ключа. Прокси агента Anthropic добавляет ключ к запросам для перечисленных вами хостов после того, как каждый запрос покидает виртуальную машину сессии, поэтому сам ключ остаётся за пределами виртуальной машины. Сетевые секреты доступны на планах Pro, Max, Team и Enterprise. Чтобы проверить, можете ли вы добавить секрет самостоятельно, смотрите Требования.Требования
Эти требования определяют, можете ли вы добавить секрет и может ли прокси агента использовать его после добавления:- Роль: на планах Pro, Max и Team вы можете добавлять и удалять секреты в своих собственных средах независимо от вашей роли. На Team и Enterprise пользователи с ролью Owner имеют роль администратора организации в вашей организации claude.ai, а пользователи с ролью Admin — нет, что меняет то, что вы видите в следующих случаях:
- Ваша собственная среда на Enterprise: с ролью администратора организации вы добавляете и удаляете секреты. Без неё строка Network secrets открывает список секретов с примечанием «Only an organization admin can add or delete network secrets», без кнопки Add secret и кнопки удаления. Попросите пользователя с ролью Owner добавить секрет в общую среду, а затем запускайте свои сессии там
- Общая среда: пользователи с ролью Owner добавляют и удаляют её секреты в настройках администратора. Без роли администратора организации попросите пользователя с ролью Owner добавить секрет, потому что в диалоге среды нет раздела Network secrets
- Ваша собственная среда на Team: без роли администратора организации кнопка Add secret открывает сокращённую форму, которая принимает один хост
- Тип среды: облачная среда, размещённая Anthropic, которая уже существует. У самостоятельно размещённой среды нет сетевых секретов
- Доступность API: API принимает соединения из интернета, потому что запросы выходят из сети Anthropic
- Ключи шифрования: если ваша организация использует управляемые клиентом ключи шифрования, вы не можете сохранять сетевые секреты
Добавление секрета
Вы добавляете секреты по одному. Чтобы изменить хосты или значение секрета, удалите его и добавьте снова. Чтобы добавить секрет в общую среду, откройте её для редактирования на странице Cloud environments в настройках администратора, затем продолжите с шага 2 в её разделе Network secrets. Если вы используете план Team и не имеете роли администратора организации, выполните шаг 1 в своей собственной среде, затем заполните сокращённую форму.Откройте сетевые секреты среды
Добавьте секрет
- Name: метка для секрета, например
Internal billing API - Allowed websites: хосты API, например
api.example.com. Префикс*.соответствует любому поддомену - Custom headers: одна строка для заголовка, который несёт ключ. Строка начинается с
Authorizationв качестве Name заголовка иBearerв качестве его Prefix; вставьте сам ключ в качестве Value. Для заголовка вродеX-Api-Key, который принимает значение без префикса, измените имя и очистите префикс
Сохраните секрет
curl. API отвечает так, как если бы ключ был в запросе, а ключ не появляется ни в переменных окружения сессии, ни в каком-либо файле. Если вместо этого список помечает секрет как Not sent, примечание под ним объясняет причину и что делать. Два секрета, хосты которых пересекаются без точного совпадения, не получают отметки, и прокси агента отправляет только один из них.
Добавление секрета на плане Team без роли администратора организации
Если вы используете план Team и не имеете роли администратора организации, форма Add secret принимает один секрет для одного хоста. Выберите строку Network secrets вашей среды, а затем Add secret. Заполните эти поля и нажмите кнопку Add secret в форме:- Host: единственный хост, который получает секрет, например
api.example.com. Форма не принимает подстановочный знак*. - Name: необязательная метка для секрета
- Secret type: Token для ключа, который передаётся в заголовке запроса, или Username and password. Для токена вставьте ключ в качестве Value
Какие запросы получают секрет
Прокси агента прикрепляет секрет к запросу, когда хост запроса совпадает с одним из хостов, которые вы указали для этого секрета. Сессии могут обращаться к этим хостам, даже если уровень сетевого доступа среды иначе бы их не разрешал, за исключением хостов, которые никогда не получают секрет. Секрет применяется в каждой сессии, работающей в среде, кто бы её ни запустил, пока вы его не удалите.Запросы, которые никогда не получают секрет
Прокси агента никогда не прикрепляет добавленный вами секрет к следующим запросам:- GitHub: запросы к GitHub вместо этого аутентифицирует прокси GitHub, поэтому сетевой секрет для него не нужен
- API Anthropic и общедоступные реестры пакетов:
api.anthropic.com,registry.npmjs.org,jsr.io,npm.jsr.io,pypi.org,files.pythonhosted.org,index.crates.ioиproxy.golang.org - Запросы скрипта установки: Claude Code подключается к прокси агента, когда он запускается, после того как скрипт установки запустился
- Экспорт телеметрии Claude Code: Claude Code отправляет свой экспорт телеметрии сам, а не через команду, которую он запускает, и этот запрос не проходит через прокси агента
Выбор среды из CLI
Запустите/remote-env в вашем терминале, чтобы выбрать среду по умолчанию для облачных сеансов, которые вы создаёте из CLI, такие как claude --cloud. Команда открывает средство выбора ваших существующих сред и сохраняет ваш выбор в ключ remote.defaultEnvironmentId в ваших пользовательских параметрах, поэтому он применяется в каждом проекте на вашей машине, пока вы его не измените, если только тот же ключ не установлен на более высоком приоритете слой параметров, такой как параметры проекта репозитория.
ID самостоятельно размещённой среды, который имеет форму ccpool_..., следует более строгому правилу источника. Смотрите remote.defaultEnvironmentId для слоёв параметров, которые Claude Code чтит это из.
/remote-env только устанавливает значение по умолчанию: он не запускает сеанс и не может добавлять или редактировать среды. Управляйте ими из селектора среды.
Архивирование среды
Чтобы архивировать одну из ваших собственных сред, откройте её для редактирования, выберите Archive environment и подтвердите. Если среда общая для вашей организации, её вместо этого архивирует пользователь с ролью Owner со страницы Cloud environments в настройках администратора, поэтому обратитесь к Owner, если вы сами не являетесь им. Архивирование влияет на новые сеансы, а не на работающие:- Сеансы, которые уже работают в среде, продолжают работать.
- Среда исчезает из селектора и из
/remote-env, поэтому вы не можете выбрать её для новых сеансов. - Сетевые секреты среды остаются прикреплёнными в её работающих сессиях. Перед архивированием удалите те, которые вам больше не нужны.
- Ни одна новая сессия не может запуститься в архивированной среде ни в одном интерфейсе:
- Сохранённое значение по умолчанию CLI: если среда была вашим сохранённым значением по умолчанию CLI, Claude Code запускает облачные сессии CLI в среде, размещённой Anthropic, если такая есть в вашем списке. В противном случае он запускает их в первой среде вашего списка, которая не является мостовой средой Remote Control.
- Явная настройка: всё, что явно настроено на эту среду, например облачная запланированная задача, не может запускать в ней новые сессии. Укажите для него другую среду.
Общие среды организации
На планах Team и Enterprise владелец может создавать облачные среды, которые совместно используются со всеми членами организации. Та же роль управляет всем остальным на странице администратора Cloud environments, включая самостоятельно размещённые среды; роль Admin не может открыть страницу. Полный список ролей, которые могут открыть её, — это список для управления параметрами, управляемыми сервером. Общие среды появляются в селекторе среды каждого члена под заголовком Organization, после личных сред члена под Personal, поэтому команда может стандартизировать одну конфигурацию вместо того, чтобы каждый член пересоздавал её. Выбор значка параметров общей среды там открывает сводку её конфигурации только для чтения для каждого члена, включая владельцев. Владелец делает среду доступной для организации одним из двух способов:- Создание общей среды: используйте страницу Cloud environments в параметрах администратора, которая также является местом, где владельцы редактируют и архивируют общие среды. Каждая имеет имя, уровень доступа в сеть, переменные окружения в формате
.envи скрипт установки. - Совместное использование личной среды: откройте одну из ваших собственных сред для редактирования в селекторе среды, затем поделитесь ею из строки Who can use it. Среда сохраняет свой ID, поэтому сессии и запланированные задачи, которые уже её используют, не затрагиваются, и каждый член может затем её видеть и запускать в ней сессии.
Установка среды, которую использует канал Claude Tag
В каналах Claude Tag Claude работает как общая идентичность вашей организации, а не как какой-либо член, поэтому сеансы каналов используют только среды уровня организации, либо общие среды, либо самостоятельно размещённые среды. Чтобы дать каналу цепочку инструментов, которая не является предустановленной, такая как .NET, владелец может создать общую среду со страницы администратора Cloud environments с скриптом установки, который её устанавливает. Укажите канал на среду двумя способами:- Установите общую или самостоятельно размещённую среду как среду по умолчанию организации на claude.ai/admin-settings/claude-code.
- Закрепите одну на канале в параметрах администратора Claude Tag.
Сетевой доступ
Каждая среда устанавливает один уровень сетевого доступа, который контролирует исходящие соединения, которые могут устанавливать её сеансы. Уровень по умолчанию, Trusted, разрешает реестры пакетов и другие домены в списке разрешённых; Custom использует ваш собственный список доменов. Чтобы изменить сетевой доступ среды, откройте её для редактирования и используйте селектор Network access в диалоговом окне. Общая среда открывается там в режиме только для чтения, поэтому Owner изменяет её сетевой доступ со страницы Cloud environments в настройках администратора. Элемент управления, который открывает селектор, появляется в интерфейсах приложения, перечисленных в разделе Среда по умолчанию, и в редакторе облачных запланированных задач. Личные среды не имеют отдельной страницы в настройках вашего аккаунта claude.ai. Когда вы изменяете сетевой доступ среды, размещённой в Anthropic, её существующие сеансы следуют новому параметру в течение примерно минуты для запросов, которые проходят через список разрешённых сетей сеанса. Вам не нужно начинать новый сеанс.Уровни доступа
Поле Network access в диалоговом окне среды принимает один из четырёх уровней:- GitHub, через его отдельный прокси
- Соединители MCP, которые вы включаете, трафик которых проходит через серверы Anthropic
- Хосты, которые вы указали в сетевых секретах среды, кроме хостов, которые никогда не получают секрет
- API Anthropic, для собственных запросов Claude Code, даже при None, как отмечено в разделе Безопасность и изоляция
Разрешить определённые домены
Чтобы разрешить домены, которых нет в списке Trusted, выберите Custom в параметрах сетевого доступа среды, затем перечислите один домен в строке в поле Allowed domains. Этот пример разрешает три хоста, которые может потребоваться внутреннему проекту.api.example.com, любому поддомену internal.example.com и registry.example.com и ни к каким другим доменам через сеть сессии. Трафик GitHub, трафик коннекторов MCP и запросы к хостам сетевых секретов среды, кроме хостов, которые никогда не получают секрет, не проходят через этот список разрешённых доменов. Ведущий *. соответствует любому поддомену. Чтобы также сохранить домены Trusted, установите флажок Also include default list of common package managers; оставьте его снятым, чтобы разрешить только то, что вы указали.
Если ваша организация использует артефакты, вам не нужно добавлять *.frame.claudeusercontent.com в список, чтобы сеансы могли их читать. Когда список исключает этот хост, Claude Code читает содержимое артефакта через соединение сеанса с Anthropic. Сохраняйте хост в списке разрешённых в двух ситуациях:
- Сеансы в этой среде открывают публичные артефакты другой организации: Claude Code получает их с хоста напрямую, поэтому добавьте его в этот список.
- Вы настраиваете локальный CLI или самостоятельно размещённый runner: сохраняйте хост в этом списке разрешённых. См. требования к сетевому доступу и требования к сетевому доступу самостоятельно размещённого сетевые требования.
Прокси GitHub
В средах, размещённых в Anthropic, все операции GitHub проходят через выделенный прокси, который держит ваши реальные учётные данные GitHub вне виртуальной машины сеанса, независимо от уровня доступа среды. Сеансы в самостоятельно размещённой среде аутентифицируют операции git с учётными данными, которые предоставляет ваше развёртывание; Настройка git охватывает варианты, включая выданные для каждого сеанса учётные данные и согласие на использование этого же прокси. Прокси предоставляет:- Учётные данные Git: git-клиент внутри виртуальной машины использует ограниченные учётные данные, которые прокси проверяет и заменяет на ваш реальный токен GitHub.
- Запросы API: запросы от встроенных инструментов GitHub и от
ghпод заполнителемproxy-injectedотправляются с подставленными вашими реальными учётными данными. - Ограничения push: прокси отклоняет удаление веток и push чего-либо, кроме ветки, например тега. Он не ограничивает, какие ветки может обновлять push. Для этого используйте правила защиты веток или rulesets на GitHub.
- Область действия репозиториев: прокси обслуживает запросы GitHub API для репозиториев, прикреплённых к сессии. Запрос API к другому репозиторию получает 403 с сообщением, которое начинается с
GitHub access toи содержитis not enabled for this session. Архив исходного кода, который вы загружаете по URLgithub.com/{owner}/{repo}/archive/илиcodeload.github.com, получает ту же ошибку 403, если репозиторий не прикреплён, даже если он публичный. - Ограничения GraphQL: прокси отклоняет запросы к эндпоинту GraphQL GitHub с ошибкой 403, сообщение которой начинается с
GitHub GraphQL is not available from Claude Code sessionsи указывает резервный вариант REST,gh api repos/{owner}/{repo}/.... Подкомандыgh, использующие GraphQL, такие какgh prиgh issue, получают ту же ошибку 403. Ограничение применяется к каждому запросу через прокси независимо от предоставленных вами учётных данных, поэтому установленный вамиGH_TOKENполучает ту же ошибку 403. Claude не может обратиться через прокси к API GitHub, которые существуют только в GraphQL, например Projects v2.
raw.githubusercontent.com, который обрабатывает прокси безопасности. Этот домен находится в списке Trusted по умолчанию, поэтому эти файлы остаются доступными, если уровень доступа среды их не исключает.
Прокси безопасности
Облачные сеансы в средах, размещённых в Anthropic, работают за HTTP/HTTPS сетевым прокси в целях безопасности и предотвращения злоупотреблений; в самостоятельно размещённой среде исходящий трафик проходит через вашу собственную границу сети. Весь исходящий интернет-трафик из сеанса, размещённого в Anthropic, проходит через этот прокси, который предоставляет:- Защиту от вредоносных запросов
- Ограничение скорости и предотвращение злоупотреблений
Что доступно в облачных сессиях
В среде, размещённой Anthropic, каждая сессия получает свежую виртуальную машину (VM) под управлением Ubuntu 24.04 на x86_64, независимо от вашей собственной операционной системы и архитектуры CPU, с клонированным репозиторием и предустановленными распространёнными цепочками инструментов. Когда зависимость предоставляет предкомпилированные двоичные файлы, такие как Ruby gems с нативными расширениями или предварительно собранные колёса Python, используйте её сборку для x86_64 Linux, чтобы она соответствовала VM. Этот раздел охватывает значения по умолчанию в среде, размещённой Anthropic, встроенные инструменты GitHub, то, как запускать тесты и сервисы, ограничения ресурсов, которые получает каждая VM, и ограничения времени для длительной работы.Что переносится из вашей конфигурации
CLAUDE.md, .claude/CLAUDE.md и файлы .claude/rules/ в корне репозитория, которые не привязаны к определённым путям. Смотрите раздел Что треды получают из ваших репозиториев.Добавление личных предпочтений без коммита в репозиторий
В среде, размещённой Anthropic, добавьте скрипт настройки, который записывает~/.claude/CLAUDE.md, для предпочтений, которые вы не хотите помещать в общий репозиторий. Claude Code загружает этот файл в сессии как пользовательские инструкции. Этот пример задаёт предпочтение для сообщений коммитов:
/context в следующей облачной сессии и убедитесь, что /root/.claude/CLAUDE.md отображается в разделе Memory files.
Установленные инструменты
Облачные сессии поставляются с предустановленными распространёнными средами выполнения языков, инструментами сборки и базами данных. В таблице ниже приведено, что включено, по категориям.check-tools в облачной сессии. Это shell-команда, установленная на виртуальной машине сессии, а не команда, которую вы вводите с /; вы просите Claude, потому что Claude выполняет все команды на виртуальной машине за вас. Для инструмента, о котором она не сообщает, например Ruby, PHP, bun, PostgreSQL или Redis, попросите Claude выполнить собственную команду вывода версии этого инструмента, например psql --version.
Версии Node.js установлены в /opt/node20, /opt/node21 и /opt/node22, при этом по умолчанию в PATH находится 22. Чтобы работать с другой версией, попросите Claude добавить каталог bin этой версии, например /opt/node20/bin, в начало PATH.
Цепочки инструментов, не входящие в этот список, такие как .NET SDK, не предустановлены, даже если их реестры пакетов находятся в списке разрешённых доменов по умолчанию. Установите их с помощью скрипта настройки.
Работа с issues и pull requests GitHub
Облачные сессии включают встроенные инструменты GitHub, которые позволяют Claude читать issues, просматривать список pull requests, получать diff и публиковать комментарии без какой-либо настройки. Эти инструменты проходят аутентификацию через прокси GitHub, используя тот метод, который вы настроили в разделе Варианты аутентификации GitHub, поэтому ваш токен никогда не попадает в контейнер. Вы можете сами задатьGH_TOKEN или GITHUB_TOKEN в настройках среды или оставить обе переменные незаданными и позволить прокси GitHub выполнять аутентификацию за вас:
- Если вы задали токен, он передаётся в контейнер без изменений, поэтому ваши скрипты и
ghCLI от GitHub используют его напрямую. - Если вы не задали ни одну из переменных и аутентификацию для вашей сессии выполняет прокси GitHub, обе переменные в командах, которые выполняет Claude, содержат строку-заполнитель
proxy-injected, а прокси подставляет ваши реальные учётные данные в исходящие запросы к GitHub. Вызовыgh apiдля подключённых репозиториев работают без вашего собственного токена, но скрипт, который читаетGITHUB_TOKENнапрямую, получает заполнитель, а не пригодный для использования токен.
echo $GH_TOKEN.
gh CLI от GitHub предустановлен. Если вам нужна операция GitHub, которую не охватывают встроенные инструменты, попросите Claude вызвать REST API с помощью gh api. Подкоманды gh, использующие REST API, такие как gh workflow list, тоже работают. Прокси отклоняет подкоманды, использующие GraphQL, такие как gh pr и gh issue. gh автоматически читает GH_TOKEN, поэтому вам не нужно выполнять gh auth login.
Связь результатов с сессией
У каждой облачной сессии есть URL транскрипта на claude.ai, и сессия может прочитать свой собственный ID из переменной окруженияCLAUDE_CODE_REMOTE_SESSION_ID. Используйте это, чтобы добавлять отслеживаемую ссылку в описания PR, сообщения коммитов, публикации в Slack или сгенерированные отчёты, чтобы рецензент мог открыть запуск, который их создал.
Коммиты, которые Claude создаёт в облачной сессии, содержат git-трейлер Claude-Session: <url>, а описания PR содержат URL сессии на отдельной строке. Чтобы не добавлять трейлер и ссылку в описании PR, установите attribution.sessionUrl в значение false.
Чтобы добавить ссылку на сессию во что-то, кроме коммита или PR, например в сообщение Slack, которое публикует Claude, или в файл отчёта, который он записывает, попросите Claude выполнить следующую команду и использовать её вывод. Команда заменяет префикс cse_ в значении переменной окружения на префикс session_, который ожидает URL транскрипта:
Запуск тестов, запуск сервисов и добавление пакетов
Вы не получаете доступ к оболочке на виртуальной машине сессии. Claude выполняет каждую команду за вас, поэтому формулируйте задачи из этого раздела как просьбы в вашем промпте.Запуск тестов
Claude запускает тесты в ходе работы над задачей. Попросите об этом в промпте, например «исправь падающие тесты вtests/» или «запускай pytest после каждого изменения». Средства запуска тестов, поставляемые с предустановленными цепочками инструментов, такие как pytest и cargo test, работают без дополнительной настройки. Средство запуска, которое ваш проект объявляет как зависимость, например jest, устанавливается вместе с вашими зависимостями.
Запуск сервисов
PostgreSQL и Redis предустановлены, но по умолчанию не запущены. Попросите Claude запустить нужный вам сервис; он выполняет следующие команды:docker compose up, чтобы запустить сервисы вашего проекта. Сетевой доступ для загрузки образов определяется уровнем доступа вашей среды, а доверенные значения по умолчанию включают Docker Hub и другие распространённые реестры.
Если ваши образы большие или загружаются медленно, добавьте docker compose pull или docker compose build в ваш скрипт настройки. Кэш среды сохраняет загруженные образы, поэтому в каждой новой сессии они уже есть на диске. Кэш хранит только файлы, а не запущенные процессы, поэтому Claude по-прежнему запускает контейнеры в каждой сессии.
Добавление пакетов
Чтобы добавить пакеты, которые не предустановлены, используйте скрипт настройки. Кэш среды сохраняет то, что устанавливает скрипт, поэтому установленные там пакеты доступны в начале каждой сессии без повторной установки. Вы также можете попросить Claude установить пакеты посреди сессии, но такие установки не переносятся в другие сессии.Ограничения ресурсов
Облачные сессии в среде, размещённой Anthropic, работают с приблизительными лимитами ресурсов, которые могут меняться со временем:- 4 vCPU
- 16 ГБ оперативной памяти
- 30 ГБ дискового пространства
Ограничения времени
В среде, размещённой Anthropic, следующие ограничения времени применяются к длительной работе в облачной сессии, такой как сборка, установка или прогон тестов. Каждый пункт ссылается на раздел, в котором определено ограничение.-
Команды, которые выполняет Claude: облачная среда не задаёт собственный таймаут команд, поэтому применяются значения по умолчанию инструмента Bash. По умолчанию Claude ждёт команду переднего плана 2 минуты и может запросить до 10 минут.
Когда команда достигает своего таймаута, Claude Code переводит её в фоновый режим, а не останавливает, если только команда не начинается с
sleep. Команда, переведённая таким образом, может продолжать работать ещё до 30 минут, после чего Claude Code останавливает её по достижении ограничения времени для фоновых команд. УстановкаBASH_DEFAULT_TIMEOUT_MSвыше1800000миллисекунд увеличивает это ограничение, а также значение по умолчанию для команд переднего плана. -
Хуки SessionStart: Claude Code отменяет хук
commandчерез 600 секунд, если вы не задалиtimeoutв секундах в записи хука. Claude Code не применяет таймаут к хуку, который вы запускаете сasync: true. - Скрипт настройки: скрипт, выполнение которого занимает больше примерно пяти минут, не кэшируется. О том, как уложиться в это время, рассказывается в разделе Требования к скрипту.
- Неактивные сессии: после нескольких минут без активности виртуальная машина сессии приостанавливается с сохранением файлов, а приостановленная виртуальная машина позже может быть освобождена. В разделе Установка переменных окружения описано, что сессия подхватывает в каждом случае, а в разделе Environment expired — как заново открыть сессию, виртуальная машина которой была освобождена.
BASH_DEFAULT_TIMEOUT_MS и BASH_MAX_TIMEOUT_MS в её переменные окружения. Обе переменные принимают значения в миллисекундах. Например, BASH_DEFAULT_TIMEOUT_MS=600000 устанавливает 10 минут в качестве значения по умолчанию.
Скрипты установки
Скрипт установки — это скрипт Bash, который запускается при запуске нового облачного сеанса, перед запуском Claude Code. Используйте скрипты установки для установки зависимостей, настройки инструментов или получения всего, что нужно сеансу и что не предустановлено. Скрипты запускаются как root на Ubuntu 24.04, поэтомуapt install и большинство менеджеров пакетов языков работают.
Добавление скрипта установки
Чтобы добавить скрипт установки в собственную среду, вы можете ввести или вставить его либо загрузить текстовый файл, напримерsetup.sh. Добавьте или отредактируйте среду и выберите строку Setup script. Введите скрипт в открывшемся поле или выберите Choose file, чтобы заменить содержимое поля текстом файла размером до 64 КБ. Затем выберите Add environment или Save changes.
Этот пример устанавливает ShellCheck, который не предустановлен.
Требования к скрипту
При написании скрипта установки нужно учитывать четыре ограничения:- Выход с нулём: если скрипт выходит с ненулевым значением, сеанс не запускается. Добавьте
|| trueк некритичным командам, чтобы перебой установки не блокировал сеанс. - Завершение в течение пяти минут: держите общее время выполнения скрипта примерно под пять минут, чтобы кэш среды мог построиться. Когда установка занимает больше времени, среда не кэшируется. Запускайте независимые установки параллельно с
&иwait, и переместите любую одиночную загрузку, которая не подходит, в SessionStart hook, который запускает её в фоне. Если новые сеансы зависают или не удаются во время установки, смотрите New sessions hang or time out during setup. - Сетевой доступ для установок: установки пакетов должны достичь реестров. Уровень Trusted по умолчанию охватывает общие реестры пакетов, включая npm, PyPI, RubyGems и crates.io; с None сетевым доступом установки не удаются.
- Переменные среды ещё не заданы: скрипт запускается до того, как сессия задаёт переменные окружения среды. Задавайте все значения, которые нужны скрипту, в самом скрипте.
Кэширование среды
Скрипт установки запускается в первый раз, когда вы запускаете сеанс в среде. Когда установка завершается в течение примерно пяти минут, Anthropic создаёт снимок файловой системы и повторно использует этот снимок как начальную точку для более поздних сеансов. Новые сеансы начинаются с ваших зависимостей, инструментов и образов Docker уже на диске и пропускают шаг скрипта установки. Это держит запуск быстрым, даже когда скрипт устанавливает большие цепочки инструментов или получает образы контейнеров. Если установка занимает больше времени, чем примерно пять минут, среда не кэшируется. Кэш — это снимок файловой системы, поэтому он сохраняет то, что скрипт установки пишет на диск, и теряет всё, что было только работающим. Пакеты, которые вы устанавливаете, образы Docker, которые вы получаете, и файлы, которые вы пишете, все переносятся. База данных, которую запустил скрипт, стекdocker compose up или любой другой фоновый процесс не переносятся; запускайте их для каждого сеанса, попросив Claude или с помощью hook SessionStart.
Скрипт установки запускается снова, чтобы перестроить кэш, когда вы изменяете скрипт установки среды или разрешённые сетевые хосты, и когда кэш достигает своего истечения примерно через семь дней. В среде, размещённой Anthropic, скрипт установки не запускается, когда виртуальная машина сеанса восстанавливается после простоя, поэтому изменение скрипта достигает существующего сеанса только когда его виртуальная машина была отозвана и перестроена. Чтобы применить изменение сразу же, запустите команды в сеансе или запустите новый сеанс.
Вам не нужно включать кэширование или управлять снимками самостоятельно.
Скрипты установки против hooks SessionStart
Используйте скрипт установки для подготовки самой виртуальной машины: цепочки инструментов и инструменты CLI, которые не предустановлены. Используйте hook SessionStart для установки проекта, которая должна работать везде, облачно и локально, напримерnpm install.
Скрипты установки и hooks SessionStart запускаются в фиксированном порядке при запуске облачного сеанса. Таблица сравнивает, где вы их настраиваете, когда они запускаются и где они запускаются.
~/.claude/settings.json, не ожидайте их в облаке: пользовательские параметры остаются на вашей машине. Какие другие hooks запускаются, зависит от того, где работает сеанс:
- Среда, размещённая Anthropic: Claude Code запускает хуки из настроек, управляемых сервером вашей организации, а вне треда проекта — также из репозитория. Сессии Claude Tag не получают настройки, управляемые сервером, поэтому хуки из настроек, управляемых сервером, там не запускаются.
- Самостоятельно размещённая среда: Claude Code также запускает hooks, которые оператор посеял из
~/.claude/хоста runner, и hooks в файле управляемых параметров образа runner, когда этот файл является одним из управляемых источников, которые применяет Claude Code.
Установка зависимостей с помощью hook SessionStart
Чтобы устанавливать зависимости только в облачных сессиях вне тредов проекта, объедините хук SessionStart со скриптом, который проверяет, где он работает. Сначала добавьте hook SessionStart в.claude/settings.json вашего репозитория. Эта конфигурация говорит Claude Code запустить scripts/install_pkgs.sh из вашего репозитория всякий раз, когда сеанс запускается или возобновляется:
matcher ограничивает hook событиями startup и resume, и $CLAUDE_PROJECT_DIR разрешается в корень репозитория, поэтому hook находит скрипт независимо от рабочего каталога сеанса.
Далее создайте скрипт в scripts/install_pkgs.sh. Он немедленно завершается вне облака, затем устанавливает ваши зависимости. Он пропускает npm install, пока package.json, package-lock.json и сам скрипт не изменились с момента последней успешной установки:
CLAUDE_CODE_REMOTE — это то, что ограничивает установку облачными сеансами: виртуальная машина сеанса несёт эту переменную как true, она никогда не true локально, поэтому на вашем ноутбуке скрипт выходит перед установкой чего-либо.
Чтобы убедиться, что npm install выполнился успешно, запустите облачную сессию и попросите Claude показать node_modules/.install_pkgs.sha256. Файл содержит хэш для каждого из трёх файлов. Если файл отсутствует, попросите Claude запустить npm install и сообщить об ошибке.
npm install читает другие файлы, например package.json рабочего пространства, .npmrc или входные данные вашего скрипта postinstall, добавьте их в команду sha256sum, которая сохраняет хэши. Иначе после изменения одного из этих файлов у вас останутся старые пакеты.Ограничения в облачных сеансах
Hooks SessionStart ведут себя одинаково в облаке и локально, с этими оговорками:- Один репозиторий на сессию: в среде, размещённой Anthropic, сессия с несколькими репозиториями не загружает хуки из
.claude/settings.jsonни одного репозитория, поэтому определённый там хук SessionStart не запускается. Вместо этого устанавливайте зависимости для таких сессий с помощью скрипта установки. Для самостоятельно размещённой среды смотрите, настройки какого репозитория применяются. - Не работают в облачных тредах проекта: облачный тред в проекте не запускает хуки из
.claude/settings.jsonрепозитория, независимо от количества репозиториев. В среде, размещённой Anthropic, устанавливайте зависимости для тредов с помощью скрипта установки. В самостоятельно размещённой среде вместо этого используйте хук в настройках хоста runner. - Нет облачного ограничения: hooks запускаются в локальных и облачных сеансах. Чтобы пропустить локальное выполнение, выйдите рано, если переменная окружения
CLAUDE_CODE_REMOTEнеtrue, как показано в скрипте установки зависимостей. - Требует сетевого доступа: команды установки должны достичь реестров пакетов. Если ваша среда использует None сетевой доступ, эти hooks не удаются. Список разрешений по умолчанию под Trusted охватывает npm, PyPI, RubyGems и crates.io.
- Совместимость с прокси: в среде, размещённой Anthropic, весь исходящий трафик проходит через прокси безопасности, и некоторые менеджеры пакетов не работают правильно с этим прокси; Bun — известный пример. В самостоятельно размещённой среде исходящий трафик проходит через вашу собственную границу сети вместо этого.
- Добавляет задержку запуска: хуки запускаются каждый раз, когда сессия запускается или возобновляется, в отличие от скриптов установки, которые выигрывают от кэширования среды. Держите скрипты установки быстрыми, пропуская уже выполненную работу, как это делает скрипт установки зависимостей.
docker compose. Полная замена базового образа ещё не поддерживается.
Разрешённые домены по умолчанию
С Trusted сетевым доступом сеансы могут достичь следующих доменов по умолчанию. Домены, отмеченные*, указывают на совпадение поддомена с подстановочным знаком, поэтому *.gcr.io разрешает любой поддомен gcr.io.
Сервисы Anthropic
Сервисы Anthropic
- api.anthropic.com
- docs.claude.com
- platform.claude.com
- code.claude.com
- claude.ai
- claude.com
- support.claude.com
- anthropic.com
- www.anthropic.com
Контроль версий
Контроль версий
- github.com
- www.github.com
- api.github.com
- npm.pkg.github.com
- raw.githubusercontent.com
- pkg-npm.githubusercontent.com
- objects.githubusercontent.com
- release-assets.githubusercontent.com
- codeload.github.com
- avatars.githubusercontent.com
- camo.githubusercontent.com
- gist.github.com
- gitlab.com
- www.gitlab.com
- registry.gitlab.com
- bitbucket.org
- www.bitbucket.org
- api.bitbucket.org
Реестры контейнеров
Реестры контейнеров
- registry-1.docker.io
- auth.docker.io
- index.docker.io
- hub.docker.com
- www.docker.com
- production.cloudflare.docker.com
- production.cloudfront.docker.com
- download.docker.com
- gcr.io
- *.gcr.io
- ghcr.io
- mcr.microsoft.com
- *.data.mcr.microsoft.com
- public.ecr.aws
Облачные платформы
Облачные платформы
- cloud.google.com
- accounts.google.com
- gcloud.google.com
- *.googleapis.com
- storage.googleapis.com
- compute.googleapis.com
- container.googleapis.com
- azure.com
- portal.azure.com
- microsoft.com
- www.microsoft.com
- *.microsoftonline.com
- packages.microsoft.com
- dotnet.microsoft.com
- dot.net
- visualstudio.com
- dev.azure.com
- *.amazonaws.com
- *.api.aws
- oracle.com
- www.oracle.com
- java.com
- www.java.com
- java.net
- www.java.net
- download.oracle.com
- yum.oracle.com
- *.r2.cloudflarestorage.com
Менеджеры пакетов JavaScript и Node
Менеджеры пакетов JavaScript и Node
- registry.npmjs.org
- www.npmjs.com
- www.npmjs.org
- npmjs.com
- npmjs.org
- yarnpkg.com
- registry.yarnpkg.com
- jsr.io
- npm.jsr.io
Менеджеры пакетов Python
Менеджеры пакетов Python
- pypi.org
- www.pypi.org
- files.pythonhosted.org
- pythonhosted.org
- test.pypi.org
- pypi.python.org
- pypa.io
- www.pypa.io
Менеджеры пакетов Ruby
Менеджеры пакетов Ruby
- rubygems.org
- www.rubygems.org
- api.rubygems.org
- index.rubygems.org
- ruby-lang.org
- www.ruby-lang.org
- rubyforge.org
- www.rubyforge.org
- rubyonrails.org
- www.rubyonrails.org
- rvm.io
- get.rvm.io
Менеджеры пакетов Rust
Менеджеры пакетов Rust
- crates.io
- www.crates.io
- index.crates.io
- static.crates.io
- rustup.rs
- static.rust-lang.org
- www.rust-lang.org
Менеджеры пакетов Go
Менеджеры пакетов Go
- proxy.golang.org
- sum.golang.org
- index.golang.org
- golang.org
- www.golang.org
- goproxy.io
- pkg.go.dev
Менеджеры пакетов JVM
Менеджеры пакетов JVM
- maven.org
- repo.maven.org
- central.maven.org
- repo1.maven.org
- repo.maven.apache.org
- maven.google.com
- jcenter.bintray.com
- gradle.org
- www.gradle.org
- services.gradle.org
- plugins.gradle.org
- plugins-artifacts.gradle.org
- kotlinlang.org
- www.kotlinlang.org
- spring.io
- repo.spring.io
Другие менеджеры пакетов
Другие менеджеры пакетов
- packagist.org (PHP Composer)
- www.packagist.org
- repo.packagist.org
- nuget.org (.NET NuGet)
- www.nuget.org
- api.nuget.org
- pub.dev (Dart/Flutter)
- api.pub.dev
- hex.pm (Elixir/Erlang)
- www.hex.pm
- cpan.org (Perl CPAN)
- www.cpan.org
- metacpan.org
- www.metacpan.org
- api.metacpan.org
- cocoapods.org (iOS/macOS)
- www.cocoapods.org
- cdn.cocoapods.org
- haskell.org
- www.haskell.org
- hackage.haskell.org
- swift.org
- www.swift.org
Дистрибутивы Linux
Дистрибутивы Linux
- archive.ubuntu.com
- security.ubuntu.com
- ubuntu.com
- www.ubuntu.com
- *.ubuntu.com
- ppa.launchpad.net
- launchpad.net
- www.launchpad.net
- *.nixos.org
Инструменты разработки и платформы
Инструменты разработки и платформы
- dl.k8s.io (Kubernetes)
- pkgs.k8s.io
- k8s.io
- www.k8s.io
- releases.hashicorp.com (HashiCorp)
- apt.releases.hashicorp.com
- rpm.releases.hashicorp.com
- archive.releases.hashicorp.com
- hashicorp.com
- www.hashicorp.com
- repo.anaconda.com (Anaconda/Conda)
- conda.anaconda.org
- anaconda.org
- www.anaconda.com
- anaconda.com
- continuum.io
- apache.org (Apache)
- www.apache.org
- archive.apache.org
- downloads.apache.org
- eclipse.org (Eclipse)
- www.eclipse.org
- download.eclipse.org
- nodejs.org (Node.js)
- www.nodejs.org
- developer.apple.com
- developer.android.com
- pkg.stainless.com
- binaries.prisma.sh
Облачные сервисы и мониторинг
Облачные сервисы и мониторинг
- http-intake.logs.datadoghq.com
- *.datadoghq.com
- *.datadoghq.eu
- api.honeycomb.io
Доставка контента и зеркала
Доставка контента и зеркала
- sourceforge.net
- *.sourceforge.net
- packagecloud.io
- *.packagecloud.io
- fonts.googleapis.com
- fonts.gstatic.com
Схема и конфигурация
Схема и конфигурация
- json-schema.org
- www.json-schema.org
- json.schemastore.org
- www.schemastore.org
Model Context Protocol
Model Context Protocol
- *.modelcontextprotocol.io
Связанные ресурсы
- Cloud sessions reference: запуск, управление и совместное использование облачных сеансов
- Cloud sessions quickstart: подключение GitHub и запуск вашего первого облачного сеанса
- Claude Tag: сеансы, которые Claude запускает из Slack, работают в одних и тех же средах
- Облачные запланированные задачи: запланированные запуски используют те же среды и уровни доступа к сети
- Remote Control: запуск сеансов на сети и файлах вашей собственной машины вместо этого
- Self-hosted environments: запуск облачных сеансов на инфраструктуре вашей организации
- SessionStart hooks: зафиксированная в репозитории установка, которая работает в локальных и облачных сеансах
- Server-managed settings: политика организации, которая достигает облачных сеансов