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

Это весь механизм целиком, и у него есть полезное свойство. Поскольку аккаунт представляет собой каталог, а не глобальную настройку, два аккаунта означают просто два каталога. Между ними ничего не разделяется. Оба остаются авторизованными сколь угодно долго, и ни один не знает о существовании другого.
Поэтому наивный вариант работает:
# личный
CLAUDE_CONFIG_DIR=~/.claude claude
# рабочий
CLAUDE_CONFIG_DIR=~/.claude-work claude
Выполните /login один раз внутри второго, и у вас два живых аккаунта на одной машине.
Где подход через shell начинает мешать
Вариант в две строки выше вполне годится, если вы открываете по одному терминалу за раз и держите дисциплину. Он перестает годиться по трем причинам, и они накладываются друг на друга.
Переменная живет в процессе, а не на машине. Каждый новый терминал, каждая новая панель, каждый встроенный в редактор shell стартует со значения по умолчанию из вашего профиля. Пропишите export в .zshrc, и вы просто перенесете проблему: теперь вы будете забывать про другой аккаунт.
Ничто не показывает, какой аккаунт активен. Claude Code не печатает аккаунт в своем приглашении. Если открыты два терминала и один из них сидит на рабочем аккаунте, они выглядят одинаково. Момент, когда вы это замечаете, обычно совпадает с моментом, когда вы смотрите на счет.
Это не переживает параллельности. Интересные конфигурации запускают несколько агентов сразу, на нескольких проектах. Как только вы переваливаете за две одновременные сессии, помнить, какая панель была запущена с какой переменной, становится не вопросом дисциплины, а вопросом архитектуры.

Лечение не в том, чтобы добавить еще shell. Лечение в том, чтобы перестать принимать решение в момент запуска и привязать аккаунт к тому, что его на самом деле определяет, то есть к проекту.
Привязывайте аккаунт к проекту, а не к терминалу
Обычно вам нужно правило, а не команда. Что-то вроде: репозиторий этого клиента всегда работает под аккаунтом этого клиента. Как только такое правило существует, запоминать не нужно ничего.
Чтобы сделать это как следует, аккаунт придется разрешать в заданном порядке, потому что у правила бывают исключения. Умолчание на уровне проекта подходит в большинстве случаев, но какому-то конкретному агенту может понадобиться работать в другом месте: одноразовый эксперимент на тестовом аккаунте или ревью-агент на месте с большей квотой.

