SpyBara
Go Premium

desktop.md 2026-11-08 22:58 UTC to 2026-11-09 23:02 UTC

No changes for this document in this history range.

2026
Sun 1 23:57 Mon 2 23:57 Wed 4 23:59 Thu 5 23:03 Sat 7 23:58 Sun 8 22:58 Tue 10 21:57 Thu 12 23:02

Настольное приложение

Получите больше возможностей от Claude Code Desktop: параллельные сеансы с изоляцией Git, макет панелей с перетаскиванием, интегрированный терминал и редактор файлов, боковые чаты, использование компьютера, отправка сеансов со своего телефона, визуальный просмотр различий, предпросмотр приложений, мониторинг PR, коннекторы и конфигурация для предприятий.

В приложении Claude Desktop Claude Code находится на вкладке Code. В приложении также есть чат и Cowork, который отвечает за Dispatch и более длительную агентную работу. Эта страница является справочником для вкладки Code.

[card] Скачать для macOS

Универсальная сборка для Intel и Apple Silicon

[card] Скачать для Windows

Для процессоров x64

[card] Получить Claude для Linux (бета)

apt или .deb для Ubuntu и Debian

Для Windows ARM64 скачайте установщик ARM64. На Linux установите с помощью apt; см. Claude Desktop на Linux.

После установки запустите Claude, войдите в систему и нажмите на вкладку Code. Для пошагового руководства вашего первого сеанса см. Руководство по началу работы.

На вкладке Code каждый разговор является сеансом: он имеет свою историю чата и папку проекта, независимые от любого другого сеанса. Боковая панель отображает ваши сеансы и позволяет запускать несколько параллельно. В рамках сеанса вы можете:

Для запланированной повторяющейся работы, сочетаний клавиш или отправки задач со своего телефона см. связанные страницы и разделы. Если вы уже используете терминальный CLI, см. сравнение CLI для того, что переносится.

Начало сеанса

Перед отправкой первого сообщения выберите окружение, папку проекта, режим разрешений и модель в строке под полем промпта:

  • Environment: с помощью селектора окружения, первого элемента управления в строке, выберите, где запускается Claude. См. конфигурация окружения.
  • Project folder: нажмите элемент управления папкой проекта рядом с селектором окружения, чтобы выбрать папку, в которой работает Claude.
  • Permission mode: с помощью селектора режима выберите, сколько автономности имеет Claude. Вы можете изменить режим разрешений во время сессии.
  • Model: выберите модель в средстве выбора модели ближе к правому краю строки. Вы можете изменить модель во время сессии.

Введите вашу задачу и нажмите Enter для начала. Каждый сеанс отслеживает свой собственный контекст и изменения независимо.

Работа с кодом

Предоставьте Claude правильный контекст, контролируйте, сколько он делает самостоятельно, и проверяйте внесённые им изменения.

Используйте поле промпта

Введите, что вы хотите, чтобы Claude сделал, и нажмите Enter для отправки. Claude читает файлы вашего проекта, вносит изменения и выполняет команды на основе вашего режима разрешений. Вы можете изменить направление действий Claude в любой момент: нажмите кнопку остановки, чтобы прервать немедленно, или введите исправление и нажмите Enter для отправки без остановки выполняемого действия. Claude прочитает исправление, как только завершится текущее действие, и скорректирует свои действия перед следующим шагом.

Кнопка + рядом с полем промпта даёт вам доступ к вложениям файлов, скиллам, коннекторам и плагинам.

Примите предложенный промпт

После ответа Claude вкладка Code может показать предложенный следующий промпт серым текстом в пустом поле промпта. Claude Code генерирует каждое предложение на основе вашего диалога с помощью короткого фонового запроса, который учитывается в лимитах использования вашего плана или в ваших расходах на API.

  • Использовать предложение: нажмите Tab или Стрелку вправо, чтобы поместить его в поле промпта, при желании отредактируйте, затем нажмите Enter для отправки. Нажатие Enter до того, как вы примете предложение, не отправляет его.
  • Написать собственный промпт: начните вводить текст. Предложение отображается, только пока поле промпта пустое и в нём нет вложенных файлов.

Отключите Prompt suggestions в Settings > Code или Settings > Claude Code, чтобы предложения перестали появляться. Каждая сессия перестаёт их показывать при следующем запуске или возобновлении.

Добавляйте файлы и контекст в промпты

Чтобы передать Claude файл, упомяните его через @ или вложите его в поле промпта:

  • @mention файлов: введите @ и имя файла, чтобы добавить файл в контекст диалога.
    • В облачной сессии: @ может показывать список файлов только после того, как вы отправите первое сообщение. Если @ не показывает ни одного файла, отправьте первое сообщение без файла, а затем упомяните файл через @ в следующем сообщении.
  • Вложение файлов: вложите изображения, PDF-файлы и другие файлы в ваш промпт с помощью кнопки + рядом с полем промпта или перетащите файлы прямо в промпт. Это полезно для обмена скриншотами ошибок, макетами дизайна или справочными документами.
    • В сессии WSL: если в меню + отображается Add image вместо Add files or photos, вы можете вкладывать только изображения. Чтобы передать Claude любой другой файл из папки сессии, упомяните его через @.

Выберите режим разрешений

Режимы разрешений контролируют, насколько автономно Claude действует во время сессии: спрашивает ли он перед редактированием файлов, выполнением команд или обоим. Вы можете переключать режимы разрешений в любой момент, используя селектор режима в строке под полем промпта. Чтобы подтверждать каждое изменение самостоятельно, переключитесь на Manual.

Чтобы установить режим разрешений по умолчанию для новых локальных сессий, добавьте permissions.defaultMode в ваш файл настроек. Режим, который вы выбираете в локальной сессии, запоминается для каждой папки и имеет приоритет над defaultMode в настройках .claude/ проекта. Новая локальная сессия всё равно может запуститься в режиме defaultMode из ~/.claude/settings.json или управляемых настроек, поэтому проверьте селектор перед отправкой первого сообщения. Если вы выберете Plan, он применяется только к этой сессии.

Режим Ключ настроек Поведение
Manual default Claude спрашивает перед редактированием файлов или выполнением команд. Вы видите diff и можете принять или отклонить каждое изменение.
Accept edits acceptEdits Claude автоматически принимает редактирование файлов и общие команды файловой системы, такие как mkdir, touch и mv, но всё ещё спрашивает перед выполнением других команд терминала. Используйте это, когда вы доверяете изменениям файлов и хотите более быструю итерацию.
Plan plan Claude читает файлы и выполняет команды для исследования, затем предлагает план без редактирования вашего исходного кода. Хорошо подходит для сложных задач, когда вы хотите сначала проверить подход.
Auto auto Claude работает без рутинных запросов разрешения; перед выполнением действий, таких как shell-команды и сетевые запросы, фоновый классификатор проверяет, что они соответствуют вашему запросу. Появляется, когда авторежим доступен; отдельного переключателя Settings для этого нет.
Bypass permissions bypassPermissions Claude работает без запросов разрешения, за исключением действий, которые ни один режим не одобряет автоматически, классификаторов безопасности, когда Claude действует на внешних сайтах, или действий в приложении для рабочего стола, таких как удаление сессии (но не её архивирование). Эквивалентно --dangerously-skip-permissions в CLI. На планах Pro, Max и Ultra включите "Allow bypass permissions mode" в Settings > Code или Settings > Claude Code. На планах Team и Enterprise переключателя Settings нет, и вместо этого его контролирует политика организации. Используйте это только в sandboxed контейнерах или виртуальных машинах.

Более ранние версии вкладки Code обозначали эти режимы как Ask permissions, Auto accept edits и Plan mode.

Режим разрешений dontAsk доступен только в CLI.

[!TIP]

Начните сложные задачи в Plan, чтобы Claude наметил подход перед внесением изменений. После того как вы утвердите план, переключитесь на Accept edits или Manual для его выполнения. См. режим планирования для получения дополнительной информации об этом рабочем процессе.

Облачные сессии поддерживают Accept edits, Plan и Auto. Accept edits соответствует режиму default: облачные сессии предварительно одобряют редактирование файлов, поэтому селектор показывает Accept edits вместо Manual. Bypass permissions недоступен в облачных сессиях, включая сессии в самостоятельно размещённой среде.

Администраторы Enterprise могут ограничить, какие режимы разрешений доступны. См. конфигурация enterprise для получения подробной информации.

Доступность авторежима

Авторежим доступен всем пользователям на Anthropic API и требует Claude Opus 4.6 или новее, Sonnet 4.6 или новее, Haiku 5.5 или модель Fable. Администраторы организации могут отключить авторежим с помощью ключа disableAutoMode в управляемых настройках.

В развёртываниях Enterprise, которые маршрутизируют Desktop на Google Cloud's Agent Platform, авторежим также доступен по умолчанию; см. Авторежим на Bedrock, Agent Platform или Foundry для поддерживаемых моделей.

Предпросмотр вашего приложения

Claude может запустить dev сервер и открыть его в панели Browser для проверки своих изменений. Это работает как для фронтенд веб-приложений, так и для бэкенд серверов: Claude может тестировать API-эндпоинты, просматривать логи сервера и итерировать по найденным проблемам. В большинстве случаев Claude автоматически запускает сервер после редактирования файлов проекта. Вы также можете попросить Claude выполнить предпросмотр в любой момент. По умолчанию Claude автоматически проверяет изменения после каждого редактирования.

В локальной сессии нажмите на путь HTML, PDF или видео в чате, чтобы открыть его в панели Browser. В сессии SSH или WSL вы можете выполнить предпросмотр HTML-файла.

[!NOTE]

В сессии SSH у Claude нет инструментов панели Browser, поэтому он не может открыть ваше приложение в панели или автоматически проверить свои изменения. Меню Dev servers панели и ваши настроенные серверы предпросмотра также недоступны. Чтобы посмотреть на приложение самостоятельно, запустите его сервер на удалённой машине, а затем перенаправьте его порт на ваш компьютер.

Если панель Browser не открылась после того, как Claude запустил сервер в локальной сессии, нажмите Open на карточке сервера в чате.

Из панели Browser вы можете:

  • Взаимодействовать с вашим запущенным приложением прямо в панели Browser
  • Смотреть, как Claude автоматически проверяет свои собственные изменения: он делает скриншоты, проверяет DOM, нажимает на элементы, заполняет формы и исправляет найденные проблемы
  • Запускать или останавливать серверы либо останавливать все сразу из меню Dev servers в заголовке панели Browser
  • Выбирать, сохраняет ли Browser cookies после выхода из приложения, с помощью Keep cookies в меню ⋮ панели Browser, чтобы вам не приходилось повторно входить во время разработки

В сессии SSH cookies панели теряются при выходе из Desktop. Изменить это с помощью Keep cookies нельзя.

Claude создаёт начальную конфигурацию сервера на основе вашего проекта. Если ваше приложение использует пользовательскую команду dev, отредактируйте .claude/launch.json в соответствии с вашей конфигурацией. См. Configure preview servers для полного справочника.

Чтобы очистить сохранённые данные Browser, выберите Clear browsing data в меню ⋮ панели Browser. Чтобы полностью отключить Browser, выключите Browser tools в Settings > Code или Settings > Claude Code.

Предпросмотр HTML-файлов в сессиях SSH и WSL

В сессии SSH или WSL нажмите на путь HTML-файла в чате, чтобы открыть предпросмотр файла в панели Browser. Если диаграммы или таблицы в предпросмотре остаются пустыми, уведомление над ним объясняет причину:

  • This preview doesn't load anything from the web: скрипты, написанные в файле, выполняются, но диаграмма, которая загружает свою библиотеку из интернета, остаётся пустой. Если в уведомлении есть кнопка Export, выберите её и откройте сохранённый файл в своём браузере, где содержимое из интернета загружается.
  • This preview doesn't run scripts or load anything from the web: до Claude Desktop v4.23118.0 такие предпросмотры не выполняли скрипты, поэтому обновите Desktop и откройте файл снова. Если Desktop обновлён, а уведомление остаётся, перезапустите Desktop. Если оно всё равно остаётся, возможно, скрипты отключены для вашей организации, поэтому обратитесь к администратору.

Если вы закрыли уведомление, откройте файл снова, чтобы вернуть его.

Отключите скрипты в предпросмотрах SSH и WSL для вашей организации

Чтобы предпросмотры HTML в сессиях SSH и WSL не выполняли скрипты, установите управляемую настройку disableBrowserExternalNavigation в true. С этой настройкой пользователи также не могут просматривать внешние сайты в панели Browser.

Задайте её в управляемых настройках на стороне сервера или в политике MDM либо файле управляемых настроек Claude Code на компьютере, на котором работает Desktop. Desktop не читает её с удалённой машины или из дистрибутива WSL. При использовании стороннего провайдера используйте политику MDM или файл.

[!WARNING]

Если компьютер, на котором работает Desktop, пока не получает управляемые настройки Claude Code, также установите parentSettingsBehavior в "merge" в создаваемых вами управляемых настройках. Desktop передаёт свою собственную политику в Claude Code, и без "merge" Claude Code игнорирует эту политику, как только на компьютере появляются управляемые настройки. В Windows, если вы создаёте файл управляемых настроек, пользователи также теряют сессии WSL, пока вы не разрешите их.

Если компьютер уже получает управляемые настройки Claude Code, добавьте настройку в них и оставьте parentSettingsBehavior там без изменений. На компьютере с несколькими политиками MDM или файлами управляемых настроек используйте источник с наивысшим приоритетом.

Затем попросите пользователей перезапустить Desktop, чтобы убедиться, что настройка применяется, и сообщите им, чего ожидать:

  • Открываемые файлы: предпросмотр не выполняет скрипты, поэтому диаграммы и таблицы, которые рисуют скрипты, остаются пустыми
  • Предпросмотры, в которых выполняются скрипты: если Desktop применит настройку до перезапуска, они закроются. Пользователи увидят This preview closed because scripts are turned off for previews. Open the file again to view it without scripts.
  • Экспортируемые файлы: если пользователь экспортирует файл и откроет его в браузере, его скрипты выполнятся там независимо от этой настройки

Просмотр внешних сайтов

Панель Browser — это браузер с вкладками, поэтому вы можете открывать документацию, трекеры задач или любой другой сайт рядом с вашим запущенным приложением. Чтобы открыть Browser, нажмите Cmd+Shift+B на macOS или Ctrl+Shift+B на Windows либо нажмите Browser в строке заголовка сессии. Вы можете войти на сайты в панели, включая всплывающие окна входа, такие как Google OAuth.

Когда вы впервые нажимаете на внешнюю ссылку в чате, диалоговое окно спрашивает, открывать ли ссылки в панели Browser или в вашем браузере по умолчанию. Чтобы позже изменить выбор, используйте Open links in built-in browser в меню ⋮ панели Browser. Нажатие с Cmd на macOS или с Ctrl на Windows открывает ссылку сразу в вашем браузере по умолчанию.

Claude может читать и взаимодействовать с внешними страницами, используя те же инструменты, которые он использует для проверки вашего приложения, с двумя дополнительными проверками безопасности:

  • Классификаторы безопасности проверяют действия Claude по записи на внешних страницах, такие как нажатие и ввод текста, в каждом режиме разрешений. Это те же классификаторы, которые использует авторежим, и когда они помечают действие, вы получаете запрос разрешения независимо от режима.
  • В режимах разрешений, отличных от Auto и Bypass permissions, проверка списка разрешённых доменов также применяется перед тем, как Claude переходит на новый сайт.

Подтвердите действия Claude на сайте

Когда Claude впервые действует на внешнем сайте, появляется карточка разрешения и Claude ждёт вашего выбора: Allow once, Always allow или Deny. Allow once подтверждает действие без сохранения чего-либо. Always allow сохраняет подтверждение для этого сайта на вашем устройстве, и вы можете отозвать его в Settings. Каждый сайт требует собственного подтверждения, включая поддомены. Ваши локальные dev серверы и файлы проекта не требуют подтверждения, поэтому auto-verify продолжает работать без запросов разрешения.

Даже на одобренном сайте Claude не будет покупать товары, создавать учётные записи или обходить CAPTCHA без вашего ввода. Просмотр в панели Browser использует ту же модель безопасности, что и Claude в расширении Chrome. См. Using Claude in Chrome safely для получения информации о том, как Claude обрабатывает чувствительные сайты и рискованные действия.

Выберите между Browser и расширением Chrome

Панель Browser использует чистый профиль браузера, отдельный от вашего личного браузера, без ваших сохранённых входов или истории. Используйте его для создания и тестирования вашего приложения и для сайтов, которые не требуют вашей личности. Когда вы хотите, чтобы Claude действовал как вы в ваших сессиях с выполненным входом, используйте вместо этого Claude в расширении Chrome, которое делится состоянием входа вашего браузера.

Ограничьте внешний просмотр для вашей организации

Browser следует тем же элементам управления списком разрешённых и заблокированных сайтов, что и расширение Claude в Chrome. Если ваша организация уже настроила эти списки для расширения, Browser их автоматически соблюдает. Администраторы также могут отключить инструменты Claude на внешних страницах с помощью управляемой настройки browserExternalPageTools. С отключёнными инструментами пользователи всё ещё могут посещать внешние сайты; инструменты Claude не могут их читать или действовать на них.

Чтобы полностью отключить внешний просмотр, установите управляемую настройку disableBrowserExternalNavigation в true. Это блокирует всю внешнюю навигацию в Browser, включая сайты в списке разрешённых вашей организации. Локальные dev серверы и предпросмотры файлов продолжают работать, но предпросмотры HTML в сессиях SSH и WSL не выполняют скрипты. Используйте browserExternalPageTools, чтобы позволить пользователям продолжать просмотр внешних сайтов без инструментов Claude, и disableBrowserExternalNavigation, чтобы заблокировать внешние сайты как для пользователей, так и для Claude.

Проверьте изменения с помощью представления diff

После того как Claude вносит изменения в ваш код, представление diff позволяет вам проверить изменения файл за файлом перед созданием pull request. Чтобы открыть представление diff, нажмите на счётчики строк, например +12 -1, в карточке Changes панели сведений о сессии. Вы также можете нажать Changes в строке заголовка сессии. Diff облачной сессии относительно базовой ветки может не включать изменения, которые ещё не отправлены.

Чтобы прокомментировать определённые строки, наведите курсор на строку и нажмите значок +, который появляется рядом с её номером, чтобы открыть поле комментария. Введите ваш отзыв и нажмите Enter для добавления комментария. После добавления комментариев к нескольким строкам отправьте все комментарии сразу:

  • macOS: нажмите Cmd+Enter
  • Windows: нажмите Ctrl+Enter

Claude прочитает ваши комментарии и внесёт запрошенные изменения, которые появятся как новый diff, который вы можете проверить.

Проверьте ваш код

Чтобы Claude проверил ваши изменения перед тем, как вы сделаете коммит, введите /code-review в поле промпта. Результаты появятся в диалоге, когда код-ревью завершится.

В локальных сессиях, сессиях SSH и WSL результаты отображаются в карточке Code review, сгруппированные по файлам. Используйте карточку, чтобы работать с ними:

  • Нажмите Walk through in diff, чтобы открыть представление diff и пройти по результатам по одному. Результат, относящийся к текущему diff, отображается у соответствующей строки, где вы можете нажать Fix this one или отклонить его.
  • Нажмите Apply fixes, чтобы попросить Claude исправить результаты, которые всё ещё открыты.

В любой сессии вы также можете попросить Claude в поле промпта исправить то, что обнаружило код-ревью. О том, что ищет /code-review и какие аргументы принимает, см. Локальное код-ревью с помощью /code-review.

Мониторьте статус pull request

Чтобы Claude исправлял неудачные проверки или чтобы GitHub выполнил слияние pull request, включите Auto-fix или Merge when ready. После того как вы откроете pull request, он появится в карточке Changes панели сведений о сессии со статусом его проверок CI. Откройте меню ⋮ рядом с его заголовком:

  • Auto-fix: в локальной сессии Claude также обрабатывает новые комментарии ревью, оставленные кем-то кроме вас. Автор комментария должен быть владельцем репозитория, членом организации, соавтором (collaborator) или GitHub App.
  • Merge when ready: включает auto-merge GitHub для PR. В локальной сессии Desktop запрашивает squash-слияние, если только базовая ветка не использует очередь слияния (merge queue).
    • В сессиях SSH и WSL: Merge when ready отключён, поэтому включите auto-merge для pull request на GitHub
    • Если репозиторий не разрешает auto-merge: Merge when ready не включается, поэтому сначала включите auto-merge в настройках вашего репозитория GitHub
  • Предыдущий макет: когда у сессии появится pull request, нажмите CI в её строке статуса.

Чтобы автоматически архивировать сессию после слияния или закрытия PR, включите auto-archive в Settings > Code или Settings > Claude Code.

[!NOTE]

Мониторинг PR требует, чтобы GitHub CLI (gh) был установлен и аутентифицирован на вашей машине. Если gh не установлен, Desktop предложит вам установить его в первый раз, когда вы попытаетесь создать PR.

В сессии SSH настройте git и gh на удалённой машине до того, как нажмёте Create PR, потому что Claude отправляет ветку и выполняет gh pr create именно там. Установите gh там самостоятельно, потому что в сессии SSH Desktop не предлагает это сделать. Затем проверьте там, что git push работает и что gh auth status сообщает, что вы вошли в систему.

Организация рабочей области

Вкладка Code построена вокруг панелей, которые вы можете организовать в любой макет: чат, diff, браузер, терминал, файл, план, задачи и субагент, а также iOS Simulator на macOS. Перетащите панель за её заголовок, чтобы переместить её, или перетащите край панели, чтобы изменить её размер. Нажмите Cmd+\ на macOS или Ctrl+\ на Windows, чтобы закрыть сфокусированную панель.

Чтобы открыть другую панель, нажмите её кнопку-значок в строке заголовка сессии. Наведите указатель, чтобы увидеть название каждой кнопки, например Terminal, Changes для просмотра diff, Browser и Files. Если у нужной панели нет кнопки в строке заголовка, выберите её в меню ⋮ рядом с кнопками:

  • Когда окно узкое: кнопки, которые не помещаются, перемещаются в меню
  • Для панелей без кнопки: панели, такие как Background tasks и Plan, появляются в списке, как только в сессии есть что показать в этих панелях

Чтобы работать на нескольких экранах, выведите панель, такую как diff или терминал, в отдельное окно и закрепите её обратно, когда закончите. Claude продолжает работать в главном окне.

[!NOTE]

Макет панелей, терминал, редактор файлов и режимы просмотра в этом разделе требуют Claude Desktop v1.2581.0 или более поздней версии. Откройте Claude > Check for Updates… на macOS или Help > Check for Updates… на Windows для обновления.

Просмотр сведений о сессии

Панель сведений о сессии — это набор карточек рядом с чатом, которые показывают, где выполняется сессия, что она изменила, что она запускает и как используется её контекст. Панель появляется после запуска сессии, если чат достаточно широк для неё.

Скрытие или отображение панели сведений о сессии

Чтобы скрыть или показать панель, нажмите Hide session rail или Show session rail в строке заголовка сессии или в меню ⋮ этой строки. Если вы по-прежнему не видите панель, проверьте, какой макет вкладки Code у вас используется.

Сворачивание панели

Чтобы держать Terminal, Browser или iOS Simulator на виду в уменьшенном размере, нажмите Minimize в заголовке панели. Для этой кнопки требуется Claude Desktop v4.0.0 или более поздней версии и учётная запись Claude, а не сторонний провайдер. В панели Browser она есть только в локальных сессиях.

Свёрнутая панель располагается в панели сведений о сессии, пока та отображается на экране, а в противном случае плавает в углу чата:

  • В панели сведений: свёрнутая панель располагается под карточками панели сведений, и её нельзя переместить или изменить её размер. Чтобы вместо этого она плавала над чатом, скройте панель сведений.
  • В углу чата: наведите указатель на свёрнутую панель, чтобы показать её заголовок. Перетащите заголовок, чтобы переместить панель в другой угол. Чтобы изменить её размер, перетащите угол свёрнутой панели, ближайший к центру чата.

Чтобы вернуть панель в полном размере, нажмите Expand в заголовке свёрнутой панели. Чтобы вместо этого закрыть свёрнутую панель, нажмите кнопку закрытия рядом с Expand.

Запуск команд в терминале

