Как разделить корпоративный и личный Claude Code на одном компьютере

Habr AI · оригинал

Материал подготовлен автоматизированной редакционной системой. Факты можно сверить по указанному первоисточнику.

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

Четкое разделение контекстов критично для соблюдения корпоративных политик безопасности и конфиденциальности личных проектов. Автоматизация переключения снижает вероятность человеческой ошибки при работе с чувствительными данными.

Использование двух аккаунтов Claude Code — корпоративного и личного — на одном рабочем месте создает ряд организационных сложностей. Рабочий код должен обрабатываться через официальный канал компании, тогда как личные проекты нежелательно связывать с корпоративной историей или ресурсами работодателя. Ручное переключение через команды /logout и /login в терминале неудобно и повышает риск ошибки. Автор материала предлагает решение, основанное на изоляции конфигурационных файлов, которое позволяет системе автоматически выбирать нужный аккаунт в зависимости от открытого проекта.

Ключом к решению служит переменная окружения CLAUDE_CONFIG_DIR. По умолчанию Claude Code хранит пользовательские данные в папке ~/.claude и файле ~/.claude.json. Если задать эту переменную, программа будет искать конфигурацию в указанном месте. Создав отдельную директорию, например ~/.claude-work, и указав на нее через переменную, разработчик получает два полностью независимых экземпляра приложения: каждый со своим аккаунтом, настройками и историей сессий.

Для работы в терминале достаточно создать алиас, который запускает Claude Code с нужной переменной окружения. Например, команда claude-work может быть определена как запуск стандартного бинарника с параметром CLAUDE_CONFIG_DIR, указывающим на рабочую папку. Таким образом, обычный вызов claude использует личный аккаунт, а специализированная команда — корпоративный.

Интеграция с VS Code требует более тщательного подхода, так как расширение само запускает процесс и не учитывает алиасы терминала. Настройка claudeCode.environmentVariables имеет scope machine, что означает невозможность задать ее в локальных настройках проекта (.vscode/settings.json). Это сделано для безопасности: иначе любой склонированный репозиторий мог бы подменить окружение процесса. Поэтому настройку необходимо внести в пользовательские настройки конкретного профиля VS Code.

Автор рекомендует создать отдельный профиль, например «Work», скопировав базовые настройки из профиля Default. В JSON-файле настроек этого профиля нужно добавить массив claudeCode.environmentVariables с абсолютным путем к рабочей директории конфигурации. Важно использовать именно абсолютные пути, так как переменные вроде $HOME или ~ не распознаются расширением и передаются как есть.

Дополнительно необходимо настроить встроенный терминал через параметр terminal.integrated.env.linux (или соответствующий для macOS и Windows). Без этой настройки команда claude, запущенная в терминале внутри VS Code, по-прежнему будет использовать личный аккаунт, что противоречит цели изоляции.

Финальный шаг — привязка рабочих папок к созданному профилю. В разделе Folders & Workspaces настроек профиля добавляются директории с корпоративными проектами. Теперь при открытии любого из этих проектов VS Code автоматически переключается на рабочий профиль, активируя нужный аккаунт Claude Code. Проверить корректность работы можно командой /status в панели расширения или через echo $CLAUDE_CONFIG_DIR в терминале.