Читаем сверху вниз, побеждает первое подошедшее правило. Переопределение агента бьет закрепление за проектом. Закрепление за проектом бьет то, что вы задали как общее умолчание. Если нигде ничего не настроено, вы оказываетесь в ~/.claude, то есть ровно там, где и так оказывается свежая установка. Этот последний запасной вариант важен: он означает, что добавление такой схемы к существующей конфигурации не меняет ничего, пока вы явно что-нибудь не закрепите.
Именно эту модель реализует AgentsRoom. Каждый аккаунт представляет собой управляемый каталог, вход происходит внутри приложения, а не в shell, а описанное выше разрешение отрабатывает при запуске агента, выставляя CLAUDE_CONFIG_DIR только для этого процесса. Если вы уже пользуетесь сторонним переключателем вроде CCS, можно указать аккаунту существующий каталог профиля вместо повторного входа.
Та же проблема есть в Codex, только переменная другая
Если вы работаете больше чем с одним провайдером, вы столкнетесь с этим дважды. Форма проблемы одинаковая, а переменная нет, поэтому переключатель, сделанный под один провайдер, не покрывает другой. Сторону Codex мы документируем отдельно, в разделе мультиаккаунт для Codex, включая то, чем отличается процесс входа.
Общий вывод стоит сформулировать один раз: изоляция аккаунтов работает на уровне отдельного провайдера. Любой инструмент, который заявляет, что решает это глобально, либо оборачивает каждый провайдер по отдельности, либо поддерживает всего один.
Знайте, какой аккаунт на самом деле жжет токены
Разделение аккаунтов дает лишь половину выгоды, ради которой все это затевается. Вторая половина в том, чтобы понимать, куда ложится потребление, особенно когда платит клиент.
Именно эта часть тихо ломается при подходе через shell. Счетчики потребления, которые смотрят только в ~/.claude, начинают занижать цифры в тот момент, когда агент работает где-то еще, а цифры при этом выглядят достаточно правдоподобно, чтобы никто не заметил подвоха неделями. Счетчик, который знает про аккаунты, обязан обходить все настроенные каталоги, а не только каталог по умолчанию.
Если вам нужны цифры по каждому аккаунту и по каждой сессии, измерительную часть мы разобрали в статье как проверить использование токенов Claude Code, а живое представление находится на странице использования токенов.
Для чего это не предназначено
Одно уточнение, потому что вопрос возникает регулярно и заслуживает прямого ответа, а не молчания.
Все написанное выше касается разделения аккаунтов, которые уже существуют на законных основаниях. Место в подписке, которое оплачивает работодатель, и личная подписка, которую оплачиваете вы, представляют собой два разных коммерческих отношения, и держать их на одной машине без взаимного загрязнения совершенно нормальная и обыденная потребность. Такая же нормальная потребность выставлять токены клиента этому клиенту и держать экспериментальный аккаунт подальше от боевого.
Создание дополнительных аккаунтов ради обхода ограничений по емкости вашего тарифа совсем другая история, и именно против нее направлены политики использования. Описанный здесь механизм не делает такую практику приемлемой, а инструмент, который бы ее автоматизировал, помогал бы вам нарушить соглашение, которое вы подписали. Если второй аккаунт существует потому, что за него платит кто-то другой, вы на твердой почве. Если он существует ради сброса лимита скорости, то нет. Ориентиром служат политики использования Anthropic, а не эта статья.
Вопросы, которые задают на практике
Можно ли использовать два аккаунта Claude Code на одном компьютере?
Да. Claude Code читает учетные данные, метаданные сессий и историю по проектам из каталога, на который указывает CLAUDE_CONFIG_DIR, а по умолчанию это ~/.claude. Направьте эту переменную на второй каталог и выполните вход там, и вы получите два независимых аккаунта на одной машине. Между двумя каталогами ничего не разделяется, поэтому оба остаются авторизованными одновременно.
Как переключать аккаунты Claude Code, не выходя из текущего?
Выходить не нужно вообще. Выход и повторный вход задействуют тот же самый каталог, поэтому вы теряете первую сессию ради второй. Вместо этого дайте каждому аккаунту собственный каталог конфигурации и выбирайте между ними, задавая CLAUDE_CONFIG_DIR при запуске CLI. Оба набора учетных данных остаются валидными на диске, а переключение ничего не стоит.
Где Claude Code хранит данные для входа?
В каталоге, на который указывает CLAUDE_CONFIG_DIR, а это ~/.claude, пока вы не поменяете значение. Сами учетные данные лежат в файле .credentials.json внутри этого каталога, рядом с метаданными сессий и историей по проектам. Этот единственный каталог и есть весь аккаунт целиком, поэтому его подмена работает как честное переключение, а не как хак.
Могут ли два агента одновременно работать под разными аккаунтами Claude?
Да, если каждый процесс агента получает собственный CLAUDE_CONFIG_DIR в своем окружении. Переменная читается на уровне процесса при запуске, а не глобально, поэтому два агента, запущенные с разными значениями, параллельно работают под разными аккаунтами. Именно это позволяет держать рабочий и личный проект открытыми в одном окне.
Нарушает ли условия Anthropic наличие нескольких аккаунтов Claude?
Иметь отдельные аккаунты для разных целей совершенно обычно. Место в подписке, которое оплачивает работодатель, и личная подписка, которую оплачиваете вы, представляют собой два разных коммерческих отношения. Политики использования направлены против другого, против создания аккаунтов ради обхода ограничений по емкости вашего тарифа. Если второй аккаунт существует потому, что за него платит кто-то другой, вы на твердой почве. Если он существует ради сброса лимита скорости, то нет. Ориентиром служат политики использования Anthropic.
Коротко
Claude Code хранит аккаунт в виде каталога, а CLAUDE_CONFIG_DIR решает, какой из них активен. Два каталога означают два аккаунта, постоянно авторизованных, без единого общего элемента между ними.
Вариант через shell работает ровно до того момента, когда у вас открыт больше чем один терминал. Дальше вам нужно, чтобы аккаунт стал свойством проекта, с переопределением на уровне агента для исключений, чтобы правильные учетные данные подставлялись в момент запуска и никому ничего не приходилось запоминать.
Скачать AgentsRoom
Запускай ИИ-агентов (Claude, Codex, Antigravity CLI, OpenCode, Aider, Grok Build, Mistral Vibe, Kimi Code) на всех проектах из одного окна.
Приложение-компаньон: следите за агентами на ходу
Используйте Claude, Codex, Antigravity CLI или другого поставщика AI.
Отправляйте баги и запросы прямо в ваш публичный бэклог.
Взгляд на AgentsRoom в действии.
Читать далее
Claude теперь ставит водяной знак на свои ответы. Вашего кода это почти не касается.
Anthropic начала помечать вывод Claude. Что именно маркируется, почему сгенерированный код почти не затронут, кто может это обнаружить и почему SEO не меняется.
Читать статьюВ сессии Claude Code срабатывает 30 событий хуков. Ответить могут только 3.
Полный список событий хуков в Claude Code: когда срабатывает каждое, какие 15 умеют блокировать и правило stdout, которое молча съедает вывод большинства хуков. Практический справочник, собранный на хуках, работающих в продакшене в тысячах сессий агентов.
Читать статьюДоска обратной связи для ИИ-агентов: пусть промпт пишут ваши пользователи
Инструменты обратной связи собирают запросы. Реализовать их не умеет ни один. Когда доска, куда пишут пользователи, и доска, с которой работают кодинг-агенты, это один объект, этап переписывания просто исчезает.
Читать статью