Интегрированный терминал позволяет вам запускать команды рядом с вашей сессией без переключения на другое приложение. Нажмите Terminal в строке заголовка сессии или нажмите Ctrl+` на macOS или Windows. Терминал открывается в рабочем каталоге вашей сессии и делит то же окружение с Claude, поэтому команды, такие как npm test или git status, видят те же файлы, которые редактирует Claude. Чтобы открыть вторую вкладку терминала, нажмите + в заголовке панели терминала или щелкните правой кнопкой мыши на папке в чате, чтобы выбрать Open in terminal.

Если в сессии WSL нет терминала, см. Если терминал или коннекторы недоступны. Терминал доступен в локальных и SSH-сессиях, с ограничением на удалённых машинах Windows.

Открытие и редактирование файлов

Чтобы открыть файл, который упоминает Claude, нажмите на его путь в чате.

Чтобы отредактировать файл самостоятельно, используйте панель файлов:

  • Локальные сессии: вы можете редактировать файлы внутри рабочего каталога сессии, за исключением некоторых файлов, доступных только для просмотра, таких как .mcp.json и .claude/settings.json. Чтобы изменить такой файл, откройте его в другом приложении.
  • Облачные, SSH- и WSL-сессии: панель файлов доступна только для просмотра, поэтому попросите Claude внести правки.

Сохранение правок в панели файлов

По умолчанию ваши правки в панели файлов сохраняются автоматически, поэтому в панели нет кнопки Save. Чтобы сохранять правки самостоятельно, снимите флажок Auto save в меню ⋮ панели. Когда Auto save выключено, после изменения файла нажмите Save, чтобы записать правки, или Cancel, чтобы отменить их.

Если панель предупреждает, что файл изменился на диске, нажмите Override, чтобы записать ваши правки поверх версии на диске, или Discard, чтобы отбросить ваши правки.

Открытие файлов в других приложениях

Щелкните правой кнопкой мыши на любом пути файла в чате, средстве просмотра различий или панели файлов, чтобы открыть контекстное меню:

  • Attach as context: добавьте файл к вашему следующему промпту
  • Open in: откройте файл в установленном редакторе, таком как VS Code, Cursor или Zed
  • Show in Finder на macOS, Show in Explorer на Windows: откройте содержащую папку
  • Copy: подменю, которое копирует Absolute path (абсолютный путь), Relative path (относительный путь) или Filename (имя файла)

Переключение режимов просмотра

Режимы просмотра контролируют, сколько деталей появляется в транскрипте чата. Чтобы переключить режим просмотра, откройте меню сессии с помощью значка-стрелки рядом с названием сессии и выберите Transcript view, или нажмите Ctrl+O на macOS или Windows, чтобы циклически переходить через них. Режим Thinking появляется в меню только после того, как Claude выдал размышления в просматриваемой вами сессии.

Режим Что показывается
Normal Вызовы инструментов свёрнуты в сводки, с полными текстовыми ответами
Thinking Вызовы инструментов свёрнуты в сводки, плюс размышления Claude
Verbose Каждый вызов инструмента, чтение файла и промежуточный шаг, который делает Claude, плюс размышления Claude

Используйте Thinking, чтобы следить за рассуждениями Claude с вызовами инструментов, всё ещё свёрнутыми. Используйте Verbose при отладке того, почему Claude предпринял конкретное действие. Версии Claude Desktop до 1.46388.1 также содержат режим Summary, и сессия, всё ещё установленная на Summary, открывается в Normal после обновления.

Сочетания клавиш

Нажмите Cmd+/ на macOS или Ctrl+/ на Windows, чтобы увидеть все доступные сочетания клавиш на вкладке Code. В таблице этого раздела показаны клавиши macOS. На Windows и Linux замените эти клавиши:

  • Cmd+Option: нажимайте Alt
  • Cmd+Ctrl: нажимайте Ctrl+Alt
  • Cmd: нажимайте Ctrl

Сочетания клавиш, начинающиеся с Ctrl, одинаковы на всех платформах.

Сочетание клавиш Действие
Cmd / Показать сочетания клавиш
Cmd N Новая сессия
Cmd Option 1–9 На экране новой сессии в текущем макете выбрать окружение
Cmd Option 0 На экране новой сессии в текущем макете открыть диалог New environment
Cmd W Закрыть сессию
Ctrl Tab / Ctrl Shift Tab Переключиться между сессиями
Cmd Shift ] / Cmd Shift [ Следующая или предыдущая сессия
Esc Остановить ответ Claude
Tab / Right arrow Принять предложенный промпт в пустом поле ввода промпта
Cmd Shift D Переключить панель diff
Cmd Shift B Переключить панель браузера
Cmd Shift S Выбрать элемент в браузере
Ctrl ` Переключить панель терминала
Cmd \ Закрыть сфокусированную панель
Cmd Ctrl W Вывести сфокусированную сессию из разделённого представления
Cmd ; Открыть боковой чат
Ctrl O Циклически переходить через режимы просмотра
Cmd Shift M Открыть меню режима разрешений
Cmd Shift I Открыть меню модели
Cmd Shift E Открыть меню усилия
1–9 Выбрать элемент в открытом меню

Эти сочетания клавиш применяются к вкладке Code. В Desktop Shift+Tab не переключает режимы разрешений по кругу, как это происходит в интерактивном режиме терминала.

Проверка использования

Чтобы узнать, насколько заполнено контекстное окно этой сессии, найдите свой макет вкладки Code:

  • Текущий макет: заголовок карточки Context в панели сведений о сессии показывает это в процентах. Откройте карточку, чтобы увидеть, что занимает окно, по категориям.
  • Прежний макет: нажмите на кольцо использования рядом с выбором модели. Его всплывающее окно показывает использование контекстного окна.

В любом макете введите /context в поле ввода промпта, чтобы вывести в чат разбивку контекстного окна этой сессии по категориям.

В обоих макетах кольцо использования находится в строке под полем ввода промпта. Нажмите на него, чтобы увидеть использование вашего плана, которое является общим для всех ваших интерфейсов Claude Code.

Позвольте Claude использовать ваш компьютер

Использование компьютера позволяет Claude открывать ваши приложения, управлять вашим экраном и работать непосредственно на вашей машине так, как вы бы это делали. Попросите Claude взаимодействовать с инструментом рабочего стола, который не имеет CLI, или автоматизировать что-то, что работает только через GUI. Для запуска и тестирования приложений iOS Desktop открывает выделенную панель iOS Simulator вместо управления вашим экраном; панель работает без включения использования компьютера.

[!NOTE]

Использование компьютера — это research preview на macOS и Windows, который требует плана Pro, Max или Ultra. Он недоступен на планах Team или Enterprise. Приложение Claude Desktop должно быть запущено. На macOS для использования компьютера требуется macOS 14 или более поздней версии.

Использование компьютера отключено по умолчанию. Включите его в Settings перед тем, как Claude сможет управлять вашим экраном. На macOS вам также нужно предоставить разрешения Accessibility и Screen Recording.

На macOS использование компьютера также может работать в фоновом режиме: Claude работает в приложениях, которые вы одобрили, пока вы продолжаете работать.

[!WARNING]

В отличие от изолированного инструмента Bash, использование компьютера работает на вашем реальном рабочем столе с доступом к тому, что вы одобрите. Claude проверяет каждое действие и отмечает потенциальную инъекцию подсказок из содержимого на экране, но граница доверия отличается. См. руководство по безопасности использования компьютера для лучших практик.

Когда применяется использование компьютера

Claude имеет несколько способов взаимодействия с приложением или сервисом, и использование компьютера — самый широкий и медленный. Он пытается использовать наиболее точный инструмент в первую очередь:

  • Если у вас есть коннектор для сервиса, Claude использует коннектор.
  • Если задача — это команда shell, Claude использует Bash.
  • Если задача — это работа в браузере и у вас есть Claude в Chrome установлен, Claude использует это.
  • Если задача — это запуск или тестирование приложения iOS, Claude использует панель iOS Simulator, которая не использует управление экраном.
  • Если ничего из этого не применяется, Claude использует использование компьютера.

Уровни доступа для каждого приложения усиливают это: браузеры ограничены только просмотром, а терминалы и IDE — только кликом, направляя Claude к выделенному инструменту даже когда использование компьютера активно. Управление экраном зарезервировано для вещей, которые ничто другое не может достичь, таких как нативные приложения, панели управления оборудованием или собственные инструменты без API.

Включение использования компьютера

Использование компьютера отключено по умолчанию. Если вы попросите Claude сделать что-то, что нуждается в этом, пока это отключено, Claude скажет вам, что он мог бы сделать задачу, если вы включите использование компьютера в Settings.

1. Обновление приложения desktop

Убедитесь, что у вас есть последняя версия Claude Desktop. На macOS и Windows загрузите или обновите на claude.com/download; на Linux обновите через ваш менеджер пакетов (инструкции). Затем перезагрузите приложение.

2. Включение переключателя

В приложении desktop откройте Settings, затем:

  • Если в меню Settings есть пункт This computer: перейдите в This computer > System
  • В противном случае: перейдите в Capabilities

В разделе Computer use включите Enable computer use:

  • Windows: переключатель вступает в силу немедленно, и настройка завершена
  • macOS: перейдите к следующему шагу

Если вы не видите переключатель, убедитесь, что вы на macOS или Windows с планом Pro, Max или Ultra, затем обновите и перезагрузите приложение.

3. Предоставление разрешений macOS

На macOS предоставьте два разрешения системы перед тем как переключатель вступит в силу:

  • Accessibility: позволяет Claude кликать, печатать и прокручивать
  • Screen Recording: позволяет Claude видеть, что на вашем экране

На странице Settings показан текущий статус каждого разрешения. Если какое-либо из них отклонено, нажмите на значок, чтобы открыть соответствующую панель System Settings.

Разрешения приложений

В первый раз, когда Claude нужно использовать приложение, в вашем сеансе появляется подсказка. Нажмите Allow for this session или Deny. Одобрения действуют для текущего сеанса, или 30 минут в сеансах, порождённых Dispatch.

Подсказка также показывает, какой уровень управления получает Claude для этого приложения. Эти уровни фиксированы по категории приложения и не могут быть изменены:

Уровень Что может делать Claude Применяется к
View only Видеть приложение на скриншотах Браузеры, торговые платформы
Click only Кликать и прокручивать, но не печатать или использовать сочетания клавиш Терминалы, IDE
Full control Кликать, печатать, перетаскивать и использовать сочетания клавиш Всё остальное

Приложения с широким охватом, такие как терминалы, Finder или File Explorer и System Settings или Settings, показывают дополнительное предупреждение в подсказке, чтобы вы знали, что даёт одобрение.

В Settings раздел Computer use, в котором вы включили использование компьютера, содержит следующие параметры:

  • Denied apps: добавьте приложения сюда, чтобы отклонить их без подсказки. Claude может всё ещё косвенно влиять на отклонённое приложение через действия в разрешённом приложении, но не может взаимодействовать с отклонённым приложением напрямую.
  • Unhide apps when Claude finishes: когда использование компьютера не работает в фоновом режиме, Claude скрывает ваши другие окна, пока он работает, чтобы он взаимодействовал только с одобренным приложением. Когда Claude заканчивает, скрытые окна восстанавливаются, если вы не отключите этот параметр.

Управление сессиями

Каждая сессия — это независимый диалог со своим собственным контекстом и изменениями. Вы можете запускать несколько сессий параллельно, создавать боковые чаты, позволить Claude проверять ваши другие сессии и отправлять им сообщения, отправлять работу в облако или позволить Dispatch запускать сессии для вас с вашего телефона.

Параллельная работа с сессиями

Нажмите + New в боковой панели или нажмите Cmd+N на macOS или Ctrl+N на Windows, чтобы работать над несколькими задачами параллельно. Нажимайте Ctrl+Tab и Ctrl+Shift+Tab, чтобы переключаться между сессиями.

Вы также можете открыть вторую сессию рядом с текущей или в отдельном окне:

  • Рядом: удерживайте Option на macOS или Alt на Windows и нажмите на сессию в боковой панели либо щёлкните сессию правой кнопкой мыши и выберите Open in, затем Split view
  • В отдельном окне: удерживайте Cmd на macOS или Ctrl на Windows и нажмите на сессию либо щёлкните сессию правой кнопкой мыши и выберите Open in, затем New window

В режиме разделённого просмотра в фокусе находится панель, которую вы открыли или на которую нажали последней, а другая панель затемнена. Чтобы изменить, какую сессию показывает панель, нажмите в этой панели, чтобы перевести на неё фокус, затем нажмите на сессию в боковой панели. Чтобы убрать сессию в фокусе из разделённого просмотра, нажмите Cmd+Ctrl+W на macOS или Ctrl+Alt+W на Windows.

Запуск сессии в собственном worktree

В проекте, который является репозиторием Git, включите Worktree перед началом сессии, чтобы запустить её в отдельном Git worktree — изолированной копии проекта. По умолчанию Worktree отключён, и Claude работает непосредственно в папке проекта. В текущем макете включите Worktree в строке под полем ввода промпта.

Worktrees по умолчанию хранятся в <project-root>/.claude/worktrees/. Чтобы вместо этого хранить их в пользовательском каталоге:

  • Локальные сессии: задайте Worktree location в Settings > Code или Settings > Claude Code
  • Сессии SSH: задайте Worktree folder в SSH-подключении

Вы также можете задать Branch prefix в Settings > Code или Settings > Claude Code. Desktop добавляет его в начало имени каждой ветки worktree, что полезно для упорядочивания веток, созданных Claude.

Чтобы включить файлы из gitignore, такие как .env, в новые worktrees, создайте файл .worktreeinclude в корне вашего проекта. Сведения о том, откуда сессия в worktree читает настройки проекта, хуки и скиллы, см. в разделе Что worktrees разделяют с основной рабочей копией.

[!NOTE]

Для изоляции сессий требуется Git. На большинстве компьютеров Mac Git установлен по умолчанию. Чтобы проверить это, выполните git --version в приложении Terminal; если команда выводит номер версии, значит, Git установлен. Если у вас возникают ошибки Git, попросите Claude в Cowork помочь устранить проблемы с вашей настройкой.

Добавление папок в сессию

Добавляйте папки до запуска сессии или во время её работы:

Архивирование сессии

Прежде чем архивировать сессию, в worktree которой есть незакоммиченные изменения, см. раздел Сохранение незакоммиченных изменений при архивировании сессии. Чтобы архивировать сессию, наведите на неё курсор в боковой панели, откройте её меню и выберите Archive. Сессия перемещается в ваши архивированные сессии.

Чтобы сессии автоматически архивировались при слиянии или закрытии их pull request, включите Auto-archive after PR merge or close в Settings > Code или Settings > Claude Code. Облачные сессии и сессии, которые ещё выполняются, не архивируются автоматически.

Сохранение незакоммиченных изменений при архивировании сессии

При архивировании сессии вы можете потерять незакоммиченные изменения в её worktree, поэтому сначала сделайте коммит того, что хотите сохранить:

  • Если Desktop спрашивает об изменениях: выберите Archive anyway, чтобы отбросить их, или отмените действие и сделайте коммит
  • Если изменения состоят только из неотслеживаемых файлов: сделайте коммит тех, которые хотите сохранить, до слияния pull request, открытого Claude в этой сессии, потому что после этого Desktop может удалить их без запроса
  • В любом другом случае: worktree остаётся на диске вместе с изменениями. Для локальной сессии Desktop удаляет и то и другое примерно через 30 дней после архивирования сессии или её последнего открытия — в зависимости от того, что наступит позже. Чтобы сохранить изменения, откройте сессию на вкладке Archived и выберите Unarchive

Упорядочивание и поиск сессий

Группировка, сортировка и поиск сессий выполняются с помощью значка в списке сессий боковой панели:

  • Текущий макет: наведите курсор на заголовок в списке сессий, чтобы отобразить значок Group and sort, затем нажмите на него. Чтобы найти архивированные сессии, выберите View all — последнюю строку меню, затем откройте вкладку Archived.
  • Прежний макет: значок Filter отображается без наведения курсора. Нажмите на него, чтобы упорядочить список с помощью Group by или Sort by. Чтобы показать архивированные сессии, выберите Status, затем Archived.

Чтобы переименовать сессию, откройте её и нажмите на название сессии в строке заголовка.

Проверка и освобождение контекста

Чтобы проверить использование контекста, см. Проверка использования. Когда контекст заполняется, Claude автоматически суммирует диалог и продолжает работу. Вы также можете ввести /compact, чтобы запустить суммирование раньше и освободить место в контексте. Подробнее о том, как работает сжатие контекста, см. в разделе контекстное окно.

Уведомления о завершении сессии

Приложение для рабочего стола отправляет уведомление ОС, когда сессия Code завершает задачу, а вы в данный момент не просматриваете эту сессию. Для сессий, которые принадлежат проекту, вместо этого вы получаете уведомления проекта.

Задайте побочный вопрос, не сбивая сессию

Боковой чат позволяет задать Claude вопрос, который использует контекст вашей сессии, но ничего не добавляет обратно в основной диалог. Используйте его, когда хотите разобраться в фрагменте кода, проверить предположение или исследовать идею, не сбивая сессию с курса.

Нажмите Cmd+; на macOS или Ctrl+; на Windows, чтобы открыть боковой чат, или введите /btw в поле промпта. Боковой чат может читать всё в основном потоке до этого момента. Когда закончите, закройте боковой чат и продолжите основную сессию с того места, где остановились.

Боковые чаты доступны в локальных сессиях, а также в сессиях SSH и WSL. Приложение для рабочего стола не сохраняет боковые чаты на диск, поэтому вы не сможете вернуться к ним после закрытия приложения.

Наблюдение за фоновыми задачами

Панель задач показывает фоновую работу, выполняемую внутри текущей сессии: субагентов, фоновые shell-команды и динамические рабочие процессы. Когда в сессии появляется фоновая работа, откройте панель с помощью пункта Background tasks в меню ⋮ строки заголовка.

Нажмите на любую запись, чтобы увидеть её вывод в панели субагента или остановить её. Чтобы увидеть, что делают другие сессии, используйте боковую панель или попросите Claude проверить их за вас.

Работа между сессиями

Claude может перечислить ваши другие сессии на вкладке Code, прочитать, чем занималась каждая из них, и отправлять сообщения между ними. Спрашивайте простым языком: "какая сессия затрагивала рефакторинг аутентификации?", "к какому выводу пришла сессия API?" или "сообщи сессии платежей, что схема изменилась".

Вы также можете попросить Claude переименовать или архивировать сессию. Например, попросите его архивировать сессии, чьи PR уже слиты.

Через этот интерфейс Claude видит только сессии, которые запускает само приложение для рабочего стола: локальные сессии, а также сессии SSH и WSL на вкладке Code. Claude не видит облачные сессии или сессии, которые вы запустили из CLI в терминале или из расширения VS Code, даже в worktrees того же проекта, поэтому при девяти открытых worktrees в терминале и двух сессиях в приложении для рабочего стола Claude, отвечающий в одной из них, сообщит об одной другой сессии в приложении. Claude никогда не включает в список сессию, из которой вы спрашиваете. По умолчанию он видит 20 последних активных сессий и пропускает архивированные сессии, если вы их не запросите. Обмен сообщениями между сессиями отдельно позволяет Claude отправлять сообщения вашим другим сессиям Claude Code, включая сессии в терминале.

Когда Claude отправляет сообщение другой сессии через этот интерфейс, Claude Code показывает его там в виде карточки с названием отправляющей сессии и обратной ссылкой, поэтому вы всегда можете определить, откуда пришло сообщение. Если получающая сессия находится в процессе выполнения задачи, Claude Code придерживает сообщение, и Claude прочитает его после завершения текущей работы. Получающий Claude может ответить, и Claude Code доставит ответ обратно через этот интерфейс. Claude не может доставить сообщение в архивированную сессию и сообщает вам, если сообщение не прошло.

Claude Code применяет три механизма безопасности между сессиями:

  • Перед тем как Claude архивирует сессию, вы видите карточку подтверждения, кроме авторежима и режима Bypass permissions, в которых Claude может архивировать сессию без неё. Чтобы получать запрос, переключитесь в режим Manual.
  • Claude Code проверяет каждое сообщение из этого интерфейса на соответствие настройкам входящих сообщений получающей сессии, даже если в самой получающей сессии нет обмена сообщениями между сессиями. Если вы задали для crossSessionInbound значение refuse в получающей сессии, Claude Code отбрасывает сообщения из этого интерфейса. Claude Code сообщает об отказе приложению Claude для рабочего стола. До версии 2.1.234 Claude Code отбрасывал каждое сообщение из этого интерфейса, адресованное получающей сессии без обмена сообщениями между сессиями.
  • Claude Code цитирует каждое входящее сообщение и указывает сессию, которая его отправила, а Claude при действиях по такому сообщению по-прежнему следует собственным настройкам разрешений получающей сессии.

Запуск задачи, предложенной Claude

Когда Claude замечает что-то, что стоит исправить, но что выходит за рамки текущей задачи, он предлагает эту работу в виде задачи. В локальных сессиях и сессиях SSH в текущем макете предложение отображается в виде карточки в чате, а её кнопки либо запускают задачу, либо оставляют её в этой сессии:

  • Start: запускает задачу в другой сессии. По умолчанию задача выполняется в окружении текущей сессии. Затем карточка показывает состояние запущенной сессии, а боковая панель отображает запущенную сессию под текущей.
  • Do it here: отправляет задачу в текущую сессию в виде сообщения
  • Options: позволяет просмотреть или изменить такие настройки, как окружение, модель, worktree и разрешения, прежде чем нажать Start
  • Start all: если в карточке перечислено несколько задач, запускает каждую задачу в отдельной сессии, не дожидаясь завершения одной задачи перед запуском следующей

В облачных сессиях, а также в локальных сессиях и сессиях SSH в прежнем макете предложение отображается в виде карточки Suggested task. Чтобы запустить задачу так, как указано на основной кнопке карточки, например Send to cloud или Start with worktree, нажмите эту кнопку. Нажмите на стрелку рядом с основной кнопкой, чтобы увидеть другие способы запуска задачи, включая Do it here.

Запуск долгих задач в облаке

Для крупных рефакторингов, наборов тестов, миграций или других долгих задач при запуске сессии выберите окружение в разделе Cloud в селекторе окружения. Облачные сессии по умолчанию работают на инфраструктуре, управляемой Anthropic, и продолжают работу, даже если вы закроете приложение или выключите компьютер. Возвращайтесь в любое время, чтобы проверить прогресс или направить Claude в другую сторону. Вы также можете отслеживать облачные сессии из claude.ai/code или мобильного приложения Claude.

Облачные сессии также поддерживают несколько репозиториев. Выберите репозитории:

  • Текущий макет: в строке под полем промпта после выбора облачного окружения.
  • Прежний макет: над полем промпта. Чтобы добавить ещё один репозиторий, нажмите + рядом с выбранным.

Подробнее о том, как работают облачные сессии, см. Использование Claude Code в облаке. Когда для одного объёма работы нужно много облачных сессий, используйте проект: Claude запускает и отслеживает сессии за вас из одного диалога. Инструкции см. в разделе Создание проекта.

[!NOTE]

Задача в сессии SSH также может продолжать выполняться, пока Desktop отключён, но при использовании учётной записи Claude она может остановиться, когда истечёт срок действия входа.

Продолжение в другом интерфейсе

Чтобы продолжить сессию в другом месте, откройте меню сессии с помощью стрелки рядом с названием сессии или из строки сессии в боковой панели, затем выберите Open in:

  • Выберите Cloud, чтобы продолжить сессию как облачную сессию, при этом ваш диалог будет перенесён в виде сводки. Перед подтверждением в диалоговом окне указано, будут ли перенесены и ваши файлы, и будет ли эта сессия архивирована, когда облачная будет готова. Таким способом нельзя перенести сессию, которая работает через SSH или в WSL.
  • Выберите установленный редактор или файловый менеджер, чтобы открыть в нём папку сессии на диске.

Управление тем, какие сессии отображаются на других ваших устройствах

Локальная сессия появляется на других ваших устройствах после того, как Remote Control подключит её. Подключённая сессия отображается в списке сессий на claude.ai/code и в приложениях Claude на устройствах, на которых выполнен вход в вашу учётную запись claude.ai.

Локальная сессия подключается, когда вы включаете для неё Remote Control или когда она подключается автоматически при запуске:

  • Вы включаете его для этой сессии: с помощью переключателя Remote Control сессии или введя /remote-control в её поле промпта.
  • Она подключается при запуске: новые сессии подключаются автоматически, пока включён параметр Connect new sessions to Remote Control в Settings > Code или Settings > Claude Code, если только для remoteControlAtStartup не задано значение false в управляемых настройках. Если вы никогда не меняли Connect new sessions to Remote Control, Desktop использует remoteControlAtStartup из ваших пользовательских или управляемых настроек. Если ни те, ни другие его не задают, Desktop использует значение по умолчанию вашей организации, а при его отсутствии — собственное.

Чтобы узнать, подключена ли сессия, посмотрите на переключатель Remote Control в карточке Environment её панели сведений о сессии.

Как не допустить появления сессий на других ваших устройствах

Отключите Remote Control для одной сессии, для сессий на этом компьютере или для компьютеров, которыми вы управляете:

  • Одна сессия: отключите её переключатель Remote Control. В сессии, которая подключилась при запуске, ввод /remote-control оставляет Remote Control включённым и показывает Remote Control is already on. This session connected automatically when it started. Нажмите Turn off в этой строке, чтобы отключиться.
  • Новые сессии Desktop на этом компьютере: отключите Connect new sessions to Remote Control в Settings > Code или Settings > Claude Code. Если параметр уже отображается отключённым, включите его, а затем отключите, чтобы Desktop сохранил ваш выбор. После сохранения новые сессии не подключаются автоматически, даже если remoteControlAtStartup или значение по умолчанию предписывает обратное.
  • Любая сессия на этом компьютере, включая CLI: задайте для disableRemoteControl значение true в ~/.claude/settings.json, чтобы сессии не подключались. Сессия, которая уже была подключена, когда вы сохранили файл, остаётся подключённой, пока вы не отключите для неё Remote Control.
  • Сессии Desktop на компьютерах, которыми вы управляете: если вы задали для remoteControlAtStartup значение false в политике MDM или файле управляемых настроек с наивысшим приоритетом на компьютере, сессии на нём не подключаются автоматически, даже если в настройках, управляемых сервером, для этого ключа задано true. Не используйте для этого значение реестра HKCU на уровне пользователя. Пользователи по-прежнему могут сами включить Remote Control для сессии; чтобы этого не допустить, используйте консоль администратора. Требуется Claude Desktop v4.4212.0 или новее.

