Один и тот же агентный core Claude Code доступен через несколько поверхностей, и выбор между ними - это выбор среды и границы доверия, а не просто вкуса. Локальная IDE видит ваши файлы, cloud-сессия работает со свежим клоном, Remote Control управляет локальным хостом. Поэтому вопрос не "какой UI приятнее", а "где именно должна выполняться эта задача и что она увидит". Правильная поверхность экономит и время, и риск; неправильная - создаёт лишний и то и другое.
VS Code extension даёт нативную интеграцию с редактором. Он приносит нативный ввод, упоминания файлов и папок, контекст выделения, review diff прямо в редакторе, сессии, checkpoints, работу с git и worktree, плагины и встроенный IDE MCP для диагностики редактора. Ставят его из marketplace по имени Claude Code от Anthropic. Настройки расширения имеют префикс claudeCode; важно помнить, что CLI и extension делят проектные файлы, но UI-состояние и часть горячих клавиш - отдельные.
Отсюда практический flow и одна ловушка. Работают так: открыть доверенный репозиторий, выбрать модель и режим разрешений, приложить выделение или @file вместо копирования больших блоков, отправить контракт задачи, проверять inline-diff и панель Problems, гонять тесты в интегрированном терминале, а checkpoint и rewind использовать лишь как дополнение к git. Ловушка проста: "работает в CLI" не доказывает, что терминал IDE не перехватывает нужное сочетание клавиш раньше Claude Code.
JetBrains-плагин интегрируется со своими IDE: передаёт выделение и текущий файл, показывает diff и запускает Claude Code в среде IDE, а переключение режимов в терминальном взаимодействии следует CLI через Shift+Tab. Здесь особенно важна оговорка про версии: список поддерживаемых IDE и версий меняется быстрее любой книги, поэтому перед раскаткой на команду сверяются с официальным списком, а не с тем, что было верно на момент чтения.
Desktop-приложение делает акцент на параллельности и визуальном контроле. Оно объединяет параллельные сессии с git-изоляцией, review и комментарии к diff, терминал, редактор файлов, browser preview, iOS-симулятор, computer use и среды Local, Cloud, SSH и WSL. Каждая беседа - отдельная сессия со своей историей, папкой и изменениями. Перед стартом выбирают среду, папку и репозитории, модель и режим разрешений - и эти четыре выбора задают, в каких условиях пойдёт работа.
У Desktop есть свои детали конфигурации. Для локальных сессий он читает те же настройки Claude Code; выбранный в UI режим запоминается per-folder и может иметь приоритет над default, а Plan остаётся выбором сессии. На Windows нужен Git for Windows, а на Linux Desktop пока в бете и ставится отдельно по официальной инструкции. Это важно помнить при раскатке: одна и та же политика проекта действует, но платформенные требования у поверхностей разные.
Полезно один раз свести задачи и подходящие поверхности в таблицу, чтобы выбирать по задаче, а не по привычке. Ниже такая карта: точечная правка рядом с диагностикой редактора - IDE; shell-heavy работа и скрипты - CLI; несколько визуально контролируемых сессий и preview приложения - Desktop; долгая задача без локального хоста - web; продолжение локальной сессии с телефона - Remote Control. У каждой задачи своя естественная поверхность.
| Задача | Поверхность |
|---|---|
| Точечная правка рядом с диагностикой редактора | VS Code / JetBrains |
| Shell-heavy работа и scripting | CLI |
| Несколько визуальных сессий и preview приложения | Desktop |
| Долгая задача без локального host | Web / cloud |
| Продолжить локальную session с телефона | Remote Control / mobile |
Инженерный вывод важнее выбора конкретного UI: стандартизируйте контракт репозитория и политику, а не любимую оболочку. Хорошие CLAUDE.md, settings, тесты и skills должны работать в нескольких поверхностях одинаково, а UI-специфичная инструкция живёт отдельно. Типичный провал - завязать процесс команды на особенности одной оболочки, из-за чего он ломается при переходе на другую. Держите переносимым то, что определяет поведение агента, и меняйте поверхность свободно под задачу.