ccam и другие переключатели аккаунтов Claude Code
Эта страница переведена с английского машинным способом. Исправления приветствуются. Редактировать эту страницу на GitHub
На этой странице
Инструменты для переключения аккаунтов Claude Code используют один из двух подходов. Большинство подменяют данные входа внутри единственной папки ~/.claude, поэтому одновременно активен только один аккаунт. Другие, в том числе ccam, дают каждому аккаунту собственную папку через CLAUDE_CONFIG_DIR, поэтому все аккаунты остаются авторизованными и несколько из них могут работать одновременно. ccam добавляет к этому общие настройки и MCP-серверы и умеет продолжить разговор в папке другого аккаунта.
Подменять один вход или завести отдельные папки?
При подмене входа остаётся один набор настроек, MCP-серверов и истории, потому что папка всего одна. Переключение происходит быстро, и работающий сеанс может подхватить новый вход. Но активен только один аккаунт за раз, сразу для всех терминалов и редакторов.
Чтобы подменить вход, инструмент хранит копию данных входа каждого другого аккаунта и записывает её на место. Обновляя вход, Claude Code заменяет в нём токен обновления, поэтому каждую сохранённую копию приходится согласовывать с работающими сеансами. Аккаунты, которые после переключения оказываются разлогинены или снова требуют /login, — одна из проблем, которые эти проекты исправляют чаще всего.
Отдельные папки — это способ, описанный в документации Claude Code. Каждый аккаунт остаётся авторизованным, и можно запустить рабочий и личный сеансы рядом. Данные входа каждого аккаунта остаются в его папке, где Claude Code обновляет их как обычно. Цена в том, что у каждой папки изначально свои настройки, MCP-серверы и история, если только инструмент не сделает их общими.
Сравнение инструментов
Данные взяты из документации и исходного кода каждого проекта 20 октября 2026 года (clausona: v0.12.0-beta). «Не описано» значит, что проект об этом не сообщает, а не что функции нет.
| Инструмент | Подход | Несколько аккаунтов одновременно | Использование за 5 часов и за неделю | Когда достигнут лимит | Платформы |
|---|---|---|---|---|---|
| ccam | Отдельные папки | Да | Да, ccam usage |
Вы выполняете ccam next --auto --continue, чтобы продолжить разговор в аккаунте с наибольшим запасом; ccam --fallback сам перезапускает там задания -p, а ccam pick распределяет рабочие процессы |
Linux, macOS, Windows |
| claude-swap | Подменяет вход; отдельные папки через cswap run |
Да, через cswap run |
Да | cswap auto переключает вход при достижении порога; работающий сеанс продолжается |
Linux, macOS, Windows |
| CCS | Отдельные папки | Да | Частично | Пулы аккаунтов передают запросы следующему аккаунту через локальный прокси | Linux, macOS, Windows |
| clausona | Отдельные папки | Да | Да | Маршруты перед каждым запуском выбирают аккаунт с оставшейся квотой, могут ждать сброса и раздают рабочим процессам разные аккаунты | Linux, macOS, Windows |
| clauth | Подменяет вход; отдельные папки через clauth start |
Да, через clauth start |
Да | Переключается по цепочке резервных аккаунтов | Linux, macOS, Windows |
| CAAM | Подменяет вход или изолированные профили | Да, с изолированными профилями | Да | caam run повторяет неинтерактивные команды в другом аккаунте |
Linux, macOS, Windows |
| cux | Подменяет вход и оборачивает claude |
Нет, один активный аккаунт | Да | Подменяет вход и возобновляет тот же разговор | Linux, macOS, Windows |
| CCSwitcher | Подменяет вход | Нет | Да | Переключение при достижении порога по желанию | macOS |
| Claude Switcher | Подменяет вход | Нет | Да | Переключение при 100% по желанию | macOS |
ccswap — это форк claude-swap, который также управляет входами в Codex. claude-account, claude-multiprofile и claude-code-profiles тоже дают каждому аккаунту собственную папку. Некоторые из этих инструментов работают и с другими агентами для программирования, например Codex или Gemini.
Как они устроены
| Инструмент | Язык | Пока работает Claude Code | Копирует данные входа между местами | Что аккаунты могут делать общим |
|---|---|---|---|---|
| ccam | Go, один статический бинарный файл | Ничего: ccam заменяет себя на claude (в Windows, где это невозможно, он ждёт его завершения) |
Нет | Каждый элемент отдельно: локально или в именованной группе, для каждого аккаунта |
| claude-swap | Python 3.12+, устанавливается через uv или pipx | Ничего при cswap run; cswap auto и приложение в строке меню продолжают работать |
Да, когда подменяет вход | При cswap run: настройки, CLAUDE.md и расширения вместе, история по желанию; MCP-серверы копируются при каждом запуске |
| CCS | Node.js 18+ или Bun | CCS остаётся родительским процессом; пулы добавляют локальный прокси | Нет для своих папок аккаунтов; у пулов собственные данные входа | Общие или локальные для каждого аккаунта, история в группах контекста; MCP-серверы копируются |
| clausona | TypeScript, Node.js 20+ | Обычный claude запускается через функцию оболочки; clausona run оставляет Node родительским процессом; после каждого выхода работает фоновый процесс Node |
Нет, но сам обновляет токены неактивных аккаунтов, чтобы читать их использование | Всё, кроме файлов отдельных аккаунтов, из одного основного; история по желанию; серверы, добавленные через claude mcp add, не становятся общими |
| clauth | Rust | clauth остаётся родительским процессом | Да, когда подменяет вход | Весь ~/.claude или ничего |
| CAAM | Go | Зависит от режима; необязательный демон | Да, в режиме хранилища | Определяется режимом; MCP-серверы копируются при каждом запуске |
| cux | Go | Вокруг claude остаётся обёртка |
Да | Всё: одна папка |
| CCSwitcher, Claude Switcher | Приложения для macOS (Swift, Python) | Приложение в строке меню | Да | Всё: одна папка |
Сильные стороны ccam
Данные входа остаются там, куда их положил Claude Code
ccam никогда не копирует данные входа Claude из одного места в другое. Вход каждого аккаунта остаётся в его собственной папке, а в macOS — в отдельном элементе Связки ключей для этой папки, и обновляет его сам Claude Code. Нет сохранённой копии, которая могла бы разойтись с оригиналом. Существующая папка ~/.claude, зарегистрированная через ccam import, сохраняет элемент Связки ключей, которым пользуется обычный claude, поэтому она остаётся авторизованной в обоих случаях.
ccam сам обновляет просроченный токен, только когда вы запускаете ccam usage --refresh. Сначала он берёт блокировку и отказывается работать, если этот аккаунт запущен, поэтому никогда не меняет токен под работающим сеансом.
Между вами и Claude Code ничего не работает
ccam читает один файл, проверяет свои ссылки и заменяет себя на claude (exec). Пока вы работаете, нет ни процесса ccam, ни обёртки, ни прокси, ни демона: стандартный ввод, сигналы и код выхода принадлежат Claude Code, а его запросы идут напрямую в Anthropic. Windows не умеет заменять процесс, поэтому там ccam запускает Claude Code в той же консоли и ждёт его кода выхода, больше ничего не делая.
Запуск аккаунта таким способом добавляет около 4 мс, меньше 6 мс на 95-м процентиле, при пиковом потреблении памяти 8 МБ (scripts/perf-check.sh с hyperfine, 300 запусков). На том же ноутбуке один только запуск интерпретатора Python занимает 13 мс, а Node.js — 31 мс, ещё до того, как программа что-то сделает.
Общий доступ по элементам и по аккаунтам
MCP-серверы, settings.json, CLAUDE.md, расширения (агенты, команды, навыки, плагины) и история разговоров — это пять отдельных элементов. Каждый аккаунт задаёт для каждого элемента local или группу, поэтому два рабочих аккаунта могут делить историю в группе work, личный аккаунт хранит свою, а все три используют одни и те же MCP-серверы.
- MCP-серверы передаются при запуске через
--mcp-config, поэтому по умолчанию ccam никогда не редактирует.claude.json— файл, который Claude Code перезаписывает во время работы.ccam mcp addдобавляет сервер один раз для всей группы. - Остальные элементы — это ссылки на папку группы, поэтому изменение в одном аккаунте сразу видно в остальных. При запуске ничего не копируется.
- Данные входа,
.claude.jsonи состояние работы никогда не становятся общими.
Каждое изменение сначала показывается и сохраняется в резервной копии
ccam share и ccam migrate выводят план и спрашивают, прежде чем что-то перемещать. Если файл в аккаунте отличается от файла в группе, выбираете вы: оставить версию группы, взять свою или объединить JSON. Оригиналы попадают в .ccam-backup/<time>/, папка удалённого аккаунта — в папку корзины, а файлы заменяются одним переименованием, поэтому прерванная запись оставляет старый файл. --dry-run показывает, что сделали бы запуск, общий доступ, миграция, ярлыки, обновления и исправления. ccam doctor --fix чинит сломанные ссылки и права доступа.
Тот же разговор в следующем аккаунте
С общей историей ccam next --auto --continue одновременно запрашивает использование у всех аккаунтов, открывает тот, где больше всего запаса, и продолжает разговор. Когда переключаться, решаете вы; ccam не следит за вашим использованием в фоне. Строка состояния подсказывает эту команду, когда аккаунт доходит до 90%.
Скрипты не могут ждать вас, поэтому ccam --fallback work -p "…" переключается за них: когда аккаунт достигает лимита, та же команда запускается снова от имени аккаунта с наибольшим запасом, и выводится только результат завершившегося запуска. Ошибка, не связанная с лимитом использования, передаётся как есть. Для параллельных рабочих процессов ccam pick выдаёт каждому свой аккаунт с запасом, и обе команды завершаются с кодом 75, когда запаса нет ни у одного аккаунта.
Нужный аккаунт в каждой папке
ccam folder work ~/code/company делает так, что каждый запуск без имени аккаунта внутри этой папки использует work, а остальные ваши проекты сохраняют аккаунт по умолчанию. Настройка хранится в том же config.toml, который читает каждый запуск, поэтому не стоит времени.
Один бинарный файл, проверенные загрузки
ccam — статический бинарный файл размером около 10 МБ для Linux, macOS и Windows, которому не нужна отдельно устанавливаемая среда выполнения. Скрипты установки (install.sh, install.ps1) и ccam update проверяют каждую загрузку по контрольным суммам SHA-256 релиза, а сам ccam никогда не проверяет обновления. Телеметрии нет: единственные запросы, которые он делает, — это запросы использования ваших аккаунтов к Anthropic, параллельно, с лимитом 3 секунды и кэшем на 60 секунд, и загрузки, о которых вы попросили.
В чём другие инструменты умеют больше
- claude-swap, clauth, cux, CAAM и CCSwitcher могут сами переключать запущенную интерактивную сессию, когда аккаунт превышает порог использования. ccam переключает запуски
-pс помощью--fallback, а интерактивные сессии оставляет вам. - В Windows без режима разработчика ccam делает общими папки, но не может сделать общими отдельные файлы, например
settings.json; claude-swap и CCS в этом случае их копируют. - CCSwitcher, Claude Switcher и claude-swap показывают использование в строке меню macOS.
- CCS, clausona, CAAM, clauth, ccswap и Claude Switcher также управляют Codex и другими агентами для программирования.
- clausona также включает и выключает расширения для каждого аккаунта (
ccam extв ccam только показывает их), подсчитывает локальную стоимость токенов и поставляет плагины Claude Code, которые запускают группы рабочих процессов в tmux и других терминалах. - CAAM, CCSwitcher и Claude Switcher устанавливаются через Homebrew, а clauth и CAAM подписывают контрольные суммы своих релизов. ccam устанавливается своим скриптом, пакетом
.debили черезgo installи проверяет контрольные суммы без подписи.
Что вам подойдёт?
Выберите инструмент с подменой входа, если вы пользуетесь одним аккаунтом за раз или хотите, чтобы запущенные сессии переключались автоматически. Выберите ccam, если вам нужны аккаунты, работающие рядом, одна общая настройка, тот же разговор в следующем аккаунте и ничего лишнего, работающего рядом с Claude Code, на Linux, macOS или Windows. Если ничего общего не нужно, достаточно обычных псевдонимов оболочки.
Можно ли использовать несколько аккаунтов, зависит от условий каждого аккаунта. Проверьте их заранее.