Чтобы скрыть сессию, которая уже отображается на других ваших устройствах, архивируйте её в Desktop. Desktop также архивирует копию сессии в Remote Control, поэтому она исчезает из списка сессий по умолчанию на этих устройствах. Чтобы просмотреть или удалить её там, см. Архивирование сессий.

Сессии из Dispatch

Dispatch — это постоянный диалог с Claude, который находится в Cowork. Вы отправляете Dispatch задачу, и он сам решает, как её выполнить.

Задача может превратиться в сессию Code двумя способами: вы прямо просите об этом, например "открой сессию Claude Code и исправь ошибку входа", или Dispatch решает, что задача относится к разработке, и сам создаёт сессию. Задачи, которые обычно направляются в Code, включают исправление ошибок, обновление зависимостей, запуск тестов или открытие pull requests. Исследования, редактирование документов и работа с электронными таблицами остаются в Cowork.

Отслеживание сессии, запущенной Dispatch

Сессия, которую запускает Dispatch, появляется в боковой панели вкладки Code вместе с другими вашими сессиями. При группировке и сортировке по умолчанию в боковой панели ищите самую новую сессию в группе папки, в которой она работает. Вы получаете push-уведомление на телефон, когда она завершится или потребует вашего подтверждения.

Если у вас включено использование компьютера, сессии Code, созданные Dispatch, тоже могут его использовать. Подтверждения для приложений в этих сессиях истекают через 30 минут и запрашиваются повторно, а не действуют всю сессию, как в обычных сессиях Code.

Настройка Dispatch

  • Планы: для Dispatch требуется план Pro, Max или Ultra; Dispatch недоступен на планах Team или Enterprise
  • Настройка, сопряжение и параметры Dispatch: см. статью справки Dispatch

Dispatch — это один из нескольких способов работы с Claude, когда вы находитесь вдали от своего терминала. Сравнение с другими вариантами см. в разделе Платформы и интеграции.

Расширение Claude Code

Подключайте внешние сервисы, добавляйте повторно используемые рабочие процессы, настраивайте поведение Claude и конфигурируйте серверы предпросмотра. Чтобы управлять коннекторами, skills и плагинами в одном месте, нажмите Customize на боковой панели. Вкладка Cowork в приложении Desktop получает свои skills, плагины и коннекторы из этой конфигурации Customize, которая синхронизируется через вашу учётную запись claude.ai, а не из каталога ~/.claude CLI.

Claude Code также загружает skills и плагины, включённые для вашей учётной записи claude.ai в сеансах терминала, где вы входите с той же учётной записью. См. Skills синхронизированные из claude.ai и Plugins синхронизированные из claude.ai.

Подключение внешних инструментов

Коннекторы — это MCP-серверы с графическим процессом настройки.

Нажмите + рядом с полем промпта до или во время сессии, чтобы добавить коннекторы в локальной или SSH-сессии с учётной записью Claude. Выберите Add connectors, чтобы открыть каталог коннекторов. Если вместо этого в меню отображается Connectors, выберите его, а затем Browse connectors.

[!NOTE]

Эти случаи описаны на других страницах:

После подключения Claude может читать ваш календарь, отправлять сообщения, создавать задачи и взаимодействовать с вашими инструментами напрямую. Вы можете спросить Claude, какие коннекторы настроены в вашей сессии. Чтобы управлять коннекторами или отключить их, нажмите Customize на боковой панели и откройте Connectors.

Для интеграций, не указанных в Connectors, добавьте MCP-серверы вручную через файлы настроек. Вы также можете создать пользовательские коннекторы.

Использование skills

Skills расширяют возможности Claude. Claude загружает их автоматически, когда они релевантны, или вы можете вызвать один напрямую: введите / в поле подсказки или нажмите кнопку + и выберите Slash commands, чтобы просмотреть доступные. Это включает встроенные команды, ваши пользовательские skills, skills проекта из вашей кодовой базы и skills из любых установленных плагинов. Выберите один, и он появится выделенным в поле ввода. Введите вашу задачу после него и отправьте как обычно.

Вы можете отправить команду, пока Claude работает, так же как любое другое сообщение, и сессия вернётся в режим ожидания после завершения хода.

Локальные сеансы загружают ваши личные skills из ~/.claude/skills/. Сеанс SSH читает ~/.claude/skills/ из домашней директории удалённого хоста, а не с вашей машины.

Локальные и облачные сеансы также загружают skills, включённые для вашей учётной записи claude.ai, за исключением локальных сеансов, когда ваша организация устанавливает disableSideloadFlags. Облачные сеансы загружают их вместо ~/.claude/skills/, как описано в Skills в сеансах Cowork и облачных сеансах.

Установка плагинов

Plugins — это повторно используемые пакеты, которые добавляют skills, agents, hooks, MCP servers и конфигурации LSP в Claude Code. Вы можете устанавливать плагины из приложения desktop без использования терминала.

В локальной сессии или SSH-сессии нажмите + рядом с полем промпта и выберите Add plugins, чтобы открыть браузер плагинов. Если вместо этого в меню отображается Plugins, выберите его, а затем Browse plugins или Manage plugins, чтобы включить, отключить или удалить плагины.

Вы можете ограничить плагины вашей учётной записью пользователя, конкретным проектом или только локально. Если ваша организация управляет плагинами централизованно, эти плагины доступны в сеансах desktop так же, как они есть в CLI, за исключением тех, которые приложение desktop скрывает под disableSideloadFlags.

Браузер плагинов недоступен в облачных сеансах, и плагины, которые вы устанавливаете из приложения desktop, недоступны для облачных сеансов. Облачный сеанс также не устанавливает плагины, которые объявляет .claude/settings.json репозитория, как описано в Что переносится из вашей установки. Плагины недоступны в WSL сеансах. Для полного справочника плагинов, включая создание собственных плагинов, см. plugins.

Конфигурация серверов предпросмотра

Claude автоматически обнаруживает вашу установку dev-сервера и сохраняет конфигурацию в .claude/launch.json в корне папки, которую вы выбрали при запуске сеанса. Preview использует эту папку как свой рабочий каталог, поэтому если вы выбрали родительскую папку, подпапки с их собственными dev-серверами не будут обнаружены автоматически. Чтобы работать с сервером подпапки, либо запустите сеанс в этой папке напрямую, либо добавьте конфигурацию вручную.

Чтобы настроить, как запускается ваш сервер, например использовать yarn dev вместо npm run dev или изменить порт, отредактируйте .claude/launch.json. Файл поддерживает JSON с комментариями.

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

Вы можете определить несколько конфигураций для запуска разных серверов из одного проекта, таких как фронтенд и API. См. примеры ниже.

Автоматическая проверка изменений

Когда autoVerify включен, Claude автоматически проверяет изменения кода после редактирования файлов. Он делает скриншоты, проверяет ошибки и подтверждает работу изменений перед завершением своего ответа.

Auto-verify включен по умолчанию. Отключите его для каждого проекта, добавив "autoVerify": false в .claude/launch.json, или отключите Auto-verify changes в меню ⋮ панели Browser.

{
  "version": "0.0.1",
  "autoVerify": false,
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

Когда отключено, инструменты предпросмотра всё ещё доступны, и вы можете попросить Claude проверить в любое время. Auto-verify делает это автоматическим после каждого редактирования.

Поля конфигурации

Каждая запись в массиве configurations принимает следующие поля:

Поле Тип Описание
name string Уникальный идентификатор для этого сервера
runtimeExecutable string Команда для запуска, такая как npm, yarn или node
runtimeArgs string[] Аргументы, передаваемые runtimeExecutable, такие как ["run", "dev"]
port number Порт, на котором слушает ваш сервер. По умолчанию 3000
cwd string Рабочий каталог относительно корня вашего проекта. По умолчанию корень проекта. Используйте ${workspaceFolder} для явной ссылки на корень проекта
env object Дополнительные переменные окружения как пары ключ-значение, такие как { "NODE_ENV": "development" }. Не помещайте сюда секреты, так как этот файл фиксируется в вашем репозитории. О секретах см. Задание переменных окружения для dev-серверов.
autoPort boolean Как обрабатывать конфликты портов. См. Конфликты портов
program string Скрипт для запуска с node. См. когда использовать program vs runtimeExecutable
args string[] Аргументы, передаваемые program. Используется только когда установлен program
url string Адрес, по которому открывается предпросмотр вместо http://localhost:<port>. См. открыть предпросмотр по определённому URL
Когда использовать program vs runtimeExecutable

Используйте runtimeExecutable с runtimeArgs для запуска dev-сервера через менеджер пакетов. Например, "runtimeExecutable": "npm" с "runtimeArgs": ["run", "dev"] запускает npm run dev.

Используйте program, когда у вас есть автономный скрипт, который вы хотите запустить с node напрямую. Например, "program": "server.js" запускает node server.js. Передавайте дополнительные флаги с args.

Открыть предпросмотр по определённому URL

По умолчанию предпросмотр открывает http://localhost:<port>. Установите url, когда вашему серверу нужен другой адрес. Распространённые случаи — серверы, требующие локального HTTPS, приложения, использующие поддомены *.localhost, и приложения, которые входят в систему через перенаправление.

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 8443,
      "url": "https://localhost:8443"
    }
  ]
}

Адреса localhost открываются напрямую, точно так же как адрес порта по умолчанию. Это включает localhost, любой поддомен *.localhost, 127.0.0.1 и ::1. В целях безопасности localhost url должен быть только источником вашего сервера — без пути или запроса, и порт должен совпадать с портом записи. Чтобы показать определённую страницу, попросите Claude перейти туда после открытия предпросмотра. localhost url с путём, запросом или несовпадающим портом сообщается как ошибка конфигурации, которая называет url и показывает исправление.

Для любого другого адреса Desktop запрашивает ваше разрешение в первый раз, когда предпросмотр открывает его, так же как когда вы переходите на новый сайт в предпросмотре. Внешние адреса могут включать пути. Выберите Always allow, чтобы пропустить подсказку для этого сайта в будущем. Политики организации, которые ограничивают внешние сайты в предпросмотре, всё ещё применяются.

Чтобы просмотреть сервер, который вы уже запускаете сами, установите url без команды. Claude присоединяет предпросмотр к вашему запущенному серверу вместо запуска одного:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "url": "https://app.localhost:3000"
    }
  ]
}

url должен быть http или https и не должен содержать имя пользователя или пароль.

Конфликты портов

Поле autoPort контролирует, что происходит, когда ваш предпочтительный порт уже используется:

  • true: Claude находит и использует свободный порт автоматически. Подходит для большинства dev-серверов.
  • false: Claude выходит с ошибкой. Используйте это, когда ваш сервер должен использовать конкретный порт, например для обратных вызовов OAuth или списков разрешений CORS.
  • Не установлено (по умолчанию): ваш сервер получает следующий свободный порт, как и при true, за исключением одного случая, описанного ниже. До Claude Desktop v2.37337.0 Claude вместо этого спрашивает, нужен ли серверу именно этот порт, а затем сохраняет ваш ответ в launch.json.

Если ваш предпочтительный порт занят, а autoPort не установлен, ваш сервер остаётся остановленным, когда выполняются все следующие условия:

  • Вы запускаете сервер через скрипт npm, yarn, pnpm или bun.
  • Ваш предпочтительный порт жёстко задан в этом скрипте, или Claude не может проанализировать скрипт.
  • Вы не передаёте порт в runtimeArgs.

В этом случае освободите порт, удалите жёстко заданное значение или измените port, чтобы он совпадал со скриптом. Установка "autoPort": true вместо этого работает только для скрипта, который читает PORT.

Сделайте так, чтобы ваш сервер читал свой порт из переменной окружения PORT, которая содержит назначенный порт. Когда Claude переносит ваш сервер на другой порт, он также переписывает значение --port или -p в runtimeArgs, чтобы оно совпадало.

Примеры

Эти конфигурации показывают общие установки для разных типов проектов:

[tab] Next.js

Эта конфигурация запускает приложение Next.js, используя Yarn на порту 3000:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "web",
      "runtimeExecutable": "yarn",
      "runtimeArgs": ["dev"],
      "port": 3000
    }
  ]
}

[tab] Multiple servers

Для монорепо с фронтенд и API-сервером определите несколько конфигураций. Фронтенд использует autoPort: true, поэтому он выбирает свободный порт, если 3000 занят, в то время как API-сервер требует порт 8080 точно:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "frontend",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "cwd": "apps/web",
      "port": 3000,
      "autoPort": true
    },
    {
      "name": "api",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "start"],
      "cwd": "server",
      "port": 8080,
      "env": { "NODE_ENV": "development" },
      "autoPort": false
    }
  ]
}

[tab] Node.js script

Чтобы запустить скрипт Node.js напрямую вместо использования команды менеджера пакетов, используйте поле program:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "server",
      "program": "server.js",
      "args": ["--verbose"],
      "port": 4000
    }
  ]
}

Конфигурация окружения

Окружение, которое вы выбираете при запуске сеанса, определяет, где Claude выполняется и как вы подключаетесь:

  • Local: работает на вашей машине с прямым доступом к вашим файлам
  • Cloud: работает на облачной инфраструктуре Anthropic по умолчанию. Сеансы продолжают работу даже если вы закроете приложение.
  • SSH: работает на удалённой машине, к которой вы подключаетесь через SSH, такой как ваши собственные серверы, облачные виртуальные машины или dev-контейнеры. Запущенная задача может продолжать выполняться, пока Desktop отключён, но при использовании учётной записи Claude она может остановиться, когда истечёт срок действия её входа.
  • WSL (Windows): работает внутри WSL 2 дистрибутива на вашей машине, используя его Linux toolchain и собственные пути

Создание сохранённого окружения

Сохранённое окружение — это запись в селекторе окружения, которая фиксирует, где работает Claude, чтобы вы могли запускать там последующие сессии. Локальное или SSH-окружение также хранит папки, в которых работает Claude. Сохранённые локальные и SSH-окружения являются частью текущего макета, поэтому, если вы их не видите, проверьте, какой у вас макет и как получить текущий.

1. Откройте диалоговое окно New environment

Откройте селектор окружений под полем ввода промпта и выберите New environment внизу его меню.

2. Выберите, где будет работать Claude

Выберите вкладку Local, SSH или Cloud и заполните форму на этой вкладке. На вкладке SSH выберите подключение и папку на удалённой машине.

3. Сохраните окружение

Выберите Create environment или Add environment на вкладке Cloud.

Окружения, которые Desktop создаёт за вас

Если в селекторе окружений есть локальные или SSH-окружения, которые вы не создавали, их создал Desktop. При первом открытии вкладки Code в текущем макете Desktop создаёт до восьми окружений. Эти окружения формируются из локальных и SSH-папок, которые вы чаще всего использовали за последний месяц. Вы можете изменить или удалить их.

Использование, изменение или удаление сохранённого окружения

Найдите запись окружения в селекторе окружений:

  • Запуск сессии: выберите запись.
  • Изменение или удаление: наведите указатель на запись и нажмите значок шестерёнки. Чтобы удалить локальное или SSH-окружение, нажмите Delete environment в Edit environment.
  • Архивирование облачных окружений: см. Архивирование окружения.

Переменные окружения в локальных сессиях

Чтобы задать переменную окружения для локальной сессии, добавьте её в сохранённое локальное окружение, затем запустите новую сессию из этого окружения.

Для таких переменных, как PATH и CLAUDE_CONFIG_DIR, есть отдельные инструкции:

Переменная Что сделать вместо этого
PATH — папки, в которых ваша система ищет программы, например npm См. Сессия не находит установленные инструменты. В Windows Desktop не читает профили PowerShell, поэтому задайте PATH в пользовательских или системных переменных окружения, затем закройте и снова откройте Desktop.
Переменная для MCP-сервера из claude_desktop_config.json Закройте Desktop, задайте её в блоке env этого сервера, затем снова откройте Desktop
CLAUDE_CONFIG_DIR или CLAUDE_CODE_TMPDIR Задайте её в одном из мест, где вы задали бы переменную для dev-серверов, затем закройте и снова откройте Desktop
API_TIMEOUT_MS, ANTHROPIC_BASE_URL или другая переменная, которую Desktop задаёт сам См. Переменные окружения, которые Desktop задаёт сам

Если в macOS или Linux переменная, которую вы задали с помощью export, отсутствует или имеет неверное значение в команде, которую выполняет Claude, см. Экспортированная переменная отсутствует или неверна в командах, которые выполняет Claude.

Установка переменных окружения для локальных сессий

Добавьте переменные в сохранённое локальное окружение и запускайте сессии из него. Desktop сам устанавливает некоторые переменные, например API_TIMEOUT_MS, и для них ваши сессии получают его значение вместо вашего.

[!NOTE]

Если в новой сессии под полем ввода промпта не отображается окружение, у вас прежний макет, в котором нет сохранённых локальных окружений. Вместо этого используйте редактор локального окружения.

1. Откройте форму локального окружения

  • Чтобы создать сохранённое локальное окружение: выберите New environment внизу меню селектора окружений, затем вкладку Local
  • Чтобы изменить уже существующее: в селекторе окружений наведите курсор на сохранённое окружение в разделе Local и нажмите значок шестерёнки, чтобы открыть Edit environment

2. Введите переменные

Выберите Environment variables, введите по одной паре KEY=value на строку и выберите Done.

3. Сохраните окружение

Выберите Create environment или Save.

Переменные получают только сессии, которые вы запускаете из этого окружения.

Чтобы задать переменную для каждой локальной сессии, добавьте её в ключ env в файле ~/.claude/settings.json. Claude Code игнорирует значение, если эта переменная уже есть в окружении, с которым Desktop запускает сессию. Полный список поддерживаемых переменных см. в разделе переменные окружения.

Установка переменных окружения для dev-серверов

Чтобы передать dev-серверу секрет, не коммитя его в launch.json, задайте его в одном из этих мест, а затем перезапустите Desktop:

  • macOS и Linux: экспортируйте его в профиле вашей оболочки
  • Windows: добавьте его в пользовательские или системные переменные окружения
  • Любая платформа: сохраните его в редакторе локального окружения, если можете его открыть

Dev-серверы не получают переменные, которые вы добавляете в сохранённое окружение или в ~/.claude/settings.json.

Использование редактора локального окружения

Чтобы открыть редактор локального окружения, нажмите значок шестерёнки на записи вашего собственного компьютера, а не на записи сохранённого окружения:

  • Селектор под полем ввода промпта: наведите указатель на запись вашего компьютера, первую под Local. Если появится значок шестерёнки, нажмите его. Если нет, редактор недоступен, поэтому задайте переменную для локальных сессий или dev-серверов другим способом.
  • Селектор над полем ввода промпта: наведите указатель на Local и нажмите значок шестерёнки

Введите по одной паре KEY=value на строку и выберите Save changes. Переменные, которые вы здесь сохраняете, хранятся в зашифрованном виде на вашем компьютере. Их получают локальные сессии, за исключением переменных, которые Desktop устанавливает сам, например API_TIMEOUT_MS. Перезапустите Desktop, чтобы передать ваши переменные dev-серверам.

Экспортированная переменная отсутствует или неверна в командах, которые запускает Claude

Если команда, которую Claude запускает в macOS или Linux, не получает переменную, заданную вами через export в ~/.zshrc или ~/.bashrc, или получает неверное значение, попробуйте следующее по порядку:

1. Запустите новую сессию

Попросите Claude выполнить команду снова.

2. Закройте и снова откройте Desktop

Затем запустите новую сессию.

3. Проверьте сохранённые переменные

Если команда получает неверное значение, проверьте, не задали ли вы эту переменную также в сохранённом окружении или в редакторе локального окружения. Если да, измените значение там и запустите новую сессию.

4. Используйте сохранённое окружение

Добавьте переменную в сохранённое локальное окружение, затем запустите новую сессию из этого окружения. Для таких переменных, как PATH, CLAUDE_CONFIG_DIR или API_TIMEOUT_MS, следуйте вместо этого их собственным инструкциям.

До версии v2.1.304 Claude Code не передаёт экспортированные переменные командам, поэтому проверьте, какую версию запускает сессия.

Переменные окружения, которые Desktop устанавливает сам

Если вы задали API_TIMEOUT_MS или ANTHROPIC_BASE_URL, а в ваших локальных сессиях ничего не изменилось, причина в том, что Desktop сам устанавливает эти переменные, наряду с другими. Локальная сессия получает значение Desktop независимо от того, задали ли вы своё в профиле оболочки, в пользовательских или системных переменных Windows, в редакторе локального окружения или в сохранённом окружении. Перенос вашего значения в файл настроек не помогает, потому что Claude Code игнорирует это значение в локальной сессии.

Отключение расширенного мышления

Расширенное мышление включено по умолчанию: оно улучшает производительность в сложных задачах на рассуждение, но расходует дополнительные токены. Чтобы отключить его, задайте MAX_THINKING_TOKENS равным 0 в сохранённом локальном окружении или в редакторе локального окружения. После этого мышление отключается в Anthropic API, за исключением Opus 5.5, Sonnet 5.5, Haiku 5.5 и моделей Fable, которые всегда используют расширенное мышление.

Для Opus 5 также выберите уровень усилий high или ниже перед запуском сессии. В текущем макете откройте выбор модели и выберите уровень под Effort. Если вы запустили сессию на более высоком уровне, запустите новую на уровне high или ниже.

Фиксированные бюджеты мышления

На моделях с адаптивным рассуждением Claude Code игнорирует само число в положительном значении MAX_THINKING_TOKENS, потому что глубиной мышления вместо этого управляет адаптивное рассуждение. На Opus 4.6 и Sonnet 4.6 установите CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING на 1, чтобы использовать фиксированный бюджет мышления; модели Fable, Sonnet 5 и более поздние версии, Haiku 5.5, а также Opus 4.7 и более поздние версии всегда используют адаптивное рассуждение и не имеют режима фиксированного бюджета.

Локальные сессии на управляемых устройствах

Если запись вашего компьютера в селекторе окружений неактивна и показывает подсказку Disabled by your organization, ваш администратор отключил локальные сессии. В Windows запись WSL, доступность которой на управляемых устройствах регулируется отдельно, становится неактивной таким же образом.

Новые сессии по умолчанию используют первое SSH-подключение, если оно настроено. Если вы попытаетесь продолжить существующую локальную сессию, Desktop покажет сообщение о том, что локальные сессии на этом устройстве недоступны. Сохранённые локальные окружения при выборе показывают эту ошибку: Couldn’t switch environments: the Local environment isn’t available anymore. Вместо этого выберите SSH или облачное окружение либо обратитесь в свой ИТ-отдел.

Облачные сеансы

Облачные сеансы продолжают работу в фоне даже если вы закроете приложение. Использование считается в пределах лимитов вашего плана подписки без отдельных расходов на вычисления.

Чтобы добавить, изменить или архивировать облачное окружение, откройте селектор окружений:

  • Добавление окружения: выберите New environment внизу меню селектора, затем вкладку Cloud в диалоговом окне New environment
  • Edit or archive one of your own environments: наведите курсор на него и нажмите значок шестерёнки

См. Configure cloud environments для получения подробной информации о конфигурации доступа к сети и переменных окружения.

SSH-сеансы

SSH-сеансы позволяют вам запускать Claude Code на удалённой машине, используя приложение desktop как ваш интерфейс. Это полезно для работы с кодовыми базами, которые находятся на облачных виртуальных машинах, dev-контейнерах или серверах со специфическим оборудованием или зависимостями.

[!NOTE]

Если вы используете Desktop со сторонним провайдером, SSH-сессии требуют отдельной настройки. См. SSH remote sessions in Claude Desktop on 3P.

Добавьте SSH-подключение в диалоговом окне New environment, затем запустите сессию через это подключение. Если в новой сессии под полем ввода промпта не отображается окружение, у вас прежний макет. См. Проверка текущего макета.

1. Откройте диалоговое окно New environment

Перед запуском сессии откройте селектор окружений под полем ввода промпта и выберите New environment внизу его меню.

2. Добавьте подключение

На вкладке SSH диалогового окна New environment откройте список Host, выберите Add SSH connection… и заполните данные подключения:

  • Name: понятное название для этого подключения.
  • SSH host: user@hostname или хост, определённый в ~/.ssh/config.
  • SSH port: если оставить пустым, по умолчанию используется 22 или порт из вашей конфигурации SSH.
  • SSH key (optional): путь к вашему закрытому ключу, например ~/.ssh/id_ed25519. Оставьте пустым, чтобы использовать вашу конфигурацию SSH или SSH-агент.
  • Worktree folder: папка на удалённой машине, например ~/worktrees, в которой новые сессии создают свои worktree. Оставьте пустым, чтобы использовать значение по умолчанию удалённой машины.

Затем выберите Add SSH connection.

3. Запустите сессию на подключении

Выберите папку на удалённой машине и нажмите Create environment. Машина и папка сохраняются вместе как сохранённое окружение для последующих сессий. Desktop выбирает его для новой сессии, поэтому введите задачу и нажмите Enter.

Удалённая машина может работать на Linux, macOS или Windows. Desktop автоматически устанавливает Claude Code на удалённой машине при первом подключении. После подключения SSH-сессии поддерживают режимы разрешений, коннекторы, плагины и MCP-серверы.

Требования к удалённой машине для SSH-сессий

Удалённой машине с Linux или macOS нужны поддерживаемый процессор, SSH-сервер с SFTP, папка установки, не смонтированная с noexec, работающая оболочка и доступ к сети. Проверьте каждое требование перед подключением или когда соединение не удаётся после входа:

  • Система: процессор x86_64 или arm64. Машина также должна соответствовать системным требованиям Claude Code. На Linux для Claude Code требуется glibc 2.17 или более поздней версии либо musl. Чтобы узнать, что используется на машине, выполните там ldd --version. В дистрибутиве на основе musl, например Alpine Linux, также установите пакеты, которые нужны Claude Code.
  • SFTP: SSH-сервер должен предоставлять подсистему SFTP, которую включает строка Subsystem sftp в его sshd_config. Чтобы проверить, подключитесь к тому же хосту и порту с помощью sftp в терминале на вашем компьютере. Работающий сервер показывает приглашение sftp>.
  • MaxSessions 1 на сервере: чтобы подключиться к серверу, в sshd_config которого задано MaxSessions 1, выполните одно из следующих действий:
    • Ваш компьютер работает под macOS или Linux: обновитесь до Claude Desktop v3.1623.0 или новее
    • Ваш компьютер работает под Windows: убедитесь, что Desktop подключается через клиент OpenSSH, поскольку встроенный SSH-клиент Desktop не может подключиться к такому серверу
    • Вы можете изменить сервер: увеличьте MaxSessions, например до значения OpenSSH по умолчанию — 10
  • Вход при MaxSessions 1: используйте способ входа, работающий без запроса ввода, например ключ, который хранит ваш SSH-агент. Desktop выполняет вход как минимум дважды при каждом подключении или переподключении. Рассчитывайте как минимум на один дополнительный вход для каждой вкладки терминала и для каждой сессии Desktop, в которой вы выполняете команды, начинающиеся с !. Для команд, которые выполняет Claude, дополнительных входов не будет.
  • Одноразовые коды при MaxSessions 1: если каждый вход запрашивает ввод, как в случае одноразовых кодов, команды ! завершаются ошибкой. Вместо этого выполняйте такие команды во вкладке терминала, которая показывает запрос в собственной панели.
  • Папка установки: Desktop устанавливает вспомогательную программу и Claude Code в ~/.claude/remote/ в вашем домашнем каталоге. Он запускает их оттуда, поэтому эта папка не может находиться в файловой системе, смонтированной с noexec. Выделите около 1 ГБ дискового пространства в домашнем каталоге каждого подключающегося пользователя. О том, что хранится в этой папке, см. Файлы и процессы на удалённой машине.
  • Оболочка: оболочка, заданная для вашей учётной записи на удалённой машине, должна выполнять команды, отправленные через SSH, как это делают Bash, Zsh и sh
  • Сеть: Claude Code работает на удалённой машине и отправляет сетевые запросы оттуда, поэтому машине нужен сетевой доступ, который требуется Claude Code. Если машина не может загрузить Claude Code, Desktop загружает его на вашем компьютере и передаёт на машину. Остальные запросы Claude Code по-прежнему отправляются с удалённой машины. Если удалённой машине с Linux нужен прокси или сертификат CA, задайте их для SSH-сессий.

Проверка ключа хоста удалённой машины

Ключ хоста — это ключ, который удалённая машина предъявляет, чтобы подтвердить, какая это машина, а отпечаток — это краткая форма этого ключа. Когда вы доверяете ключу, ваш компьютер сохраняет его и подключается к тому, кто его предъявляет, больше не спрашивая. Проверьте ключ, прежде чем доверять ему, потому что что-то может перехватывать подключение.

Сначала определите, какой машине принадлежит ключ, в зависимости от того, где вы видите отпечаток:

  • Desktop спрашивает Connect to <host> for the first time?, или вы выбрали Review new key: машине, которую называет Desktop, <host>
  • Desktop спрашивает Connect through <jump host> for the first time?: промежуточному хосту, то есть машине, через которую проходит ваше подключение, а не машине, к которой вы хотите подключиться
  • ssh спрашивает или предупреждает в терминале: машине, которую называет его сообщение; это может быть не та машина, которую вы ввели

Получите собственный отпечаток этой машины с самой машины, а не через подключение, которое вы проверяете:

  • Машиной управляет кто-то другой: попросите у него отпечаток ключа хоста
  • Машиной управляете вы, и на ней Linux или macOS: выполните на ней ssh-keygen -lf /etc/ssh/ssh_host_<type>_key.pub — с её консоли или через подключение, которому вы уже доверяете. Вместо <type> используйте тип ключа, который Desktop или ssh показывает рядом с отпечатком, в нижнем регистре: ed25519 для ED25519 или ssh-ed25519.

Затем сравните собственный отпечаток машины с тем, который вам показали:

  • Они совпадают: доверьтесь ключу. Выберите Trust and connect или Trust new key в Desktop либо ответьте yes в терминале.
  • Они различаются, или вы не можете проверить: не подключайтесь. Выберите Cancel в Desktop либо ответьте no в терминале. Если машиной управляет кто-то другой, сообщите ему, какой отпечаток вам показали.

Если вас направил сюда шаг по устранению неполадок, вернитесь к нему при любом результате.

Настройка прокси или сертификата CA для SSH-сессий

Если удалённая машина с Linux выходит в интернет через прокси или ей нужен сертификат CA, добавьте переменные прокси и CA в раздел env файла ~/.claude/settings.json на этой машине. Добавьте их, даже если вы уже экспортируете их в ~/.profile, ~/.bash_profile, ~/.zprofile или ~/.zshrc на этой машине.

В SSH-сессии Claude Code не получает переменные из этих файлов, даже если claude в терминале на этой машине их получает. Тогда сессия может зависнуть или показать The connection from … to the API failed, Authentication failed или Claude Code on … couldn’t verify the API connection’s certificate. Повторный вход не помогает.

1. Добавьте переменные

Для файла CA используйте NODE_EXTRA_CA_CERTS, потому что Claude Code не доверяет CA из SSL_CERT_FILE в ~/.claude/settings.json. Этот пример задаёт прокси и файл CA:

{
  "env": {
    "HTTPS_PROXY": "http://proxy.example.com:8080",
    "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"
  }
}

2. Отправьте сообщение снова

Отправьте сообщение снова, потому что переменная, которую вы добавляете или изменяете в этом файле, вступает в силу в течение нескольких секунд. Если ошибка сохраняется, начните новую сессию.

Поиск переменной прокси или CA, заданной в другом месте на удалённой машине

Проверьте, не задаёт ли удалённая машина с Linux переменную прокси или CA в другом месте, потому что сессии используют это значение и игнорируют значение из любого файла настроек:

1. Выведите список переменных, которые задаёт удалённая машина

В терминале на вашем компьютере выполните ssh devbox env, подставив свой хост.

2. Измените переменную там, где она задана

Если переменная есть в списке, измените её в файле, который её задаёт, например ~/.zshenv, /etc/environment или ~/.bashrc на удалённой машине.

3. Передайте сессиям новое значение

Перезапустите удалённую машину или закройте Desktop и завершите процессы помощника, как в первых двух шагах удаления помощника. Делайте это, когда никакая задача не выполняется, потому что любой из этих способов прерывает работу Claude.

Использование вашей конфигурации SSH

Вы можете использовать свою конфигурацию SSH в macOS, Linux и Windows, когда Desktop подключается через клиент OpenSSH на вашем компьютере:

  • macOS и Linux: Desktop подключается, запуская клиент OpenSSH на вашем компьютере, поэтому использует ваш ~/.ssh/config. Подключение через клиент OpenSSH требует Claude Desktop v1.37937.0 или новее.

  • Windows: когда Desktop подключается через клиент OpenSSH, он использует ваш %USERPROFILE%\.ssh\config. Если вы используете аккаунт Claude, а не стороннего провайдера, подключение через клиент OpenSSH требует выполнения всех следующих условий:

    • Claude Desktop v2.2553.0 или новее. Чтобы узнать свою версию, см. Проверка версии.
    • OpenSSH от Microsoft версии 9.4 или новее
    • Desktop установлен с помощью кнопок загрузки в верхней части этой страницы, поскольку Desktop из Microsoft Store не подключается через клиент OpenSSH

    Если вы не можете выполнить эти требования или используете стороннего провайдера, см. Подключение в Windows без клиента OpenSSH.

С клиентом OpenSSH введите имя Host из вашего файла конфигурации в поле SSH host. Desktop затем использует настройки из этой записи Host, такие как HostName, User, IdentityFile, CertificateFile, ProxyJump и ProxyCommand.

Прежде чем добавить соединение, проверьте клиент и запись в терминале на вашем компьютере:

  • Версия клиента в macOS и Linux: выполните ssh -V. Клиент должен быть OpenSSH 7.6 или новее.
  • Версия клиента в Windows: Desktop сначала пробует ssh из вашего PATH, поэтому выполните ssh -V. Клиент подходит, если вывод показывает OpenSSH_for_Windows_ и версию 9.4 или новее. Если не подходит, проверьте две папки, которые Desktop пробует следующими: выполните .\ssh.exe -V в C:\Windows\System32\OpenSSH, затем в C:\Program Files\OpenSSH.
  • В Windows ни один клиент не подходит: добавьте дополнительный компонент Windows OpenSSH Client и установите ожидающие обновления Windows или установите более новую сборку от Microsoft. Затем закройте и снова откройте Desktop. Чтобы узнать, нашёл ли Desktop пригодный клиент OpenSSH, поищите в ssh.log строку Windows OpenSSH client: с версией или строку no usable Windows OpenSSH client.
  • Запись: в Windows используйте клиент, прошедший проверку версии. Выполните ssh с именем Host, например ssh devbox. Если это не удаётся, сначала исправьте запись.

Поля SSH port и SSH key (optional) можно оставить пустыми. Если вы заполните одно из них, Desktop использует его вместе с записью:

  • SSH port: значение здесь переопределяет Port записи
  • SSH key (optional): с клиентом OpenSSH Desktop предлагает выбранный вами файл ключа в дополнение к IdentityFile из записи и ключам в вашем SSH-агенте. В Windows выбирайте ключ в формате OpenSSH, поскольку ssh не читает файлы PuTTY .ppk.
Подключение в Windows без клиента OpenSSH

В Windows вы подключаетесь через встроенный SSH-клиент Desktop, если ваш компьютер не соответствует требованиям для клиента OpenSSH. При стороннем провайдере то, через какой клиент вы подключаетесь, также зависит от версии Desktop и настроек вашего администратора. См. SSH remote sessions in Claude Desktop on 3P.

Со встроенным клиентом вы всё равно можете ввести имя Host из вашей конфигурации SSH в поле SSH host, если в вашем PATH есть команда ssh, со следующими ограничениями:

  • Настройки из записи: Desktop берёт HostName, User, Port, IdentityFile и ConnectTimeout. Он также берёт ProxyCommand, если в вашем PATH есть оболочка sh.
  • SSH key (optional): оставьте это поле пустым, чтобы сохранить IdentityFile из записи, поскольку выбранный здесь файл ключа заменяет IdentityFile
  • CertificateFile и ProxyJump: Desktop игнорирует CertificateFile, а подключение завершается ошибкой, если в записи задан ProxyJump. Чтобы использовать любую из этих настроек, подключайтесь через клиент OpenSSH.
Подключение к машине за jump-хостом

Чтобы подключиться к машине за jump-хостом, также называемым бастионом, задайте ProxyJump или ProxyCommand в записи. Следующая запись подключается к devbox.internal.example.com через bastion.example.com:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com

Введите devbox в поле SSH host.

Если ваш администратор ограничивает SSH-хосты, промежуточный хост тоже должен быть в списке. Выполните ssh -G bastion.example.com в терминале на вашем компьютере и попросите разрешить hostname, который выводит команда.

Подключение к контейнеру на удалённой машине

Чтобы запустить сессию внутри контейнера, который не публикует SSH-порт, подключайтесь к нему через ProxyCommand, потому что Desktop не выполняет RemoteCommand записи, к которой вы подключаетесь. Если ваша запись использует RemoteCommand для входа в контейнер, сессия работает на машине, на которую входит запись, а не в контейнере.

1. Добавьте запись

Добавьте следующую запись в конец вашего ~/.ssh/config или непосредственно над первой записью Host *, если она у вас есть. Замените Docker-контейнер devbox, его пользователя dev и машину build.example.com на свои. Команда записи запускает SSH-сервер внутри контейнера для каждого соединения:

Host devbox-container
  User dev
  ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i

2. Подготовьте контейнер

  • Установите OpenSSH-сервер с ключом хоста, который остаётся прежним при пересборке образа или пересоздании контейнера
  • Дайте учётной записи, указанной в User, способ входа, например файл authorized_keys
  • Убедитесь, что контейнер соответствует требованиям к удалённой машине

3. Проверьте список разрешённых хостов

Если ваш администратор ограничивает SSH-хосты, выполните ssh -G devbox-container в терминале на вашем компьютере. Попросите администратора разрешить в sshHostAllowlist выведенное значение hostname, здесь devbox-container. Разрешая это имя, администратор разрешает всё, к чему подключается ProxyCommand вашей записи.

4. Протестируйте запись, затем подключитесь

Выполните ssh devbox-container в терминале на вашем компьютере. Исправьте то, о чём сообщает команда, и запускайте её снова, пока она не откроет оболочку в контейнере, ничего у вас не спрашивая:

  • Если ssh запрашивает пароль, парольную фразу или код: перейдите на вход, который работает без запроса, например ключ, хранящийся в вашем SSH-агенте
  • Если ssh сообщает Cannot execute command-line and remote command. или Bad packet length: уберите RemoteCommand и RequestTTY из вашей записи для build.example.com. После этого ssh build.example.com в терминале на вашем компьютере открывает оболочку на этой машине, а не в контейнере.
  • Если ssh сообщает Connection closed by UNKNOWN port 65535: выполните ssh build.example.com docker exec devbox /usr/sbin/sshd -t в том же терминале.
    • Если команда выводит Missing privilege separation directory: /run/sshd, создайте эту папку в контейнере.
    • Если команда выводит no hostkeys available, а у контейнера есть ключи хоста, добавьте -u root после exec в этой команде и в записи.

Затем введите devbox-container в поле SSH host.

Использование переменных из вашей оболочки в ProxyCommand

В macOS и Linux, чтобы использовать собственную переменную окружения в команде ProxyCommand или Match exec, экспортируйте её в файле запуска оболочки, например в ~/.zshrc. Затем закройте и снова откройте Desktop. При запуске Desktop считывает то, что экспортирует ваша оболочка входа, и сохраняет эти значения до закрытия.

Для этого требуется Claude Desktop v2.37337.0 или более поздней версии и команда env, которая принимает -0; это можно проверить, выполнив env -0 в терминале на вашем компьютере.

[!NOTE]

Если ваша оболочка задаёт временные учётные данные AWS, укажите для AWS CLI профиль вместо экспорта переменных AWS_*.

Использование учётных данных AWS в ProxyCommand в macOS и Linux

Если вы задаёте временные учётные данные AWS в файле запуска оболочки, ProxyCommand, который запускает AWS CLI, может подключаться в терминале и завершаться ошибкой в Desktop. Когда ваша оболочка экспортирует AWS_SESSION_TOKEN, AWS_SECURITY_TOKEN или AWS_CREDENTIAL_EXPIRATION, ssh и ваш ProxyCommand в Desktop не получают учётные данные AWS из оболочки, AWS_REGION или AWS_PROFILE.

Если у AWS CLI нет другого источника региона или учётных данных, он завершается ошибкой You must specify a region или Unable to locate credentials. Чтобы подключаться из Desktop, укажите для AWS CLI профиль, который он читает из ~/.aws/config:

1. Добавьте профиль с регионом и источником учётных данных

Этот пример добавляет профиль с именем corp, который получает учётные данные от вспомогательной программы:

[profile corp]
region = us-east-1
credential_process = /full/path/to/your-credential-helper
  • region: укажите регион AWS машин, к которым вы подключаетесь
  • credential_process: укажите полный путь к программе, которая выводит учётные данные в формате JSON, описанном в документации AWS. Выберите программу, которой не требуется ввод с вашей стороны, потому что AWS CLI запускает её при каждом подключении, включая переподключения в ваше отсутствие.
  • IAM Identity Center: добавьте настройки IAM Identity Center профиля вместо credential_process. Выполните aws sso login --profile corp в терминале перед подключением и снова, когда срок действия этого входа истечёт.

2. Укажите профиль в ProxyCommand

Этот пример добавляет --profile к команде для Session Manager из документации AWS:

Host i-*
  ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

3. Подключитесь снова

Выполните ssh с хостом в терминале, чтобы убедиться, что запись по-прежнему подключается там, затем подключитесь из Desktop.

Увеличение таймаута SSH-соединения

Если время ожидания сессии истекает при подключении через промежуточный хост или ProxyCommand, увеличьте ConnectTimeout в записи удалённой машины в вашем ~/.ssh/config. Используйте значение больше 90 секунд. Прибавьте время, в течение которого промежуточный хост или ProxyCommand ждёт вас, например на запросе входа или push-уведомления на телефон:

Host devbox
  HostName devbox.internal.example.com
  User alice
  ProxyJump bastion.example.com
  ConnectTimeout 120

ssh использует первое найденное для хоста значение, поэтому размещайте запись выше любой записи Host *, которая задаёт ConnectTimeout. Чтобы убедиться, выполните ssh -G devbox в терминале на вашем компьютере. Его вывод содержит connecttimeout 120. После изменения значения закройте и снова откройте Desktop.

Если ваша конфигурация SSH не задаёт ConnectTimeout для хоста, Desktop даёт ssh 30 секунд на подключение. При подключении через промежуточный хост или ProxyCommand это время включает время, за которое подключается маршрут.

ConnectTimeout Подключение Время, которое у вас есть
Не задан Вы запускаете сессию через промежуточный хост или ProxyCommand в Claude Desktop v4.4212.0 или новее в macOS или Linux 30 секунд, затем вторая попытка с 90 секундами. Если Desktop показал вам запрос во время первой попытки, второй попытки не будет. Время на запросе входа, который Desktop показывает для хоста ProxyJump, не учитывается. Другие ожидания на маршруте учитываются.
Не задан Desktop в Windows или более ранней версии, удалённая машина с MaxSessions 1 или переподключение, которое Desktop начинает сам 30 секунд. Учитывается каждое ожидание на маршруте.
Задан Каждое подключение и переподключение Заданное вами значение. Учитывается каждое ожидание на маршруте.

Если сама удалённая машина ждёт подтверждения на вашем телефоне, подтвердите в течение 45 секунд, какое бы значение ConnectTimeout вы ни задали. Этот лимит нельзя увеличить, потому что Desktop сам задаёт ServerAliveInterval и ServerAliveCountMax, и ssh затем закрывает вход, в котором удалённая машина ничего не отправляет в течение этого времени.

Исправление блока Match host, который применяет только Desktop

Если Desktop использует настройку, которую не использует ssh devbox в терминале, найдите блок Match host выше строки HostName записи. В терминале ssh читает расположенный там блок до строки HostName, поэтому сравнивает блок с devbox. Desktop передаёт ssh значение HostName в командной строке, поэтому ssh сравнивает блок с этим значением.

Чтобы проверить, выполните ssh -G в терминале на вашем компьютере со значениями HostName и User записи в командной строке, как это делает Desktop:

ssh -G -o HostName=devbox.internal.example.com -l alice devbox

Сравните вывод с выводом ssh -G devbox. Если настройки блока, например proxycommand, появляются только в первом выводе, блок действует только в Desktop. Чтобы Desktop тоже его пропускал, добавьте !originalhost devbox в его строку Match:

Match host *.internal.example.com !originalhost devbox

Чтобы убедиться, снова выполните первую команду. Настройки блока больше не появляются в её выводе.

Настройки переадресации, которые Desktop оставляет выключенными

В своём соединении с удалённой машиной Desktop оставляет ForwardAgent, ForwardX11, LocalForward, RemoteForward, DynamicForward и Tunnel выключенными, даже если ваша конфигурация SSH их включает. В терминале или команде ! ваши настройки переадресации будут применяться лишь иногда, потому что Desktop может запустить там отдельный ssh, который им следует.

  • Чтобы получить доступ к порту на удалённой машине: перенаправьте его самостоятельно
  • Чтобы использовать собственные ключи с удалённой машины: настройте учётные данные на самой удалённой машине, например для git push

Чтобы Desktop не перенаправлял ваш SSH-агент или порт, выполните ssh -G devbox в терминале на вашем компьютере. Затем выполните команду снова так, как её может выполнить Desktop, со значениями hostname и user, которые она выводит, например ssh -G -o HostName=devbox.internal.example.com -l alice devbox. Второй вывод может показать настройки из блока Match, которые первый пропускает.

Найдите в обоих выводах строку forwardagent с любым значением, кроме no, и строки, начинающиеся с localforward, remoteforward или dynamicforward. Если найдёте такую, удалите эту настройку из вашей конфигурации SSH. Сделайте то же самое для хоста, к которому ваш ProxyCommand подключается с помощью ssh.

Доступ к порту на удалённой машине

Чтобы открыть сервер, работающий на удалённой машине, например dev-сервер на порту 3000, перенаправьте порт самостоятельно. В терминале на вашем компьютере выполните ssh с -L и хостом, к которому вы подключаетесь, например devbox:

ssh -N -L 3000:localhost:3000 devbox

Если в соединении вы заполнили SSH port или SSH key (optional), добавьте -p или -i с тем же значением. Оставьте эту команду работающей и откройте http://localhost:3000 в браузере на вашем компьютере, чтобы получить доступ к порту 3000 удалённой машины. Если ssh выводит open failed: administratively prohibited, попросите администратора машины разрешить TCP-переадресацию, которой управляет AllowTcpForwarding в sshd_config SSH-сервера.

Удалённые машины с Windows

Для удалённой машины с Windows требуется Claude Desktop v2.31226.0 или более поздней версии.

Используйте OpenSSH Server от Microsoft. Машина может быть x64 или ARM64. Оболочкой, которую запускает SSH-сервер, может быть cmd.exe, Windows PowerShell 5.1 или Git Bash.

Удалённые машины с Windows тестируются меньше, чем машины с Linux. Опробуйте на них свою работу, прежде чем полагаться на них.

На удалённой машине с Windows ожидайте, среди прочего, следующих ограничений:

  • Терминал: терминал не открывается в сессии, папкой которой является путь Windows, например C:/projects/app
  • Песочница: Claude Code работает там в нативной Windows, где выполняет команды без песочницы. См. где работает песочница.
  • Плагины: Desktop не копирует плагин, содержащий имя файла или папки, которое Windows не может хранить, например имя с :. Сессия показывает список плагинов, которые Desktop пропустил.
  • MCP-серверы: на некоторых удалённых машинах с Windows вызовы Claude к MCP-серверам из claude_desktop_config.json проходят через Desktop, поэтому Claude не может вызывать их инструменты, пока Desktop отключён. До Claude Desktop v2.37337.0 это справедливо для каждой удалённой машины с Windows.
  • Worktree: worktree размещаются в <project-root>/.claude/worktrees/. Если вы выберете другую папку, Desktop её игнорирует.
  • Более ранние сообщения: если оболочкой SSH-сервера является cmd.exe или Windows PowerShell, вам, возможно, придётся подключиться, прежде чем вы увидите более ранние сообщения сессии
  • Форки: если оболочкой SSH-сервера является cmd.exe или Windows PowerShell, вы можете создать форк сессии только на её первом сообщении
  • Работа при отключении: задача продолжает выполняться, пока Desktop отключён, только если SSH-сервер позволяет программе продолжать работу после закрытия соединения, которое её запустило. Чтобы это выяснить, протестируйте удалённую машину.
  • Оставшиеся процессы: после завершения сессии проверьте машину на наличие программ, запущенных Claude Code, потому что они могут продолжать работать. Фоновый помощник, который устанавливает Desktop, там не останавливается сам по себе.

Продолжение задачи, пока Desktop отключён

Если ваш компьютер переходит в спящий режим, вы теряете сеть или закрываете Desktop, задача продолжается, пока не завершится, не потребует вашего участия или не достигнет одного из ограничений. Закрытие крышки считается спящим режимом. Перезапуск Desktop или вашего компьютера, в том числе для обновления, считается закрытием.

Claude Code работает как процесс на удалённой машине под управлением фонового помощника, который Desktop устанавливает там, поэтому ему не нужно ваше SSH-соединение, чтобы продолжать работу. Поведение, описанное в этом разделе, требует Claude Desktop v2.31226.0 или более поздней версии.

[!WARNING]

Если вы входите в Desktop с аккаунтом Claude, не рассчитывайте, что задача будет выполняться всю ночь. Desktop продлевает вход задачи, только пока Desktop запущен, подключён и в него выполнен вход, поэтому после отключения срок входа задачи может истечь, и тогда задача останавливается. Сколько времени остаётся на момент отключения, бывает по-разному, и это может быть всего несколько минут.

Проделанная работа остаётся на удалённой машине, и, вернувшись, вы можете продолжить, отправив сообщение.

Если задача должна выполняться всю ночь:

  • Не давайте компьютеру засыпать и держите его в сети, с открытой крышкой и запущенным Desktop, в который выполнен вход
  • Используйте вход, который работает без запроса, например ключ, хранящийся в вашем SSH-агенте, для удалённой машины и для любого jump-хоста на пути к ней. Тогда Desktop сможет самостоятельно переподключиться после обрыва.

Для задачи, которая должна выполняться, пока ваш компьютер спит или выключен, запустите вместо этого облачную сессию.

  • После спящего режима или потери сети: вы вернёте выполняющуюся задачу, если процесс всё ещё работает и Desktop может войти без запроса. Если не может, отправьте сообщение.
  • После закрытия: задача продолжает выполняться, но вы теряете её при повторном открытии сессии, если Desktop не может снова присоединиться к её процессу. Перед закрытием проверьте, когда Desktop может снова присоединиться. Если вы потеряли задачу, отправьте сообщение, чтобы продолжить.

Когда вы возвращаетесь и задача не выполнена, проверьте, нет ли страницы входа Desktop, сообщения о том, что Desktop не может переподключиться, ошибки аутентификации или ожидающего запроса:

  • Страница входа: войдите. Если задача остановилась, отправьте сообщение, чтобы продолжить. В тарифе Enterprise ваша организация может завершать ваш вход через заданное число дней после входа, независимо от вашей активности. С аккаунтом Claude Desktop не продлевает вход задачи, пока вы не вошли, поэтому задача может остановиться.
  • Desktop не может переподключиться: сессия сообщает причину, и об этом также может сообщить уведомление. Возможно, Desktop нужно, чтобы вы вошли.
  • Ошибка аутентификации: возможно, истёк срок действия токена входа или учётных данных. С учётной записью Claude отправьте сообщение, чтобы продолжить. Со сторонним провайдером см. SSH remote sessions in Claude Desktop on 3P.
  • Ожидающий запрос: ответьте на него
  • Ничего из этого: отправьте сообщение, чтобы продолжить
Подготовка длительной задачи
  • Сначала обновитесь: обновите Desktop перед запуском длительной задачи. В macOS и Windows Desktop может сам перезапуститься, чтобы установить загруженное обновление. Этот перезапуск ожидает, пока Claude работает над задачей по SSH. По умолчанию, когда обновление прождёт 72 часа, перезапуск может произойти во время задачи, если Desktop сможет снова присоединиться к задаче после него.
  • Проверьте перед закрытием: после закрытия или перезапуска вы не всегда возвращаете запущенную задачу, например после некоторых обновлений Desktop. О таких случаях см. Повторное открытие сессии после закрытия Desktop.
  • В старой версии оставляйте Desktop открытым: в Windows с Claude Desktop до v3.1623.0 вы не возвращаете запущенную задачу после закрытия или перезапуска Desktop. То же верно для стороннего провайдера в macOS или Linux до v2.42304.0. В обоих случаях оставляйте Desktop открытым во время задачи. Чтобы узнать свою версию, см. Проверка версии.
  • Сократите число запросов: выберите режим разрешений, правила или хуки, благодаря которым задача будет реже ожидать вас
  • Проверьте jump-хост: если ваш jump-хост запрашивает вход, например push-уведомление на телефон, перейдите на вход, который работает без запроса. Иначе Desktop может отправлять новое push-уведомление при каждой попытке переподключения.
  • Протестируйте удалённую машину: запустите короткую задачу, закройте Desktop, пока задача ещё выполняется, и снова откройте сессию значительно позже того момента, когда задача должна была завершиться. Если задача не завершена, а сессия не показывает ошибку аутентификации, проверьте на удалённой машине, что может завершить задачу.
  • Не выполняйте команды в терминале Desktop: если удалённая машина завершает сеансы бездействующих терминалов, выполняйте свои команды из SSH-входа вне Desktop
Ограничения, пока Desktop отключён

Задача, которую вы оставили выполняться, может завершиться, когда истечёт срок действия её входа, когда удалённая машина завершит её или когда помощник остановится или будет заменён:

  • Токен входа или учётные данные: с учётной записью Claude задача останавливается с ошибкой аутентификации, когда истекает срок действия токена. Со сторонним провайдером то же самое происходит с учётными данными, у которых истекает срок действия, например полученными через единый вход или вспомогательную программу для учётных данных. См. SSH remote sessions in Claude Desktop on 3P. С учётной записью Claude держите Desktop запущенным и подключённым, чтобы он мог продлевать вход.
  • Удалённая машина: если удалённая машина перезапускается или завершает ваши процессы при закрытии SSH-соединения, выполняющаяся задача завершается. Пока Desktop отключён, ничто не запустит её снова. Так завершают ваши процессы машины с Linux, где параметр KillUserProcesses в systemd-logind равен yes и применяется к вашему пользователю. Чтобы задача продолжала выполняться на такой машине, попросите администратора сделать исключение для вашего пользователя, например с помощью KillExcludeUsers.
  • Бездействующие терминалы: некоторые удалённые машины с Linux завершают сеанс терминала, в котором никто не вводил текст в течение заданного времени (StopIdleSessionSec в systemd-logind). С Desktop на macOS или Linux терминал сессии и команды ! по умолчанию используют SSH-соединение Desktop. Тогда такой выход разрывает соединение, пока Desktop подключён, и вместе с ним может завершиться выполняющаяся задача. Закрытие панели терминала этого не предотвращает, поэтому не выполняйте команды в этом терминале.
  • Обновления Desktop: если обновление приносит новую версию помощника, Desktop заменяет помощник на удалённой машине при одном из последующих подключений, что может завершить ещё выполняющуюся задачу
  • Длительное отсутствие: на удалённой машине с Linux или macOS, если Desktop не подключается в течение 30 дней, помощник останавливается и завершает все процессы Claude Code, работающие под его управлением. Подключитесь до истечения этого срока.

Редактирование файлов и некоторые инструменты могут не работать, пока Desktop отключён. Если они нужны задаче, держите Desktop подключённым:

  • Worktree: в сессии, использующей worktree, Desktop проверяет каждую правку файла перед тем, как Claude её вносит. Пока Desktop отключён, каждая правка ждёт около 30 секунд, а затем завершается ошибкой. Shell-команды по-прежнему выполняются. На удалённой машине под Linux или macOS правки могут продолжать работать. Если вы не уверены, запустите сессию без worktree.
  • Ограничения папок: если ваша организация ограничивает папки, которые могут использовать сессии, Desktop проверяет каждое чтение файла, поиск и изменение, с worktree или без него. Пока Desktop отключён, каждая такая операция ожидает до 10 минут, а затем завершается ошибкой.
  • Коннекторы: коннекторы и другие инструменты, которые предоставляет Desktop, работают через Desktop, поэтому, пока он отключён, каждый вызов завершается ошибкой примерно через 30 секунд
  • Workflows: Desktop проверяет каждый новый workflow перед его запуском, поэтому, пока Desktop отключён, новый workflow ожидает до 10 минут, а затем завершается ошибкой
  • MCP-серверы: MCP-серверы, которые Claude Code запускает на удалённой машине, работают не через Desktop, поэтому Claude по-прежнему может вызывать их инструменты. Серверы из claude_desktop_config.json относятся к ним, только если Desktop не использует свой встроенный SSH-клиент. В противном случае, а также на некоторых удалённых машинах с Windows, Claude не может вызывать их инструменты, пока Desktop отключён.

[accordion] Когда изменения в worktree продолжают работать

На удалённой машине с Linux или macOS проверка не проходит через Desktop, поэтому изменения внутри worktree продолжают работать, пока Desktop отключён. До Claude Desktop v2.37337.0 это справедливо только для удалённой машины с Linux.

В некоторых случаях изменения всё равно завершаются ошибкой, в том числе в следующих:

  • Встроенный SSH-клиент: Desktop использует его, например при установке из Microsoft Store или на компьютере с Windows без Microsoft OpenSSH 9.4 или новее
  • Расположение репозитория: репозиторий — это ваш домашний каталог, папка выше него или ~/.claude
  • Пути macOS: на удалённой машине с macOS репозиторий находится в /Volumes, или имя папки в пути к репозиторию или worktree содержит ~ или символ, не входящий в ASCII
  • Ограничения папок: ваша организация ограничивает папки, которые могут использовать сессии
  • Корпоративный лаунчер: до Claude Desktop v2.37337.0 — вы входите с учётной записью Claude, а ваша организация запускает Claude Code на удалённой машине через корпоративный лаунчер

В сессии без worktree такой проверки нет, если только ваша организация не ограничивает папки, которые могут использовать сессии.

Обработка запросов, поступающих в ваше отсутствие

Если Claude нужно ваше подтверждение или Claude задаёт вам вопрос, пока Desktop отключён, Claude ожидает на удалённой машине. У этого ожидания нет собственного ограничения по времени. Когда Desktop снова присоединяется к процессу, он показывает вам запрос. Если вместо этого Desktop запускает новый процесс, вы теряете запрос.

Если запрос, который ждал вас, пропал к вашему возвращению, одна из причин — Desktop перезапустился сам, например чтобы установить обновление. Запрос сохраняется после перезапуска, только если Desktop может снова присоединиться к процессу, поэтому, прежде чем оставить задачу выполняться, проверьте, когда Desktop может снова присоединиться.

Если вы потеряли запрос, отправьте сообщение, чтобы продолжить.

Чтобы задача реже останавливалась в ожидании вас и чтобы получать от неё весточки в ваше отсутствие, перед уходом настройте что-либо из следующего:

  • Авторежим: выберите авторежим, если он вам доступен. После повторяющихся блокировок вас снова спросят.
  • Правила разрешения действий: в файле пользовательских настроек на удалённой машине, ~/.claude/settings.json, добавьте правила allow для команд, которые нужны задаче. Если ваша организация принимает правила разрешений только из управляемых настроек, попросите администратора добавить их в управляемые настройки, которые доходят до удалённой машины. О правилах allow в .claude/settings.json проекта см. Project allow rules and workspace trust.
  • Хук, который отвечает: настройте хук PermissionRequest в ~/.claude/settings.json на удалённой машине, чтобы он разрешал или отклонял запросы вместо вас
  • Хук, который оповещает вас: настройте хук Notification с matcher permission_prompt в том же файле, чтобы отправлять себе сообщение, когда запрос ожидает ответа
  • Хук, который сообщает, что Claude закончил: настройте хук Stop в том же файле, чтобы отправлять себе сообщение, когда Claude закончит отвечать. Он не срабатывает, если ход завершается ошибкой API. Для этого случая настройте хук StopFailure.

Если ваша организация запускает только управляемые хуки, попросите администратора добавить хук в управляемые настройки, которые доходят до удалённой машины.

Claude Code не подтверждает автоматически некоторые действия ни в одном режиме разрешений, включая Bypass permissions. В зависимости от режима разрешений Claude Code отклоняет такое действие или спрашивает вас, и тогда задача ожидает вашего ответа.

Переподключение после спящего режима или потери сети

Если к вашему возвращению Desktop не переподключился, отправьте сообщение в сессии. Desktop переподключается самостоятельно только там, где может войти без запроса, например с ключом, хранящимся в вашем SSH-агенте.

  • Запомненный пароль: пароль, который вы разрешили Desktop запомнить, тоже работает без запроса, но для длительного отсутствия предпочтительнее ключ, хранящийся в вашем SSH-агенте. Если входы с этим паролем прерываются или зависают, Desktop может прекратить попытки переподключения и ждать вас.
  • Любой другой запрос: если удалённая машина запрашивает что-то ещё, например одноразовый код, вы можете получить уведомление на компьютере. Нажмите на уведомление или отправьте сообщение в сессии, и Desktop покажет запрос.

[accordion] Если промежуточный хост запрашивает вход, сбой длительный, сообщение не отправлено, вывод отсутствует или процесс исчез

  • Jump-хост, push-уведомления прекращаются в ваше отсутствие: это может происходить с Desktop на macOS или Linux, когда никто не отвечает на запрос входа jump-хоста, например push-уведомление на телефон. Тогда Desktop прекращает попытки переподключения, пока за компьютером никого нет. Когда вы разблокируете компьютер или начнёте им пользоваться, вы можете получить ещё одно push-уведомление, потому что Desktop может повторить попытку. После трёх попыток без ответа он ждёт, пока вы не повторите попытку или не отправите сообщение.
  • Jump-хост, push-уведомления продолжают приходить: там, где Desktop не может определить, что никто не отвечает, как в случае Desktop на Windows, он продолжает попытки, пока у него есть процесс, к которому можно снова присоединиться, независимо от того, работает ли этот процесс. С каждой попыткой вы можете получать новое push-уведомление. Чтобы прекратить попытки, закройте Desktop, что может стоить вам выполняющейся задачи.
  • Длительный сбой: Desktop замедляется примерно до одной попытки каждые пять минут. Чтобы переподключиться раньше, повторите попытку в сессии или отправьте сообщение. Desktop пытается доставить сообщение, как только подключится.
  • Сообщение не отправлено: строка Your organization's settings haven't loaded, so your message to <host> wasn't sent. Retry to send it. под вашим сообщением означает, что Desktop переподключился и задержал ваше сообщение, потому что настройки вашей организации ещё не загрузились. Выберите Retry, чтобы отправить сообщение сейчас. Если ничего не делать, Desktop повторит попытку, как только настройки загрузятся.
  • Отсутствующий вывод: пока Desktop отключён, помощник хранит самый последний вывод Claude Code каждой сессии в буфере размером 16 MiB и отбрасывает более старый вывод. После переподключения Desktop сессия может показывать Loading recent output from <host>…. Если Desktop не может загрузить весь вывод, вы увидите строку Some output produced while you were disconnected may be missing here. Эта строка не означает, что задача остановилась.
  • Процесс пропал: процесс завершился, пока Desktop был отключён, например при перезапуске удалённой машины. Тогда Desktop может запустить новый процесс из сохранённой истории диалога и сказать Claude продолжить задачу. Если задача остаётся остановленной, отправьте сообщение. Со сторонним провайдером обновитесь до Claude Desktop v2.42304.0 или новее, поскольку более ранние версии никогда не продолжают задачу самостоятельно.
Повторное открытие сессии после закрытия Desktop

После закрытия Desktop задача продолжает выполняться на удалённой машине, но останавливается при повторном открытии сессии, если Desktop не может снова присоединиться к её процессу. Пока Desktop закрыт, задача выполняется, пока не завершится, не потребует вашего участия или не достигнет одного из ограничений.

  • Desktop в Windows, задача запущена в версии до v3.1623.0: вы не вернёте задачу, даже если Desktop с тех пор обновился. Запускайте Desktop снова, только когда ожидаете, что задача уже завершена, поскольку сессия может открыться при запуске Desktop, а задача останавливается при открытии сессии. Если вы не знаете, в какой версии запустили задачу, тоже дождитесь, пока она, по вашим ожиданиям, завершится.
  • Сторонний провайдер в macOS или Linux, задача запущена в версии до v2.42304.0: вы не вернёте задачу. Запускайте Desktop снова, только когда ожидаете, что задача уже завершена.
  • Любая другая задача: запустите Desktop и откройте сессию, и задача продолжится, если Desktop снова присоединится к ней. Это удаётся не всегда, например после некоторых обновлений Desktop, поэтому обновляйтесь перед длительной задачей.

Когда задача останавливается, сессия может показать Restarting Claude Code on <host>…, пока Desktop запускает новый процесс. Вы также теряете любое подтверждение или вопрос, ожидавшие вас. Если Claude не продолжает сам, отправьте сообщение, и Claude продолжит на основе сохранённой истории диалога.

Для сторонних развёртываний см. SSH remote sessions in Claude Desktop on 3P.

[!WARNING]

Пока процесс Claude Code для диалога ещё работает, не выполняйте для него claude --resume на удалённой машине. Claude Code вас не остановит, и тогда оба процесса будут писать в один и тот же диалог. Если вы не уверены, добавьте --fork-session, который продолжает работу в копии диалога, но оба процесса всё равно работают с одними и теми же файлами.

Выбор расположения worktree для SSH-сессий

Если ваша организация не ограничивает, какие папки могут использовать сессии, новые SSH-сессии создают свои worktree в первом заданном из этих расположений:

  1. Worktree folder в SSH-соединении
  2. worktree.location в ~/.claude/settings.json на удалённой машине
  3. <project-root>/.claude/worktrees/ — значение по умолчанию

Каждый проект получает собственную подпапку в заданной вами папке, поэтому при ~/worktrees путь к worktree будет ~/worktrees/<project>-<id>/<worktree-name>. Если заданная вами папка находится внутри проекта, Desktop игнорирует её для этого проекта и использует значение по умолчанию. На удалённой машине с Windows Desktop всегда использует значение по умолчанию.

Установка папки worktree для существующего подключения

Задайте Worktree folder в настройках подключения, добавленного вами ранее или управляемого вашей организацией. Это поле требует Claude Desktop v1.44121.0 или новее. Если ваша организация ограничивает, какие папки могут использовать сессии, Desktop скрывает это поле и размещает worktree внутри проекта.

1. Найдите подключение

Откройте селектор окружений и найдите подключение под SSH.

2. Откройте настройки подключения

Наведите указатель на подключение и нажмите значок шестерёнки. Если в открывшемся диалоговом окне рядом с Host отображается Edit connection…, выберите Edit connection….

3. Задайте папку

В Worktree folder введите папку на удалённой машине, например ~/worktrees, и выберите Save changes.

Файлы и процессы на удалённой машине

Desktop устанавливает вспомогательную программу и Claude Code в ~/.claude/remote/ в домашнем каталоге каждого пользователя, который подключается к удалённой машине с Linux или macOS. Помощник не прослушивает ни один сетевой порт, но Claude Code и запускаемые им программы, такие как MCP-серверы и серверы разработки, могут это делать.

Папка Содержимое
~/.claude/remote/srv/ Помощник, по одной папке на версию
~/.claude/remote/ccd-cli/ Claude Code, по одному файлу на версию
~/.claude/remote/run/ Файлы времени выполнения помощника, такие как его сокет и лог, по одной папке на каждый подключающийся компьютер
~/.claude/remote/plugins/ Плагины, которые Desktop копирует с компьютера пользователя
~/.claude/uploads/ Файлы, которые пользователь прикрепляет к сообщениям, по одной папке на сессию

Чтобы вывести список процессов одного пользователя, выполните pgrep -fl "$HOME/.claude/remote/" на удалённой машине от имени этого пользователя или подставив домашний каталог пользователя вместо $HOME:

  • Помощник: один или несколько процессов server для каждого подключающегося компьютера
  • Claude Code: процессы, которые помощник запускает для сессий пользователя, каждый из файла, названного по его версии, например 2.1.295-…

Desktop обращается к помощнику через SSH-соединение пользователя, по Unix-сокету rpc.sock в папке помощника внутри ~/.claude/remote/run/. Кроме root, другие пользователи машины не могут подключиться к этому сокету, потому что у него режим 600, а у его папки — режим 700.

О том, когда помощник останавливается сам, см. Ограничения, пока Desktop отключён.

Чтобы удалить помощник и Claude Code для одного пользователя:

1. Закройте Desktop

Закройте Desktop на каждом компьютере, с которого подключается пользователь. При следующем подключении он снова устанавливает обе программы, а переподключиться он может самостоятельно.

2. Завершите процессы

Войдя на удалённую машину под этим пользователем, выполните kill с идентификатором каждого процесса Claude Code, который выводит pgrep. Когда они исчезнут из списка, выполните kill с идентификатором каждого процесса server. Если сначала завершить процесс server, команда, которую выполняет Claude Code, может продолжить работу.

Затем выведите список оставшихся процессов пользователя, например с помощью ps -u "$(id -un)" -f, и завершите те, которые, как вы определили, запустил Claude Code. Программы, которые он оставил в фоне, могут продолжать работать после его завершения, не попадая в список pgrep.

3. Удалите папку

Удалите ~/.claude/remote/. Чтобы удалить собственные файлы Claude Code в ~/.claude/ и ~/.claude.json, см. Удаление файлов конфигурации.

Завершение процесса одной сессии

Чтобы завершить процесс Claude Code одной сессии, архивируйте сессию в Desktop, пока Desktop подключён к удалённой машине. Процесс продолжает работать после завершения задачи и после закрытия Desktop.

Прежде чем архивировать сессию, в worktree которой есть незакоммиченные изменения, см. Сохранение незакоммиченных изменений при архивировании сессии.

Как узнать, от имени какого пользователя работают процессы

Помощник и Claude Code работают от имени пользователя, под которым Desktop входит по SSH. Для их установки и запуска не требуется sudo. Чтобы проверить пользователя, выполните ps -o user= -p на удалённой машине с идентификатором процесса, который выводит pgrep.

Программы, которые запускает Claude Code, такие как shell-команды и MCP-серверы, тоже запускаются от имени этого пользователя. Проверьте права этого пользователя на удалённой машине, включая его правила sudo, так же, как вы проверили бы их для человека, выполняющего там команды.

Как узнать, кто подключался к удалённой машине

Чтобы узнать, кто подключался к удалённой машине, прочитайте лог SSH-сервера на этой машине, где вход из Desktop выглядит так же, как вход из терминала. С Desktop на macOS или Linux ожидайте запись при каждом подключении Desktop, а не по одной на каждую сессию.

Если на сервере задано MaxSessions 1, ожидайте как минимум две записи при каждом подключении или переподключении Desktop. Ожидайте ещё как минимум одну для каждой вкладки терминала и для каждой сессии Desktop, в которой вы выполняете команды, начинающиеся с !.

SSH-подключений Desktop нет в метриках и событиях Claude Code. Чтобы узнать по ним, на какой удалённой машине выполнялась SSH-сессия, см. Привязка телеметрии к SSH-сессиям Desktop. О собственных записях Desktop о его подключениях см. Получение логов Desktop для проблемы с SSH.

Подключения, закрывающиеся до входа

Если лог SSH-сервера показывает подключения, которые закрываются до какого-либо входа, это могут быть проверки SSH-порта со стороны Desktop. Desktop проверяет, отвечает ли машина, например после неудачного подключения к ней. Он открывает подключение к порту и сразу закрывает его, ничего не отправляя. Ожидайте одну проверку или несколько подряд, например восемь примерно за две минуты.

Если ничто не блокирует и не отклоняет адреса за такие подключения, с проверками Desktop ничего делать не нужно. Если адрес, с которого подключается Desktop, отклоняется или блокируется, проверьте, не отклоняет ли адрес сам SSH-сервер и не учитывает ли fail2ban проверки Desktop.

Распознавание проверки в логе SSH-сервера

Сравните строки в своём логе со строками, которые сервер OpenSSH в Linux записывает для проверки при LogLevel по умолчанию, в строке таблицы для версии вашего сервера. Если приветствие сервера приходит до того, как Desktop закроет подключение, вместо этого вы можете увидеть строки из последнего столбца:

Версия OpenSSH Строки для проверки Строки, если приветствие приходит первым
От 6.6 до 7.9 Строка с Did not receive identification string from 203.0.113.7 Та же строка
От 8.0 до 8.2 error: kex_exchange_identification: Connection closed by remote host error: kex_exchange_identification: read: Connection reset by peer
От 8.3 до 9.4 error: kex_exchange_identification: Connection closed by remote host, затем Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer, затем Connection reset by 203.0.113.7 port 51234
От 9.5 до 10.2 Connection closed by 203.0.113.7 port 51234 error: kex_exchange_identification: read: Connection reset by peer, затем Connection reset by 203.0.113.7 port 51234
От 10.3 до 10.5 Connection closed by 203.0.113.7 port 51234 [preauth] error: kex_exchange_identification: read: Connection reset by peer [preauth], затем Connection reset by 203.0.113.7 port 51234 [preauth]

Другие программы, которые открывают порт и закрывают его, могут оставлять такие же строки. Если в строке есть адрес, убедитесь, что это адрес, с которого подключается компьютер с Desktop.

В строках версий от 8.0 до 8.2 адреса нет. Чтобы его получить, задайте LogLevel VERBOSE в sshd_config и выполните sshd -T | grep -i loglevel от имени root. Если выводится loglevel VERBOSE, перезагрузите SSH-сервер. Затем найдите строку с Connection from 203.0.113.7 port 51234 перед строкой проверки.

Проверка того, не отклоняет ли адрес сам SSH-сервер

Если подключения отклоняются с адреса, который используют совместно многие компьютеры с Desktop, найдите в логе SSH-сервера строку, которая заканчивается так:

drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

При LogLevel по умолчанию OpenSSH 9.8 и более поздних версий может записывать такую строку, отклоняя адрес из-за подключений, которые закрылись без попытки входа, как это делают проверки Desktop. При настройках по умолчанию после нескольких проверок такая строка сама по себе не появляется.

Чтобы предотвратить отклонение, задайте в sshd_config для PerSourcePenaltyExemptList адреса, с которых подключаются люди, например PerSourcePenaltyExemptList 203.0.113.7. Тогда сервер не применяет к этим адресам ни одного из своих штрафов, включая штрафы за неудачные входы. Чтобы проверить файл, выполните sshd -T | grep -i persourcepenalt от имени root. Если выводится ваш список, перезагрузите SSH-сервер.

Проверка того, не учитывает ли fail2ban проверки Desktop

Если fail2ban версии 0.10.5 или более поздней заблокировал адрес, с которого подключается Desktop, найдите режим своего jail в jail.conf, jail.local или в jail.d/:

  • Строка filter, в которой режим указан в квадратных скобках, например filter = sshd[mode=aggressive]: используйте этот режим.
  • Только стандартная строка filter с [mode=%(mode)s]: используйте строку mode или normal, если её нет.

Если режим — normal, fail2ban не учитывает строки проверок Desktop, поэтому ищите другую причину блокировки.

Для другого режима скопируйте строки из своего лога в файл на удалённой машине. Копируйте каждую строку целиком, от даты до конца, и обе строки, если проверка оставляет две. Выполните там fail2ban-regex с этим файлом и режимом вашего jail, например aggressive:

fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

Для каждого сбоя, который учитывает fail2ban, команда выводит адрес в отдельной строке, например 203.0.113.7. В этом случае предотвратите блокировку. Если она ничего не выводит, fail2ban в этом режиме не учитывает ни одну из этих строк, поэтому ищите другую причину блокировки.

Предотвращение блокировки со стороны fail2ban

Чтобы fail2ban не блокировал адрес из-за проверок Desktop, измените одну из двух настроек jail, у каждой из которых есть своя цена:

  • mode: задайте значение normal везде, где ваш jail его задаёт, — в строке mode или в квадратных скобках строки вида filter = sshd[mode=aggressive]. Вы отказываетесь от всех подсчётов, которые ведут только другие режимы, например подсчёта клиентов, которые подключаются и уходят, не пытаясь войти.
  • ignoreip: задайте адреса, с которых подключаются люди, например ignoreip = 203.0.113.7. Тогда fail2ban ничего не учитывает с этих адресов, включая неудачные входы.

Использование MCP-серверов, настроенных на удалённой машине

Чтобы использовать MCP-сервер из ~/.claude.json или .mcp.json проекта в SSH-сессии, настройте его в этих файлах на удалённой машине. Claude Code запускает их stdio-серверы там, поэтому установите команды, которые выполняют эти серверы, на удалённой машине. О серверах из claude_desktop_config.json см. Ограничения, пока Desktop отключён.

Открытие SSH-сессии по ссылке

Ссылка claude://code/new открывает страницу новой сессии в Desktop и может указывать SSH-соединение. Разместите такую ссылку в runbook, на дашборде или вики-странице, чтобы открывать Desktop, уже настроенный на нужную машину и папку. О платформах, которые удаляют такие ссылки, см. Ссылка отображается как обычный текст, а не как кликабельная.

Для SSH-ссылок требуется Claude Desktop v2.110.0 или более поздней версии.

Следующая ссылка указывает пользователя dev на build.example.com, порт 2222 и папку /srv/payments, а также заполняет промпт:

claude://code/new?ssh_host=dev%40build.example.com&ssh_port=2222&ssh_folder=/srv/payments&q=Investigate%20the%20failed%20deploy

SSH-ссылка принимает следующие параметры, из которых обязателен только ssh_host:

Параметр Значение
ssh_host host или user@host, в том же виде, что и в поле SSH host. Значение не может начинаться с -, а часть с хостом допускает только буквы, цифры, ., _, : и -
ssh_port Номер порта от 1 до 65535
ssh_folder Папка на удалённой машине. Начинайте её с / или ~/ либо используйте ~
q URL-кодированный текст для поля промпта

Псевдоним из ~/.ssh/config работает в качестве ssh_host только у тех, у кого есть эта запись. Чтобы ссылка соответствовала уже имеющемуся у людей соединению, укажите в ней тех же пользователя, хост и порт, что и в этом соединении.

Когда вы открываете ссылку, Desktop просит вас подтвердить выбор соединения:

  • Соединение, которое у вас уже есть: если хост, пользователь и порт совпадают с одним из ваших соединений, Desktop спрашивает, использовать ли его, и показывает имя и хост соединения, а также папку, если ссылка её указывает.
  • Новое соединение: в противном случае Desktop открывает диалог добавления SSH-соединения. Когда вы добавляете соединение, Desktop перед сохранением чего-либо спрашивает, нужно ли подключиться, и показывает хост из ссылки, а также порт и папку, если ссылка их указывает.

Пока вы не подтвердите, Desktop не сохраняет хост, порт или папку из ссылки и не выбирает и не открывает соединение с ними. Если SSH-соединение уже выбрано, страница новой сессии всё равно может подключиться к нему самостоятельно, как и без ссылки, даже если ссылка указывает тот же хост. Ссылка не может содержать файл ключа, пароль или команду.

Ссылку может написать кто угодно, поэтому проверяйте, что она заполнила:

  • Перед подтверждением: проверьте хост и папку.
  • Перед отправкой: проверьте промпт и выбранное окружение.

Desktop заполняет промпт при открытии ссылки, заменяя любой неотправленный текст, и никогда не отправляет его за вас. Промпт обрабатывается как обычный текст, поэтому начальные / или ! и упоминание файла через @ не работают как команда или упоминание. Если вы отмените действие, промпт останется в поле, а выбранное вами окружение не изменится.

Ссылка не обходит sshHostAllowlist. Desktop проверяет список разрешённых хостов при подключении.

Если ссылка открывает Desktop без диалога о соединении, проверьте одну из следующих причин:

  • Вы вышли из системы: войдите в систему, затем снова откройте ссылку.
  • Открыт другой диалог: закройте его, затем снова откройте ссылку.
  • Ссылка недействительна: Desktop показывает сообщение о том, что нужно исправить, и не заполняет промпт.
  • Версия Desktop старше v2.110.0: более ранние версии игнорируют параметры SSH и открывают страницу новой сессии только с промптом.
  • SSH-сессии отключены: если ваш администратор задал пустой массив в качестве списка разрешённых хостов, Desktop отклоняет SSH-ссылки.

Создание SSH-подключения с помощью команды

Если ваши удалённые машины создаются по запросу инструментом командной строки, добавьте его команду в sshHostCommands в ~/.claude/settings.json. После этого в селекторе окружения появится пункт с именем по вашей записи, например Create Dev box. Когда вы выбираете его, Desktop запускает команду на вашем компьютере, сохраняет хост, который выводит команда, как SSH-подключение и подключается.

[!NOTE]

Для подключений через команду требуется Claude Desktop v3.6556.0 или новее на macOS или Linux либо v4.16336.0 или новее на Windows, с входом через аккаунт Claude. На Windows Desktop также должен подключаться через клиент OpenSSH. Администраторы могут распространять команды среди участников команды.

Desktop выполняет команду только при создании подключения или при создании другой машины, а не при каждом подключении. Каждая запись — это одно подключение, которое указывает на хост, последний раз сохранённый Desktop из команды этой записи.

[!WARNING]

Desktop не останавливает и не удаляет машины. Каждая из перечисленных ниже продолжает работать и может продолжать стоить денег, пока вы не удалите её с помощью своего инструмента:

  • Машина, на которую указывала запись до того, как вы создали другую
  • Машины записи, которую вы удалили из файла или у которой изменили id
  • Машина, которую создала ваша команда, но хост которой Desktop не сохранил, например в следующих случаях:
    • Команда завершается с ошибкой или превышает время ожидания
    • Desktop не может использовать выведенный хост, его уже использует другое подключение или ваша организация его не разрешает
    • Пока команда выполняется, вы отменяете её, удаляете её запись, меняете её command или id либо закрываете Desktop

Следующий пример добавляет подключение с именем Dev box. Если файла нет, создайте его. Если в нём уже есть настройки, добавьте ключ рядом с ними. Команда acme-dev create обозначает ваш собственный инструмент, а ~/project — папка, которую Desktop выбирает на каждой машине, созданной вашей командой:

{
  "sshHostCommands": [
    {
      "id": "devbox",
      "name": "Dev box",
      "command": "acme-dev create",
      "startDirectory": "~/project"
    }
  ]
}

На Windows простое имя, например acme-dev, не работает, поэтому начинайте команду с полного пути к программе.

Каждая запись принимает следующие поля; id, name и command обязательны:

Поле Значение
id До 64 символов: латинские буквы ASCII, цифры, ., _ и -, начиная с буквы или цифры. Используйте id, которого нет ни у одной другой записи в sshHostCommands или sshConfigs. Desktop хранит под ним хост подключения, поэтому если вы его измените, подключение начнётся заново без хоста, его машины продолжат работать, и Desktop сможет по-прежнему подключаться к ним.
name Имя подключения в селекторе окружения, до 200 символов в одну строку
command Программа и её аргументы, как описано в разделе Написание команды
sshIdentityFile Путь к вашему закрытому ключу, например ~/.ssh/id_ed25519. Не указывайте его, чтобы использовать вашу конфигурацию SSH или SSH-агент.
startDirectory Папка по умолчанию на удалённой машине. Начните её с / или ~/ либо используйте ~.

Чтобы изменить или удалить подключение, отредактируйте его запись в файле, потому что диалог SSH-подключения в приложении для него не открывается. После редактирования файла перезапускать Desktop не нужно. Если запись не отображается или её нельзя выбрать, см. раздел Если команда отсутствует или неактивна.

Написание команды

На Windows начните с раздела Написание команды на Windows, где сказано, какие из этих правил там применяются.

На macOS и Linux Desktop запускает программу напрямую, без оболочки и без терминала:

  • Программа: укажите её имя или полный путь от /. Простое имя Desktop ищет в PATH, который экспортирует ваша оболочка входа. Относительные пути, например ./acme-dev, пути, начинающиеся с ~, а также псевдонимы и функции оболочки не работают.
  • Пробелы в пути: заключите полный путь к программе в одинарные кавычки, например '/Users/you/My Tools/make-devbox' create. Для кавычек, одинарных или двойных, требуется Claude Desktop v4.16336.0 или новее, и они работают только вокруг пути к программе.
  • Аргументы: разделяйте аргументы пробелами. Вне кавычек команда может содержать только пробелы, ASCII-буквы, цифры и символы +,-./:=@_~, и ни одно слово не может начинаться с ~. Путь в кавычках может также содержать некоторые другие символы, например (, ) и &.
  • Скрипты: если команде нужно что-то ещё, например аргументы в кавычках, конвейеры, переменные или URL с ? или &, поместите это в скрипт. Сделайте скрипт исполняемым, начните его со строки #! и укажите в command его полный путь, например /Users/you/bin/make-devbox. На macOS не храните скрипт в папках Documents, Desktop и Downloads, где macOS может его заблокировать.
  • Ввод: программа не получает ни ввода, ни терминала, поэтому не может ничего у вас запросить. Если ваш инструмент выполняет вход через браузер или запрос, сначала войдите из терминала и повторяйте это всякий раз, когда вход истекает.
  • Окружение: программа выполняется в вашем домашнем каталоге с переменными, которые экспортирует ваша оболочка входа. Desktop считывает их при запуске, как и для ProxyCommand, поэтому после их изменения закройте и снова откройте Desktop.
  • Лимит времени: Desktop останавливает программу, которая всё ещё выполняется через 10 минут. Сообщение о ходе выполнения в Desktop не показывает вывод программы. Чтобы остановить программу раньше, выберите Cancel рядом с этим сообщением.

Программа должна завершиться с кодом 0 и вывести в стандартный вывод только хост в одной из двух форм:

  • Одна строка: host или user@host, записанные так же, как для ssh_host в SSH-ссылке. Чтобы указать порт, используйте форму JSON.
  • Один объект JSON: sshHost и, при необходимости, числовой sshPort и startDirectory, который заменяет значение из записи, например {"sshHost": "dev@devbox-1234.example.com", "sshPort": 2222}

Чтобы увидеть вывод, который считывает Desktop, запустите команду в терминале без ввода и с перенаправлением стандартного вывода в файл:

acme-dev create < /dev/null > host.txt

Файл должен содержать только хост. При этой проверке ваш инструмент тоже создаёт машину, поэтому затем удалите её с помощью своего инструмента.

Если ваш инструмент выводит перед хостом другие строки, например сообщения о ходе выполнения, оберните его в скрипт, который выводит только хост. Следующий скрипт выводит последнюю строку вывода вашего инструмента. Если инструмент завершается с ошибкой, скрипт завершается с тем же кодом, чтобы Desktop сообщил об ошибке:

#!/bin/bash
out=$(mktemp) || exit
trap 'rm -f "$out"' EXIT
acme-dev create > "$out" || exit
tail -n 1 "$out"

Если команда завершается с ошибкой, View details в сообщении Desktop показывает последнюю строку, которую команда записала в стандартный поток ошибок, если она есть.

Написание команды на Windows

На Windows начинайте command с полного пути к файлу .exe, .cmd или .bat, начиная с буквы диска. Desktop не ищет простое имя в вашем PATH, поэтому запись, у которой command равно acme-dev create, отображается серым.

Следующая запись в %USERPROFILE%\.claude\settings.json запускает C:\Program Files\Acme\acme-dev.exe с аргументом create. В JSON пишите каждую обратную косую черту дважды или используйте вместо неё /. Одинарные кавычки нужны, потому что в пути есть пробел:

{
  "sshHostCommands": [
    {
      "id": "devbox",
      "name": "Dev box",
      "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"
    }
  ]
}

Следуйте правилам из раздела Написание команды о пробелах в пути, вводе, ограничении времени и о том, что выводит программа. Вместо остальных его правил следуйте этим:

  • Программа: не используйте сетевой путь, например \\server\share, переменную, например %USERPROFILE%, или буквы вне ASCII. Если в пути есть что-либо из этого, запись отображается серым. Если имя вашей папки пользователя содержит такую букву, храните программу вне этой папки.
  • Аргументы: следуйте правилу «Аргументы» из раздела «Написание команды». Команда также может содержать \, но ни одно слово не может им заканчиваться.
  • Скрипты: используйте файл .cmd или .bat, который Desktop запускает через cmd.exe. Даже в кавычках путь к файлу не может содержать &, ^ или ;. В файле, который вы пишете, считывайте аргументы с помощью %*, поскольку %1–%9 разбивают аргумент по , и =.
  • Окружение: программа получает переменные окружения приложения Desktop, а не профиля оболочки. После изменения переменной закройте и снова откройте Desktop.
  • Проверка: чтобы увидеть вывод, который считывает Desktop, выполните команду в Command Prompt. Заключите путь с пробелом в двойные кавычки и используйте NUL вместо ввода, как в "C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt. Файл должен содержать только хост. Проверка тоже создаёт машину, поэтому после неё удалите машину с помощью своего инструмента.
Обёртка для инструмента Windows, который выводит другие строки

Если ваш инструмент выводит другие строки перед хостом, например сообщения о ходе выполнения, оберните его в пакетный файл, который выводит только хост. Следующий файл выводит последнюю строку вывода вашего инструмента и при ошибке завершается с кодом вашего инструмента:

@echo off
setlocal
set "host="
set "out=%TEMP%\acme-dev-%RANDOM%.txt"
call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"
set "code=%ERRORLEVEL%"
for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"
del "%out%"
if not "%code%"=="0" exit /b %code%
setlocal EnableDelayedExpansion
echo(!host!

Укажите в command полный путь к файлу, например C:\\tools\\make-devbox.cmd в JSON. Оставьте две последние строки файла без изменений, поскольку они выводят хост, не выполняя его как команду.

Подключение к новому хосту

При первом подключении к каждому новому хосту ответьте на два вопроса:

  • Ключ хоста: при стандартной проверке ключей хостов в OpenSSH проверьте отпечаток ключа, затем решите, подключаться ли. Чтобы пропустить этот вопрос, сделайте так, чтобы ваша команда добавляла ключ в ~/.ssh/known_hosts (или в %USERPROFILE%\.ssh\known_hosts на Windows), прежде чем выводить хост:
    • Используйте ключ, который ваш инструмент получил при создании машины
    • Для порта, отличного от 22, начинайте строку с [host]:port
    • Если ваш инструмент повторно использует имена хостов, также удаляйте строку старого ключа
  • Папка: выберите, доверяете ли вы папке, которую там открываете

Не отключайте проверку ключей для этих хостов и храните для них файл known_hosts. Если StrictHostKeyChecking имеет значение no или accept-new, а UserKnownHostsFile при этом — /dev/null или none, ключ нигде не записывается. Тогда, если ваш инструмент повторно использует имя, вы можете подключиться к другой машине без предупреждения.

Повторно использованное имя важно и тогда, когда за компьютером никого нет, потому что Desktop подключается к этим хостам сам. Например, он доставляет сообщение, отправленное, пока хост был недоступен, как только хост отвечает. Даже при включённой проверке ключей хоста сообщение в следующих случаях может попасть на новую машину с этим именем, поэтому прекратите использование машины до её удаления:

  • Вы, ваша команда или другая программа добавили новый ключ в known_hosts или удалили строку со старым ключом, как это делает ваша команда, если она добавляет ключи хоста
  • Машины вашего инструмента используют общий ключ хоста
  • Машины вашего инструмента используют общий центр сертификации, которому доверяет known_hosts
  • Вы или ваш администратор задали KnownHostsCommand или VerifyHostKeyDNS yes, поэтому SSH принимает ключи не из known_hosts
Создание другой машины

Ваши сессии на прежних машинах продолжают работать после выбора Create another Dev box, а новые сессии используют новую машину. Выберите этот пункт в селекторе окружения, чтобы создать новую машину или заменить исчезнувшую. На странице новой сессии его также предлагает сообщение о том, что Desktop не может связаться с хостом.

  • Сессии на прежних машинах: продолжайте их из боковой панели, потому что селектор показывает текущую машину Dev box, а не прежние. Desktop может подключаться к их машинам сам, например при запуске Desktop, поэтому прекратите использование машины, когда она вам больше не нужна.
  • Хост, заменённый до Claude Desktop v4.4212.0: эти версии показывают Replace Dev box's host и перестают подключаться к заменённому хосту. Чтобы продолжить сессию на этом хосте, откройте сессию, выберите Add SSH connection и сохраните подключение, которое заполнит Desktop. Обновите Desktop, прежде чем заменять другой хост.
  • Новые сессии на двух машинах: добавьте вторую запись в sshHostCommands
  • Новый хост, который ещё не отвечает: оставьте страницу новой сессии открытой на срок до 10 минут, пока она продолжает пытаться подключиться. Если хост по-прежнему не отвечает, выберите Create another Dev box в сообщении на странице.
  • Ещё одна машина вскоре после этого: после нескольких запусков команды в течение часа подтверждайте каждый следующий запуск в диалоге, который открывает Desktop и в котором показана команда
Прекращение использования машины

Чтобы Desktop перестал сам подключаться к машине, созданной командой, архивируйте каждую сессию на этой машине:

  1. Найдите сессии машины в боковой панели. Панель сведений сессии показывает хост, на котором она выполняется.
  2. Архивируйте каждую сессию и не разархивируйте её.
  3. Если после создания этой машины вы не создавали другую машину из той же записи sshHostCommands, создайте её или удалите запись. До этого машина остаётся сохранённым подключением записи, и Desktop может подключиться к ней, когда вы открываете страницу новой сессии с выбранным этим подключением.
  4. Удалите в приложении любое другое SSH-подключение к этой машине или удалите её запись в sshConfigs.
  5. Закройте и снова откройте Desktop — это закроет его подключение к машине и прекратит попытки связаться с ней.
  6. Удалите машину своим инструментом.
Удаление записи

После удаления записи из файла настроек или изменения её id сессии на её машинах остаются, поэтому Desktop всё ещё может подключаться к этим машинам. Он может делать это, даже когда за компьютером никого нет, например чтобы снова присоединиться к запущенному процессу сессии или доставить сообщение, ожидающее отправки. Чтобы это прекратить, архивируйте сессии, как описано в разделе Прекращение использования машины.

Если вы администратор и удалили управляемую запись, сессии ваших пользователей тоже остаются, и каждый пользователь должен архивировать свои. Чтобы самостоятельно заблокировать машины записи, задайте sshHostAllowlist, который соответствует хостам, ещё нужным пользователям, но не именам хостов этих машин. Это возможно, только если шаблон позволяет их различить.

Распространение команд в команде

Чтобы предоставить своей команде подключение, задайте sshHostCommands в файле управляемых настроек Claude Code или в политике MDM на каждом компьютере, а не в собственной политике управления устройствами десктопного приложения. Пользователи видят ваши записи рядом со своими, и приложение не позволяет редактировать или удалять записи — ни их, ни ваши.

Следующий файл управляемых настроек предоставляет пользователям подключение с именем Dev box и отключает их собственные записи вместе с хуками Claude Code из пользовательских, проектных и локальных настроек:

{
  "sshHostCommands": [
    {
      "id": "acme-devbox",
      "name": "Dev box",
      "command": "/usr/local/bin/acme-dev create"
    }
  ],
  "strictPluginOnlyCustomization": ["hooks"]
}

Перед развёртыванием ключа определитесь со следующим:

  • Куда поместить ключ: если ваша политика MDM для Claude Code уже задаёт ключ политики, поместите его туда. В противном случае поместите его в файл управляемых настроек. По умолчанию такая политика имеет приоритет над файлом, и тогда Desktop игнорирует записи в файле. Задавайте его на компьютере даже там, где действуют серверные управляемые настройки: Desktop игнорирует этот ключ в них, а также в проектных и локальных настройках.
  • id: если у записи sshHostCommands пользователя ваш id, работает только ваша. Если он есть у любого другого SSH-подключения, например в sshConfigs пользователя, ваша запись неактивна. Выберите id, который пользователи вряд ли выберут.
  • Программа: укажите её полный путь, потому что на macOS и Linux Desktop ищет простое имя в PATH каждого пользователя, а на Windows запись с простым именем отображается серым. Программа запускается от имени пользователя, с переменными этого пользователя.
  • Каждая платформа: разверните одну запись на компьютеры с Windows и другую — на компьютеры с macOS и Linux. Запись с путём Windows отображается серым на macOS и Linux, а запись с путём macOS или Linux — на Windows.
  • Собственные записи пользователей: Desktop обрабатывает запись пользователя как хук, потому что в обоих случаях на компьютере запускается программа. Чтобы разрешить только ваши записи, задайте для strictPluginOnlyCustomization значение ["hooks"] или добавьте "hooks" в его список. Это также отключает хуки Claude Code из пользовательских, проектных и локальных настроек без возможности их сохранить. Если вместо этого задать для этого ключа или для allowManagedHooksOnly значение true, блокируется больше, как указано в описании каждого ключа.
  • Все записи: чтобы отключить и ваши записи, задайте disableAllHooks в управляемых настройках. Если вы задаёте disableDesktopLocalSessions или sshHostAllowlist, который не разрешает ни одного хоста, селектор не показывает пунктов Create или Create another.
  • Где учитываются блокировки: для этих записей Desktop считывает allowManagedHooksOnly, strictPluginOnlyCustomization и disableAllHooks из серверных управляемых настроек и из собственного файла или политики компьютера и применяет более строгий результат. Все записи остаются неактивными, пока Desktop не проверит claude.ai на наличие серверных управляемых настроек, даже если у вашей организации их нет.
  • Разрешённые хосты: если вы задаёте sshHostAllowlist, убедитесь, что каждому имени хоста, которое выводит ваш инструмент, соответствует шаблон, и не включайте user@ в шаблон. Desktop проверяет выведенное имя только после выполнения команды, поэтому машина, которую список отклоняет, уже существует, и пользователю приходится удалять её с помощью вашего инструмента. При каждом подключении разрешённый HostName также должен соответствовать.

После развёртывания ключа перезапустите Desktop на тестовом компьютере. В селекторе окружения на вкладке Code посмотрите в разделе SSH или в единственной строке SSH. Ваша запись отображается как пункт Create или как неактивный пункт, который показывает причину при наведении курсора. Если её нет, проверьте, куда вы поместили ключ, а затем случаи из раздела Если команда отсутствует или неактивна.

Если команда отсутствует или неактивна

Селектор окружения не показывает пункт Create или Create another в следующих случаях:

  • Файл: ~/.claude/settings.json содержит недопустимый JSON или значение, которое отклоняет схема, вы допустили опечатку в ключе или поместили его в настройки проекта. Исправьте файл.
  • Аккаунт: вы используете стороннего провайдера вместо аккаунта Claude. Добавьте каждый хост как SSH-подключение самостоятельно.
  • Windows: Desktop старше v4.16336.0 или не подключается через клиент OpenSSH. Обновите Desktop и выполните требования к клиенту OpenSSH, затем закройте и снова откройте Desktop.
  • Настройки вашей организации: администратор отключил локальные сессии или SSH-сессии. Спросите у него, можно ли вам использовать команды.
  • Нет программы ssh: Desktop не смог запустить клиент OpenSSH на вашем компьютере. Установите его или попросите администратора разрешить его, затем перезапустите Desktop.

Запись, которую нельзя выбрать, неактивна. Наведите на неё курсор, чтобы увидеть причину:

  • Ошибка в записи: исправьте поле или команду, указанные в сообщении. Если id уже используется, присвойте записи другой. На Windows команда должна начинаться с полного пути к программе.
  • Повреждённый файл настроек: пока ваш собственный файл настроек повреждён, записи администратора могут быть неактивны с сообщением, в котором указан файл. Исправьте файл.
  • Новый хост: Create another неактивен в течение одной минуты после того, как Desktop сохраняет хост. Выберите его по прошествии этой минуты. До Claude Desktop v4.4212.0 Replace Dev box's host неактивен в течение 10 минут.
  • Хуки отключены или ограничены: ваши собственные записи работают только там, где могут выполняться ваши собственные хуки. Удалите disableAllHooks из своих настроек или обратитесь к администратору.
  • Настройки ещё загружаются: все записи неактивны, пока Desktop не загрузит серверные управляемые настройки вашей организации, обычно через несколько секунд после запуска. Если записи остаются неактивными, проверьте подключение к claude.ai.

Предварительная конфигурация SSH-соединений для вашей команды

Администраторы могут распространять SSH-подключения среди участников команды, задав sshConfigs в управляемых настройках.

  • Что видят пользователи: подключения, определённые таким образом, автоматически появляются в селекторе окружения у каждого пользователя.
  • Что пользователи могут изменить: пользователи могут выбрать управляемое подключение и задать для него собственную Worktree folder. Они не могут редактировать другие его поля или удалить его в приложении.

Следующий пример предварительно конфигурирует одно соединение:

{
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "user@dev.example.com",
      "sshPort": 22,
      "sshIdentityFile": "~/.ssh/id_ed25519"
    }
  ]
}

Каждая запись требует id, name и sshHost. Поля sshPort и sshIdentityFile являются необязательными. Пользователи также могут добавить sshConfigs в свой собственный ~/.claude/settings.json.

Если вы не укажете user@ в sshHost, Desktop подключается от имени пользователя User, заданного для этого хоста в ~/.ssh/config каждого разработчика, а в противном случае — под его именем пользователя на его собственном компьютере.

Ограничение SSH-хостов, к которым могут подключаться пользователи

Администраторы могут ограничить SSH-сессии Desktop утверждённым набором хостов, задавая sshHostAllowlist в управляемых настройках. Когда это задано, пользователи могут подключаться только к хостам, разрешённое имя хоста которых совпадает с одним из шаблонов. Установите его в пустой массив, чтобы отключить SSH-сессии. В справочной записи sshHostAllowlist описано, как пустой массив сочетается со списками из других управляемых источников.

Следующий пример разрешает соединения с любым хостом под devboxes.example.com и с одним именованным хостом-бастионом:

{
  "sshHostAllowlist": ["*.devboxes.example.com", "bastion.example.com"]
}

[!WARNING]

Если ваша организация доставляет серверные управляемые настройки, задайте sshHostAllowlist там. По умолчанию Desktop читает этот ключ только из управляемого источника с наивысшим приоритетом, который доставляет ключ политики. Если в этом источнике ключ не задан, Desktop игнорирует список в политике MDM или файле управляемых настроек с более низким приоритетом и считает ключ незаданным. Desktop не показывает никакого предупреждения.

Также храните тот же список на машине каждого пользователя — в политике MDM или файле управляемых настроек с наивысшим приоритетом на этой машине. Desktop получает серверные управляемые настройки при запуске и не хранит кэшированную копию, поэтому пока получение не завершится успешно, действует список, заданный на машине.

Шаблоны не учитывают регистр. * соответствует любому хосту, а *.example.com соответствует example.com и любому поддомену. Всё остальное — точное совпадение. Проверка выполняется по имени хоста после его разрешения через ~/.ssh/config с помощью ssh -G, поэтому псевдоним Host разрешён, если его разрешённый HostName совпадает. Промежуточные хосты (jump hosts) сессии тоже должны совпадать.

sshHostAllowlist читается только из управляемых параметров; значения в параметрах пользователя или проекта игнорируются. Только приложение Claude Desktop соблюдает этот параметр; Claude Code CLI и расширения IDE не читают его, и он не ограничивает команды ssh, выполняемые через инструмент Bash. Он управляет тем, к каким хостам подключается приложение Desktop, а не сетевым исходящим трафиком, поэтому объедините его с сетевыми элементами управления вашей организации или элементами управления с нулевым доверием, если вам нужна жёсткая граница.

Разрешение промежуточных хостов

Добавьте в sshHostAllowlist каждый промежуточный хост, который проверяет Desktop, по его собственному разрешённому HostName. Добавьте промежуточные хосты до того, как пользователи обновятся до Claude Desktop v3.1623.0 или новее, иначе они не смогут подключаться через них.

[!WARNING]

В списке есть только один вид записей, поэтому пользователи также смогут начать сессию на любом указанном вами хосте. Указывайте только те промежуточные хосты, на которых вы также разрешили бы пользователям запускать сессии.

Desktop проверяет промежуточные хосты в ProxyJump, который ~/.ssh/config пользователя задаёт для хоста сессии, или в ProxyCommand, записанном как ssh -W %h:%p <host>. Если какой-либо из проверяемых хостов отсутствует в списке, когда Desktop подключает или переподключает сессию, подключение завершается ошибкой. Когда пользователь начинает сессию или отправляет сообщение, в подробностях ошибки указывается HostName этого промежуточного хоста — именно это имя нужно добавить:

SSH host "bastion.example.com" is not allowed by your organization's managed settings. It is a jump host on the way to "devbox".

Если в сообщении сказано managed settings on this computer, добавьте имя в список на компьютере пользователя. Если отсутствует несколько промежуточных хостов, ошибка называет их по одному. Чтобы найти все имена до обновления пользователей, воспользуйтесь терминалом на компьютере пользователя:

1. Найдите маршрут

Выполните ssh -G с хостом, к которому подключаются пользователи, например ssh -G devbox. Найдите строку proxyjump или строку proxycommand, записанную как ssh -W %h:%p <host>. Команда по-прежнему учитывается с любым из флагов -l, -p, -J, -q, -v, -N, -T, -x или -a, а хосты после -J тоже являются промежуточными. Если строка proxycommand запускает программу, отличную от ssh, ничего для неё не добавляйте.

2. Найдите каждый промежуточный хост

Выполните ssh -G с каждым промежуточным хостом из этой строки, без :port, и запишите выводимый hostname. Если в выводе для первого промежуточного хоста в этой строке есть строка любого из этих видов, повторите этот шаг с ней. Игнорируйте такую строку в выводе последующих промежуточных хостов.

3. Добавьте имена

Добавьте каждое имя хоста или охватывающий его шаблон с подстановочным знаком в sshHostAllowlist в каждом управляемом источнике, где вы задаёте список. Затем попросите пользователей закрыть и снова открыть Desktop, поскольку он получает серверные управляемые настройки при запуске.

Отключение локальных сессий и распространение SSH-соединений

Чтобы отключить локальные сессии и ограничить SSH-сессии выбранными вами хостами, разверните вместе disableDesktopLocalSessions, sshConfigs и sshHostAllowlist.

[!NOTE]

Эта конфигурация предназначена для пользователей, которые входят с учётной записью Claude. При использовании стороннего провайдера SSH-сессии по умолчанию отключены, и задание sshHostAllowlist может их включить. Прежде чем развёртывать эти ключи, прочитайте SSH remote sessions in Claude Desktop on 3P.

Следующий пример отключает локальные сессии, добавляет одно соединение и ограничивает SSH-сессии хостом этого соединения:

{
  "disableDesktopLocalSessions": true,
  "sshConfigs": [
    {
      "id": "shared-dev-vm",
      "name": "Shared Dev VM",
      "sshHost": "dev.example.com"
    }
  ],
  "sshHostAllowlist": ["dev.example.com"]
}

Эти ключи применяются к приложению desktop. Они не затрагивают другие способы запуска Claude Code, такие как CLI, Cowork и облачные сессии:

  • CLI: ни один из ключей не мешает разработчику запускать Claude Code CLI на своём собственном компьютере
  • Cowork: ни один из ключей не применяется к сессиям Cowork или запланированным задачам Cowork
  • Облачные сессии: ни один из ключей не влияет на доступность облачных сессий. Чтобы отключить их, используйте настройку Cloud sessions в разделе Элементы управления Admin console.

При адаптации примера проверьте имена хостов, версию Desktop и права доступа к файлу:

  • Имена хостов: убедитесь, что шаблон в sshHostAllowlist соответствует имени хоста каждой записи sshConfigs без user@, иначе разработчики не смогут к нему подключиться. Также добавьте шаблон, соответствующий каждому промежуточному хосту, который Desktop проверяет на пути к нему. О том, как Desktop сопоставляет имя хоста, см. раздел Ограничение SSH-хостов, к которым могут подключаться пользователи.
  • Версия: для disableDesktopLocalSessions требуется Claude Desktop v1.37937.0 или более поздней версии
  • Права доступа к файлу: убедитесь, что учётная запись каждого разработчика на компьютере может читать файл управляемых настроек. Desktop не применяет ключи из файла, который учётная запись не может прочитать, и Claude Code тоже запускается без них.

Поместите все три ключа в один управляемый источник — тот, который имеет наивысший приоритет среди доставляемых вами. Если вы доставляете серверные управляемые настройки, также храните копию трёх ключей в политике MDM или файле управляемых настроек с наивысшим приоритетом на каждом компьютере. Desktop получает серверные управляемые настройки при запуске, и копия на компьютере действует до тех пор, пока получение не завершится успешно.

Чтобы убедиться, что настройки применяются, проверьте компьютер разработчика:

1. Проверьте селектор окружения

Закройте и снова откройте Desktop, затем откройте селектор окружения. Настройки применились, если в нём отображается:

  • Запись для этого компьютера серым цветом
  • Shared Dev VM в разделе SSH. Если его там нет, нажмите на единственную строку SSH или на More в конце группы.

Если запись для компьютера по-прежнему доступна, проверьте следующие причины:

  • Версия Desktop: обновите Desktop, если его версия старше v1.37937.0.
  • Файл управляемых настроек: убедитесь, что файл содержит корректный JSON.
  • Управляемый источник: убедитесь, что компьютер считывает управляемый источник, в котором находятся ключи.

2. Добавьте хост, которого нет в списке разрешённых

Добавьте SSH-подключение с именем хоста, которого нет в списке разрешённых, например other.example.com. Desktop сохраняет подключение, но отказывается подключаться и сообщает, что настройки вашей организации не разрешают это подключение.

Конфигурация для предприятий

Организации на планах Team или Enterprise могут управлять поведением приложения desktop с помощью элементов управления консоли администратора, файлов управляемых настроек и политик управления устройствами.

Элементы управления консоли администратора

Эти настройки задаются в консоли настроек администратора:

  • Desktop: определяет, могут ли пользователи вашей организации получать доступ к Claude Code в приложении desktop
  • Cloud sessions: включает или отключает облачные сессии для вашей организации
  • Remote Control: включает или отключает Remote Control для вашей организации

В организациях Enterprise с включённым HIPAA переключатель Desktop по умолчанию выключен, и его может включить Owner. Применение конфигурации HIPAA выключает его, даже если он был включён, поэтому после этого Owner должен включить его снова. Cloud sessions и Remote Control также по умолчанию выключены, и Owner не может включить их после того, как к организации применена конфигурация HIPAA.

[!NOTE]

Форма OpenTelemetry для Cowork в разделе Monitoring в настройках данных и конфиденциальности консоли администратора применяется только к сессиям Cowork. В сессии Cowork на этой машине приложение desktop передаёт этот сборщик в Claude Code в виде переменных окружения OTEL_*, поэтому форма вступает в силу, хотя Claude Code в этой сессии никогда не получает настройки консоли администратора.

Чтобы экспортировать телеметрию из сессий вкладки Code, задайте CLAUDE_CODE_ENABLE_TELEMETRY и переменные OTEL_* в блоке env управляемых настроек Claude Code, как показано в разделе конфигурация администратора для мониторинга. Локальные, облачные и SSH-сессии читают управляемые настройки из разных источников. Хосты, к которым может обращаться облачная сессия, описаны в разделе доступ к сети. Значение service.name, которое сообщают сессии вкладки Code, описано в разделе информация о сервисе.

Чтобы узнать, на какой удалённой машине выполнялась SSH-сессия, см. Привязка телеметрии к SSH-сессиям Desktop.

Управляемые настройки

Управляемые настройки переопределяют настройки проекта и пользователя и применяются к сессиям Claude Code в Desktop. Вы можете задать эти ключи в файле управляемых настроек вашей организации или отправить их удалённо через консоль администратора, если в строке ключа не указано иное.

Ключ Описание
permissions.disableBypassPermissionsMode установите значение "disable", чтобы запретить пользователям включать режим обхода разрешений.
disableAutoMode установите значение "disable", чтобы убрать режим Auto из селектора режимов. Также принимается внутри permissions.
autoMode настройте, чему классификатор авторежима доверяет и что блокирует во всей вашей организации. См. Настройка авторежима.
browserExternalPageTools установите значение "disabled", чтобы запретить Claude использовать инструменты для чтения внешних страниц и действий на них в панели браузера. Пользователи по-прежнему могут сами переходить на внешние сайты, а предпросмотр локального сервера разработки не затрагивается.
disableMobileSimulatorTools установите значение true, чтобы заблокировать инструменты Claude для управления устройствами и их захвата в панели iOS Simulator. Панель остаётся доступной для собственных касаний пользователя; убирается только доступ Claude. Значение должно быть логическим значением JSON true; строка "true" игнорируется.
disableBrowserExternalNavigation установите значение true, чтобы полностью отключить просмотр внешних сайтов в панели браузера. Ни пользователи, ни Claude не могут переходить на внешние сайты, а предпросмотр сервера разработки на localhost не затрагивается. HTML-предпросмотры в SSH- и WSL-сессиях не выполняют скрипты. Значение должно быть логическим значением JSON true; строка "true" игнорируется.
sshConfigs предварительно настройте SSH-подключения, которые отображаются в селекторе окружений. Пользователи не могут удалять управляемые подключения или изменять в них что-либо, кроме собственного поля Worktree folder.
sshHostCommands предоставьте пользователям SSH-подключения, хост которых берётся из команды, наряду с их собственными. Desktop читает этот ключ из файла управляемых настроек или политики MDM на компьютере и игнорирует его в настройках, управляемых сервером. Требуется Claude Desktop v3.6556.0 или новее на macOS или Linux либо v4.16336.0 или новее на Windows с входом через учётную запись Claude. В Windows Desktop также должен подключаться через клиент OpenSSH.
sshHostAllowlist ограничьте SSH-сессии хостами, разрешённое имя которых совпадает с одним из этих шаблонов. Читается только из управляемых настроек.
disableDesktopLocalSessions установите значение true, чтобы отключить сессии Code, работающие на устройстве, оставив доступными SSH-сессии на других хостах и облачные сессии. Значение должно быть логическим значением JSON true. Читается только из управляемых настроек. Требуется Claude Desktop v1.37937.0 или новее.
disableSshSavedPasswords установите значение true, чтобы Desktop перестал предлагать запоминать пароли SSH, а также использовать или показывать ранее сохранённые пароли. Включение этого параметра не удаляет их. Читается только из управляемых настроек. Требуется Claude Desktop v1.49585.0 или новее.
managedMcpServers отправьте конфигурации MCP-серверов всем пользователям. Доступно только в сторонних (3P) развёртываниях Desktop. В каждой записи укажите транспорт "http", "sse" или "stdio", параметры подключения и, при необходимости, карту toolPolicy, ограничивающую, какие инструменты этого сервера пользователи могут вызывать. Доставляйте её через файл управляемых настроек, MDM или блок desktop политики шлюза приложений Claude, поскольку развёртывания 3P не получают настройки консоли администратора. Для доставки через шлюз на сервере шлюза нужен Claude Code v2.1.232 или новее. Это собственный ключ приложения desktop; Claude Code читает собственную одноимённую управляемую настройку с другой структурой записи.

Если вы отключаете функцию с помощью browserExternalPageTools, disableMobileSimulatorTools или disableBrowserExternalNavigation в политике MDM или файле управляемых настроек с наивысшим приоритетом на компьютере, функция остаётся отключённой на этом компьютере. Она остаётся отключённой, даже если ваши настройки, управляемые сервером, не задают этот ключ или разрешают эту функцию. Не используйте для этого значение реестра HKCU на уровне пользователя. Чтобы снова включить функцию, удалите значение везде, где вы его задали. Требуется Claude Desktop v4.4212.0 или новее.

Какие управляемые настройки доходят до сессии Desktop, зависит от того, где эта сессия выполняется. Ограничения моделей, такие как availableModels, применяются в сессиях Claude Code в Desktop так же, как в CLI в терминале; см. охват интерфейсов.

  • Локальные сессии на этой машине: применяется файл управляемых настроек, развёрнутый на диске. Управляемые настройки, отправленные удалённо через консоль администратора, также доходят до этих сессий в API Anthropic, когда сессия проходит аутентификацию с помощью подходящего входа, с тем же приоритетом настроек, что и в CLI в терминале.
  • Облачные сессии: получают настройки, управляемые сервером; файлы, развёрнутые на устройстве, до них не доходят, поскольку такие сессии выполняются на виртуальных машинах под управлением Anthropic. Сессии, направленные в самостоятельно размещённое окружение, также читают файл управляемых настроек в образе runner. В разделе Как Claude Code объединяет управляемые источники описано, когда этот файл применяется.
  • SSH-сессии: сессия читает файл управляемых настроек с удалённого хоста. Сам Desktop читает sshConfigs, sshHostAllowlist, disableSshSavedPasswords и disableDesktopLocalSessions на локальной машине. Если вы доставляете более одного управляемого источника, он по умолчанию читает их только из одного.
  • Сессии Cowork: в сессии Cowork на этой машине Claude Code никогда не получает настройки консоли администратора, даже если пользователь входит с учётной записью Team или Enterprise, и читает политику, развёрнутую на машине, если только ваша конфигурация Claude Desktop не задаёт requireCoworkFullVmSandbox. Удалённые сессии Cowork не получают ни то, ни другое. О том, какие файлы устройства доходят до Cowork, см. где и когда применяется политика, а о том, как правила Bash и WebFetch применяются к инструментам Cowork, — правила разрешений MCP.

В локальных и SSH-сессиях приложение desktop передаёт подключённые коннекторы claude.ai каждого пользователя напрямую в Claude Code. Ни одна настройка MCP и ни один managed-mcp.json не влияют на эти коннекторы, какой бы источник настроек или расположение файла вы ни использовали. Чтобы заблокировать инструменты коннектора в этих сессиях, используйте элементы управления инструментами коннекторов вашей организации. В разделе Как коннекторы попадают в Claude Code показано, какие настройки управляют коннекторами в каждом виде сессий.

permissions.disableBypassPermissionsMode и disableAutoMode также работают в настройках пользователя и проекта, но их размещение в управляемых настройках не позволяет пользователям их переопределить.

Ключи разрешений, плагинов и доставки, которые может задать только управляемый источник, описаны в разделе Ключи, которые могут задать только управляемые настройки.

Настройки Claude Code, которые ведут себя иначе на вкладке Code

В локальной сессии эти ключи, среди прочих, действуют иначе или не дают видимого эффекта, поскольку вкладка Code заменяет интерфейс терминала. В терминале они по-прежнему применяются, поэтому их можно оставить заданными.

Ключ В локальной сессии
askUserQuestionTimeout таймаут не применяется, поэтому вопрос от Claude остаётся открытым, пока пользователь на него не ответит
awaySummaryEnabled ключ ни на что не влияет
bashEditDiffEnabled вкладка Code не показывает список файлов, изменённых командой Bash
companyAnnouncements вкладка Code не показывает объявления
defaultShell команды, которые пользователи вводят после !, выполняются в оболочке, выбранной приложением: в их оболочке входа на macOS и Linux, в PowerShell на Windows
fileSuggestion средство выбора файлов @ формирует собственный список файлов и не запускает заданную вами команду
modelPicker средство выбора модели показывает модели, доступные учётной записи каждого пользователя. Чтобы ограничить их, задайте availableModels.
pluginTrustMessage предупреждение, которое пользователи видят при установке плагина, не содержит заданного вами сообщения
prUrlTemplate ссылки на pull request используют собственный URL pull request, а не шаблон
respectGitignore средство выбора файлов @ формирует собственный список файлов и не читает этот ключ
respondToBashCommands Claude отвечает на вывод команд, которые пользователи запускают с !, независимо от значения
showClearContextOnPlanAccept при утверждении плана пользователям не предлагается вариант очистки контекста
skipDangerousModePermissionPrompt у вкладки Code есть собственное подтверждение для режима обхода разрешений, и этот ключ его не пропускает
verbose, viewMode каждый пользователь выбирает представление в пункте Transcript view в меню сессии
worktree.baseRef, worktree.sparsePaths, worktree.symlinkDirectories не используются для worktree, который вкладка Code создаёт для сессии

Политики управления устройствами

IT-отделы могут управлять приложением desktop через MDM на macOS, групповые политики на Windows или файл политики на Linux. Доступные политики включают включение и отключение функции Claude Code, управление автоматическими обновлениями на macOS и Windows и задание пользовательского URL развёртывания.

  • macOS: настройте через домен настроек com.anthropic.claudefordesktop с помощью таких инструментов, как Jamf или Kandji
  • Windows: настройте через реестр в SOFTWARE\Policies\Claude
  • Linux: настройте через принадлежащий root файл /etc/claude-desktop/managed-settings.json, который содержит ключи политики в виде объекта JSON. Desktop отклоняет этот файл, если записывать в него или в его папку может кто-либо, кроме root. Это другой файл, отличный от файла управляемых настроек Claude Code.

Ограничение входа только вашей организацией

Чтобы ограничить, какие организации claude.ai могут входить в Claude Desktop, задайте forceLoginOrgUUID в политике Claude Desktop.

Для этого ключа требуется Claude Desktop v1.2581.0 или новее.

В Linux файл политики, задающий только этот ключ, выглядит так:

{
  "forceLoginOrgUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Замените заполнитель идентификатором вашей организации claude.ai, который отображается в настройках администратора claude.ai. Это тот же идентификатор, который принимает настройка forceLoginOrgUUID Claude Code. Примеры для macOS и Windows, задающие этот ключ, см. в разделе Deploy the Claude Desktop policy руководства по Cowork для организаций, готовых к HIPAA.

[!WARNING]

Проверьте значение forceLoginOrgUUID перед развёртыванием. Если этот идентификатор не принадлежит вашей организации, люди из вашей организации не смогут использовать Claude Desktop, если только они не состоят также в организации с этим идентификатором. Чтобы исправить ситуацию, разверните правильный идентификатор и попросите их перезапустить Claude Desktop.

Если вы задаёте forceLoginMethod и forceLoginOrgUUID в управляемых настройках Claude Code, экран входа Claude Desktop от этого не меняется.

Требования к доступу к сети

Desktop загружает код приложения и пользовательское содержимое с хостов CDN Anthropic.

anthropic.com
*.anthropic.com
claude.ai
*.claude.ai
claude.com
*.claude.com
claude.app
*.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

Трафик передаётся по HTTPS на порт 443, если вы не настроили пользовательский порт для OTLP, LLM-шлюза или MCP-сервера.

О прокси-серверах, пользовательских центрах сертификации, mTLS и доменах, необходимых автономному CLI, см. конфигурация сети.

Чтобы сократить количество подстановочных знаков в брандмауэре, разрешите вместо этого следующие хосты Anthropic. Некоторые поддомены генерируются динамически и должны оставаться с подстановочными знаками.

anthropic.com
api.anthropic.com
a-api.anthropic.com
a-cdn.anthropic.com
s-cdn.anthropic.com
assets-proxy.anthropic.com
claude.ai
a.claude.ai
assets.claude.ai
downloads.claude.ai
*.livepreview.claude.ai
claude.com
platform.claude.com
sso.claude.com
*.livepreview.claude.app
*.claudeusercontent.com
*.claudemcpcontent.com

Если в вашей организации для Claude включён список разрешённых IP-адресов, направляйте bridge.claudeusercontent.com через тот же исходящий адрес прокси, что и claude.ai и api.anthropic.com. Если так направить трафик невозможно, добавьте исходящий адрес, который ваш прокси использует для этого хоста, в список разрешённых IP-адресов вашей организации, но только если этот адрес выделен исключительно вашей организации: общий диапазон исходящих адресов прокси пропускает и других клиентов поставщика прокси.

Anthropic проверяет подключения к этому хосту по списку разрешённых IP-адресов вашей организации, используя адрес, с которого они поступают. Если ваш прокси отправляет трафик к нему через адрес, которого нет в этом списке разрешённых, Claude в Chrome и другие функции, подключающиеся через мост, перестают работать, тогда как остальная часть приложения продолжает работать.

Артефакт, который загружает шрифт из Google Fonts, также обращается к fonts.googleapis.com и fonts.gstatic.com. Оба хоста необязательны. Если вы их заблокируете, артефакты будут отображаться резервными шрифтами. Блокируйте их с быстрым отклонением, а не с молчаливым отбрасыванием, чтобы запрос шрифта сразу завершался ошибкой, а не задерживал первую отрисовку страницы.

Артефакты также могут загружать библиотеки JavaScript, такие как React или пакет для построения диаграмм, с cdnjs.cloudflare.com, cdn.jsdelivr.net, cdn.tailwindcss.com, code.jquery.com и unpkg.com и ни с каких других внешних хостов. Если вы заблокируете эти хосты, части артефакта, зависящие от библиотеки, не будут работать, и, в отличие от заблокированного шрифта, у заблокированной библиотеки нет резервного варианта. Здесь также блокируйте с быстрым отклонением, чтобы заблокированный запрос библиотеки сразу завершался ошибкой, а не зависал до истечения времени ожидания.

Аутентификация и SSO

Организации Team и Enterprise могут требовать SSO для всех пользователей. Сведения на уровне планов см. в разделе аутентификация, а конфигурацию SAML — в статье Setting up SSO; настройка OIDC описана в Claude Enterprise Administrator Guide.

Обработка данных

Claude Code обрабатывает ваш код локально в локальных сессиях или, в облачных сессиях, на инфраструктуре под управлением Anthropic, если только ваша организация не направляет их в самостоятельно размещённое окружение. Облачные сессии, в том числе в самостоятельно размещённом окружении, отправляют диалоги и контекст кода в API Anthropic для обработки; локальные и SSH-сессии отправляют их тому поставщику моделей, который настроен в вашем развёртывании, по умолчанию — в API Anthropic. Подробнее о хранении данных, конфиденциальности и соответствии требованиям см. обработка данных.

Развёртывание

Desktop можно распространять с помощью корпоративных инструментов развёртывания:

  • macOS: распространяйте через MDM, например Jamf или Kandji, с помощью установщика .dmg
  • Windows: развёртывайте с помощью пакета MSIX. Варианты корпоративного развёртывания, включая тихую установку, см. в статье Deploy Claude Desktop for Windows

Домены, которые нужно добавить в список разрешённых в брандмауэре, перечислены выше в разделе требования к доступу к сети. О настройках прокси, пользовательских центрах сертификации и LLM-шлюзах см. конфигурация сети.

Полный справочник по корпоративной конфигурации см. в руководстве по корпоративной конфигурации.

Переходите из CLI?

Если вы уже используете Claude Code CLI, Desktop работает на том же движке, но с графическим интерфейсом. Вы можете запускать оба одновременно на одном компьютере, даже в одном проекте. Каждый из них ведёт собственный список сессий, и вы можете перенести сессию CLI в Desktop. Они используют общую конфигурацию и память проекта через файлы CLAUDE.md.

Чтобы перенести сессию CLI в Desktop, выполните /desktop в терминале. Claude сохраняет вашу сессию, открывает её в настольном приложении, а затем завершает работу CLI. Эта команда доступна на macOS и Windows x64, если вы вошли с подпиской Claude. Она недоступна при аутентификации с помощью API-ключа, а также в Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry.

Из оболочки команда claude --desktop открывает Desktop напрямую, не запуская сессию в терминале. Для неё требуется Claude Code v2.1.285 или новее, и к ней применяются те же требования к платформе и входу, что и к /desktop. Без других аргументов она открывает Desktop в текущем каталоге. Чтобы открыть существующую сессию CLI в Desktop, добавьте --continue для самого последнего диалога в этом каталоге или --resume с идентификатором сессии, который показывает /status:

claude --desktop --resume <session-id>

Claude Code выводит Opening session <session-id> in Claude Desktop, сессия открывается в приложении, и команда завершается. Имя сессии вместо идентификатора не подходит. Claude Code не переносит сессию, которая открыта в другом терминале или всё ещё выполняется в фоне. Если Claude Desktop не установлен, команда выводит ссылку для загрузки и завершается.

Вы также можете продолжить сессию CLI изнутри Desktop с помощью /resume. Команда доступна в локальных сессиях, но не в сессиях SSH, WSL или облачных сессиях.

Чтобы продолжить сессию терминала в Desktop:

  1. Закройте сессию в терминале.
  2. В поле промпта Desktop введите /resume. Desktop покажет список сессий, которые вы запускали из CLI на этом компьютере. Ищите по названию, папке или ветке и просматривайте, на чём остановилась каждая из них.
  3. Выберите сессию. Она продолжится в приложении со всем диалогом и контекстом.

Desktop продолжает ту же сессию, а не её копию, поэтому claude --resume в терминале по-прежнему находит её впоследствии.

[!TIP]

Когда использовать Desktop, а когда CLI: используйте Desktop, если хотите управлять параллельными сессиями в одном окне, располагать панели рядом или визуально просматривать изменения. Используйте CLI, если вам нужны скрипты, автоматизация или вы предпочитаете работать в терминале.

Эквиваленты флагов CLI

В этой таблице показаны эквиваленты распространённых флагов CLI в настольном приложении. Флаги, которых нет в списке, не имеют эквивалента в Desktop, поскольку предназначены для скриптов или автоматизации.

CLI Эквивалент в Desktop
--model sonnet Выбор модели в строке под полем промпта
--resume, --continue Нажмите на сессию в боковой панели или введите /resume в поле промпта, чтобы продолжить сессию, запущенную из CLI
--permission-mode Выбор режима в строке под полем промпта
--dangerously-skip-permissions Режим обхода разрешений. На тарифах Pro, Max и Ultra включите «Allow bypass permissions mode» в Settings > Code или Settings > Claude Code; на тарифах Team и Enterprise им управляет политика организации
--add-dir Добавьте папки в сессию в локальных сессиях и сессиях SSH или выберите несколько репозиториев в облачной сессии
--allowedTools, --disallowedTools Эквивалента на уровне сессии нет. Правила разрешений в файлах настроек по-прежнему применяются.
--verbose Подробный режим просмотра
--print, --output-format Недоступно. Desktop работает только в интерактивном режиме.
Переменная окружения ANTHROPIC_MODEL Выбор модели в строке под полем промпта
Переменная окружения MAX_THINKING_TOKENS См. Отключение расширенного мышления

Общая конфигурация

Desktop и CLI читают одни и те же файлы конфигурации, поэтому ваша настройка переносится:

  • Файлы CLAUDE.md и CLAUDE.local.md в вашем проекте используются обоими
  • MCP-серверы, настроенные в ~/.claude.json или .mcp.json, работают в обоих
  • Хуки и скиллы, определённые в настройках, применяются к обоим
  • Настройки в ~/.claude.json и ~/.claude/settings.json являются общими. Правила разрешений, разрешённые инструменты и другие настройки в settings.json применяются к сессиям Desktop. Некоторые ключи ведут себя иначе во вкладке Code.
  • Модели: в обоих доступны одни и те же модели. В Desktop выберите модель в списке выбора модели в строке под полем промпта. Вы можете сменить модель посреди сессии в том же списке.

MCP-серверы из чат-приложения Claude Desktop

Приложение Desktop загружает MCP-серверы из claude_desktop_config.json в локальные сессии вкладки Code наряду с серверами из ~/.claude.json и .mcp.json. Сервер, определённый в claude_desktop_config.json, доступен как в чат-интерфейсе Desktop, так и в локальных сессиях вкладки Code.

Если вы определите одно и то же имя сервера в claude_desktop_config.json и в ~/.claude.json или .mcp.json, вкладка Code в локальных сессиях подключится один раз и будет использовать определение из claude_desktop_config.json.

Приложение также повторно передаёт stdio-серверы из ~/.claude.json встроенному CLI в локальных сессиях. Если на верхнем уровне ~/.claude.json (область действия пользователя) и в .mcp.json определено одно и то же имя stdio-сервера, вкладка Code использует определение из ~/.claude.json, отступая от иерархии областей действия CLI.

[!NOTE]

Автономный CLI не читает claude_desktop_config.json. На macOS и в WSL выполните claude mcp add-from-claude-desktop, чтобы скопировать эти серверы в ~/.claude.json. Описание процесса импорта и вариантов области действия см. в разделе Импорт MCP-серверов из Claude Desktop.

Сравнение возможностей

В этой таблице сравниваются основные возможности CLI и Desktop. Полный список флагов CLI см. в справочнике по CLI.

Возможность CLI Desktop
Режимы разрешений Все режимы, включая dontAsk Manual, Accept edits, Plan и Auto. Режим Bypass permissions появляется в выборе режима после включения: через переключатель в Settings на тарифах Pro, Max и Ultra или через политику организации на тарифах Team и Enterprise
Сторонние провайдеры Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry По умолчанию API Anthropic. О маршрутизации через шлюз см. подключение настольного приложения к шлюзу. Чтобы запускать вкладку Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или на самостоятельно размещённом LLM-шлюзе, см. Claude Desktop on 3P.
MCP-серверы Настройка в файлах настроек Интерфейс коннекторов для локальных сессий и сессий SSH или файлы настроек
Плагины Команда /plugin Интерфейс менеджера плагинов
Упоминание файлов через @ Текстовое С автодополнением, кроме первого сообщения облачной сессии
Вложения файлов Недоступно Изображения, PDF
Изоляция сессий Флаг --worktree Запуск сессии в собственном worktree
Несколько сессий Отдельные терминалы Вкладки боковой панели
Повторяющиеся задачи Задания cron, CI-конвейеры Запланированные задачи
Управление компьютером Включение через /mcp на macOS Управление приложениями и экраном на macOS и Windows
Симулятор iOS Управление симулятором через управление компьютером Панель iOS Simulator открывается автоматически
Интеграция с Dispatch Недоступно Сессии Dispatch в боковой панели
Скрипты и автоматизация --print, Agent SDK Недоступно

Что недоступно в Desktop

Следующие возможности недоступны в Desktop, за исключением указанных случаев:

  • Сторонние провайдеры: по умолчанию Desktop подключается к API Anthropic. Чтобы направить Desktop через шлюз или запускать вкладку Code на Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry или на самостоятельно размещённом LLM-шлюзе, перейдите по ссылкам в строке «Сторонние провайдеры».
  • Linux (бета): Computer Use пока недоступен в настольном приложении для Linux. См. Claude Desktop в Linux.
  • Встроенные подсказки кода: Desktop не предлагает автодополнение кода. Он работает через диалоговые промпты и явные изменения кода и может предложить ваш следующий промпт после ответа Claude.
  • Команды агентов: скоординированные команды агентов, в которых Claude в роли лидера команды назначает задачи участникам команды из общего списка задач, доступны в CLI, но не в Desktop. Для многоагентной работы внутри одной сессии используйте динамические рабочие процессы, которые работают в Desktop; Claude также может напрямую отправлять сообщения вашим другим сессиям и управлять ими.
  • Команды с диалоговыми окнами терминала: встроенные команды, открывающие интерактивную панель в терминале, во вкладке Code ведут себя иначе. Редактируйте файлы настроек напрямую, чтобы управлять правилами разрешений и конфигурацией, или выполняйте эти команды в автономном CLI.
    • Команды, которые не принимают аргументов, например /permissions, отвечают сообщением isn't available in this environment.
    • /config открывает Settings > Code или Settings > Claude Code.

Устранение неполадок

Разделы ниже охватывают проблемы, специфичные для приложения desktop. Для ошибок API времени выполнения, которые появляются в чате, такие как API Error: 500, 529 Overloaded, 429 или Prompt is too long, см. справочник ошибок.

Проверка вашей версии

Чтобы увидеть, какую версию приложения desktop вы запускаете:

  • macOS: нажмите Claude в строке меню, затем About Claude
  • Windows: нажмите Help, затем About Claude

Нажмите на номер версии, чтобы скопировать его в буфер обмена.

Версия Claude Code на вкладке Code

Чтобы узнать, какую версию Claude Code запускает сессия, введите /status в локальной сессии на вкладке Code и посмотрите строку Claude Code, в которой отображается версия, например 2.1.286.

Чтобы получить более новую версию для локальных сессий, откройте Claude > Check for Updates… на macOS или Help > Check for Updates… на Windows, затем запустите новую сессию.

В локальной сессии вкладка Code запускает собственную копию Claude Code, у которой свой номер версии. Приложение desktop загружает и обновляет эту копию, поэтому её версия может отличаться от команды claude в вашем терминале, и обновление одной не обновляет другую.

Проверка используемого макета

Если в новой сессии окружение отображается над полем ввода промпта, а не под ним, у вас более ранний макет:

  • Desktop версии ниже v2.37337.0: обновите приложение, чтобы получить текущий макет. Выберите Claude > Check for Updates… на macOS или Help > Check for Updates… на Windows.
  • Сторонний провайдер с сессиями на вашем компьютере: для текущего макета требуется Claude Desktop v3.1623.0 или новее, поэтому проверьте вашу версию. Чтобы обновить приложение, выберите Claude > Check for Updates… на macOS или Help > Check for Updates… на Windows. Если ваша организация отключает автообновления, пункт Check for Updates… скрыт, поэтому запросите у администратора v3.1623.0 или новее.
  • Сторонний провайдер с сессиями в инфраструктуре вашей организации: для текущего макета требуется Claude Desktop v4.29.0 или новее, поэтому проверьте вашу версию. Если у вас более старая версия, запросите у администратора v4.29.0 или новее. Если вы не знаете, где выполняются ваши сессии, обратитесь к администратору.

В более раннем макете окружение и папка проекта или репозиторий выбираются над полем ввода промпта, а режим разрешений и модель — в строке под ним. В более раннем макете нет панели сведений о сессии и сохранённых локальных и SSH-окружений.

Ошибки 403 или аутентификации на вкладке Code

Если вы видите Error 403: Forbidden или другие сбои аутентификации при использовании вкладки Code:

  1. Выйдите и снова войдите из меню приложения. Это наиболее частое исправление.
  2. Проверьте, что у вас есть активная платная подписка: Pro, Max, Ultra, Team или Enterprise.
  3. Если CLI работает, но Desktop нет, полностью закройте приложение desktop, не просто закрывайте окно, затем снова откройте и войдите.
  4. Проверьте ваше интернет-соединение и параметры прокси.

Пустой или зависший экран при запуске

Если приложение открывается, но показывает пустой или неответный экран:

  1. Перезагрузите приложение.
  2. Проверьте наличие ожидающих обновлений. На macOS и Windows приложение автоматически обновляется при запуске; на Linux обновите через apt, как описано в Claude Desktop на Linux.
  3. На управляемой сети убедитесь, что ваш брандмауэр разрешает хосты CDN в требованиях к сетевому доступу.
  4. На Windows проверьте Event Viewer на логи сбоев под Windows Logs → Application.

"Failed to load session"

Если вы видите Failed to load session, выбранная папка может больше не существовать, Git-репозиторий может требовать Git LFS, который не установлен, или разрешения файлов могут предотвратить доступ. Попробуйте выбрать другую папку или перезагрузить приложение.

Сеанс не находит установленные инструменты

Если Claude не может найти инструменты, такие как npm, node или другие команды CLI, проверьте, что инструменты работают в вашем обычном терминале, проверьте, что ваш профиль оболочки правильно устанавливает PATH, и перезагрузите приложение desktop для перезагрузки переменных окружения.

Ошибки Git и Git LFS

Сеансы, которые работают в собственном worktree, требуют Git. Если вы видите "Git is required," установите Git, или Git для Windows на Windows, и попробуйте снова. На Windows версии Claude Desktop до 1.49585.0 запрашивали Git перед запуском любого локального сеанса; если вы видите это приглашение и не используете worktrees, обновите приложение.

Если вы видите "Git LFS is required by this repository but is not installed," установите Git LFS из git-lfs.com, запустите git lfs install и перезагрузите приложение.

MCP servers не работают на Windows

Если переключатели MCP server не реагируют или серверы не подключаются на Windows, проверьте, что сервер правильно настроен в ваших параметрах, перезагрузите приложение, проверьте, что процесс сервера работает в Task Manager, и проверьте логи сервера на ошибки подключения.

SSH host key verification failed

Каждое из этих сообщений означает, что Desktop отклонил ключ хоста:

  • SSH host key verification failed или Host denied (verification failed) в разделе View details на карточке Couldn't connect to <host>
  • Connection failed: Host key changed or not trusted рядом с полем ввода промпта или после Test connection
  • <host>'s host key is not trusted или <host>'s host key has changed в отключённой сессии

Обычно Desktop отклоняет ключ, потому что он отличается от ключа, сохранённого на вашем компьютере, или потому что для этой машины ключ не сохранён. Машина, которую пересобрали или переустановили, обычно предъявляет новый ключ; так же ведёт себя и то, что перехватывает подключение. Проверьте ключ, прежде чем подключаться снова, начиная с того, что Desktop показывает вместе с сообщением:

  • Вы используете Windows, и Desktop сообщает Connection failed: Host key changed or not trusted: сначала исключите отсутствие клиента OpenSSH
  • Desktop предлагает задать UserKnownHostsFile: в ~/.ssh/config задайте для него значение ~/.ssh/known_hosts, затем проверьте ключ из терминала
  • Вы видите кнопку Review new key: выберите её и сравните отпечаток, который показывает Desktop, с собственным отпечатком машины. Если они совпадают, выберите Trust new key, чтобы заменить сохранённый ключ. В противном случае выберите Cancel.
  • Кнопки Review new key нет, Desktop показывает Couldn't show the new key или Desktop снова отклоняет ключ после Trust new key: проверьте ключ из терминала

Проверка ключа хоста из терминала

Выполните ssh <SSH host> на своём компьютере, подставив значение SSH host вашего SSH-подключения в Desktop. Добавьте -p <SSH port>, если у подключения задано значение SSH port. В Windows используйте PowerShell, поскольку Desktop не подключается через ssh из Git Bash или WSL. Если PowerShell не находит ssh, установите клиент OpenSSH от Microsoft.

Обратите внимание, какую машину ssh называет в своём сообщении (это может быть jump-хост, а не <SSH host>), затем следуйте подходящему случаю:

  • ssh спрашивает, продолжать ли подключение: сравните отпечаток, который он показывает, с собственным отпечатком этой машины. Отвечайте yes, только если они совпадают.
  • ssh предупреждает, что ключ хоста изменился: сравните отпечаток из предупреждения с собственным отпечатком этой машины. Только если они совпадают, удалите строку, которую указывает Offending <type> key in <file>:<line>, и снова выполните ssh. Если ssh снова предупреждает о другой строке, так же сравните, удалите и снова выполните команду.
  • ssh отклоняет неизвестный ему ключ, ничего не спрашивая: получите строку known_hosts этой машины у того, кто ею управляет, но не через проверяемое подключение. Добавьте строку в свой файл known_hosts, указав в качестве имени хоста имя из сообщения ssh, и снова выполните ssh.
  • ssh переходит к входу, не спрашивая о ключе хоста: пока не вводите пароль. Проверьте ключи, которым ssh уже доверяет.

Как только ssh примет проверенный или добавленный вами ключ, повторите попытку в Desktop. Если Desktop снова отклонит ключ, см. Получение логов Desktop для проблемы с SSH.

Проверка ключей, которым ssh уже доверяет

Снова выполните ту же команду ssh, добавив -v -S none. В её выводе строка Server host key: показывает отпечаток, а следующая строка Host '<name>' is known называет машину, которой он принадлежит. Сравните каждый найденный отпечаток с собственным отпечатком этой машины.

  • Для jump-хоста нет строки Server host key:: выполните также ssh -v -S none <jump host> и сравните этот отпечаток тем же способом.
  • Отпечаток не совпадает или вы не можете его проверить: не подключайтесь снова. Удалите сохранённый ключ: под Host '<name>' is known строка Found key in <file>:<line> указывает файл, в котором он хранится. Выполните ssh-keygen -R "<name>" -f <file>. Если вы храните ключи хостов в нескольких файлах, удалите ключ из каждого. Если вы не можете изменить файл, сообщите тому, кто управляет вашим компьютером.
  • Все отпечатки совпадают: повторите попытку в Desktop. Если Desktop снова отклонит ключ, см. Получение логов Desktop для проблемы с SSH.

Ключ хоста SSH отклоняется в Windows без клиента OpenSSH

В Windows без клиента OpenSSH Desktop отклоняет даже правильный ключ хоста с сообщением Connection failed: Host key changed or not trusted. Клиент нужен ему для поиска сохранённых ключей. Чтобы узнать, есть ли он у вас, выполните ssh в PowerShell. Если PowerShell не распознаёт ssh, установите клиент OpenSSH от Microsoft и перезапустите Desktop.

Затем подключитесь снова. Если Desktop спрашивает, подключаться ли в первый раз, проверьте ключ хоста машины, прежде чем доверять ему. Если Desktop по-прежнему отклоняет ключ, следуйте остальным случаям в разделе SSH host key verification failed.

SSH-подключение не удаётся после входа

Найдите в этой таблице заголовок карточки или код, которым заканчивается сообщение об ошибке, затем выполните действие из последнего столбца. Чтобы увидеть сообщение, выберите View details на карточке сбоя.

Заголовок на карточке Код Что делать
<host>'s SSH server has SFTP turned off [SFTP_UNAVAILABLE] Включите SFTP в sshd_config сервера, как описано в разделе требования к удалённой машине
SFTP doesn't start on <host> [SFTP_NOT_STARTED] Подключитесь к тому же хосту с помощью sftp в терминале на вашем компьютере, чтобы увидеть, что мешает запуску, затем проверьте настройки и файлы, указанные в сообщении Desktop
<host> allows too few SSH sessions per connection [SESSION_LIMIT] Обновите Claude Desktop до v3.1623.0 или новее либо увеличьте MaxSessions в sshd_config сервера, например до значения OpenSSH по умолчанию, равного 10
<host> is out of disk space [ENOSPC] или [EDQUOT] Освободите место или квоту на удалённой машине, в вашем домашнем каталоге или в /tmp
Free up disk space on this computer [ENOSPC] или [EDQUOT] в сообщении, которое начинается с Couldn't prepare the deploy locally Освободите место на вашем компьютере
Claude Code won't start on <host> [CLI_UNRESPONSIVE] Подождите минуту, затем повторите попытку. Если сбой повторяется, выполните на удалённой машине команду, указанную в сообщении, чтобы проверить, отвечает ли там Claude Code.
Ask <host>'s administrator to let Claude's server run [SERVER_NOT_RUNNABLE] или [SETUP_DIR_NOEXEC] Попросите администратора удалённой машины разрешить запуск программ из ~/.claude/remote/ на этой машине, как указано в требованиях
Try again in a few minutes [DOWNLOAD_BUSY] Подождите несколько минут, затем повторите попытку. Сервер загрузок Anthropic или прокси в сети вашего компьютера сообщил, что он занят. Если карточка продолжает появляться, спросите администратора этой сети, не ограничивает ли прокси загрузки.

Для любого другого сообщения проверьте требования к удалённой машине.

Получение логов Desktop для проблемы с SSH

Файл ssh.log, в котором Desktop записывает свои SSH-подключения, находится в zip-архиве логов Desktop, который вы сохраняете из меню Help. Чтобы сохранить его, откройте Help > Troubleshooting и выберите пункт для вашей системы:

  • macOS: Show Logs in Finder
  • Windows: Show Logs in File Explorer
  • Linux: Show Logs in File Manager

Просмотрите файлы перед отправкой, поскольку они могут содержать имена и другие детали из вашего окружения. <host> и <user> обозначают имена, которые заменил Desktop. Desktop заменяет не все имена, и имя SSH-хоста или пользователя может всё равно встречаться в исходном виде. Если вы отправляете zip-архив кому-либо, сообщите, какой хост дал сбой и когда, поскольку в логах он может быть не указан.

В zip-архиве нет лога вспомогательной программы, которую Desktop устанавливает на удалённую машину. Чтобы получить и этот лог, скопируйте следующие файлы из каталога вспомогательной программы в ~/.claude/remote/run/ в домашнем каталоге пользователя, который подключался:

  • remote-server.log: лог последнего запуска вспомогательной программы.
  • remote-server.log.old, если он есть: лог предыдущего запуска. Скопируйте его как можно скорее, поскольку он будет потерян при следующем подключении Desktop, когда ему придётся снова запустить вспомогательную программу.

Эти файлы тоже просмотрите перед отправкой.

Приложение не закрывается

  • macOS: нажмите Cmd+Q. Если приложение не реагирует, используйте Force Quit с Cmd+Option+Esc, выберите Claude и нажмите Force Quit.
  • Windows: используйте Task Manager с Ctrl+Shift+Esc, чтобы завершить процесс Claude.

Проблемы, специфичные для Windows

  • PATH не обновлён после установки: откройте новое окно терминала. Обновления PATH применяются только к новым сеансам терминала.
  • Ошибка одновременной установки: если вы видите ошибку о другой установке в процессе, но её нет, попробуйте запустить установщик от имени администратора.

"Branch doesn't exist yet" при открытии в CLI

Облачные сессии могут создавать ветки, которые не существуют на вашей локальной машине. Нажмите на имя ветки в сессии и выберите Copy branch name, затем получите её локально:

git fetch origin <branch-name>
git checkout <branch-name>

Всё ещё застряли?

  • Откройте Help → Get Support в приложении desktop или посетите центр поддержки Claude напрямую
  • Для проблем, которые также воспроизводятся в автономном CLI claude, поищите или подайте отчёт об ошибке на GitHub Issues

При подаче отчёта об ошибке включите версию приложения desktop, вашу операционную систему, точное сообщение об ошибке и соответствующие логи. На macOS проверьте Console.app. На Windows проверьте Event Viewer → Windows Logs → Application. Просмотрите отрывки логов перед их публикацией в открытую задачу; они могут включать пути к файлам и другие детали из вашей среды.