Сравнения

ccam и другие переключатели аккаунтов Claude Code

Автор: jhyunwoo
Обновлено 20 октября 2026 г.
Проверено с ccam 0.8.0 и Claude Code 2.1.302

Эта страница переведена с английского машинным способом. Исправления приветствуются. Редактировать эту страницу на 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. Если ничего общего не нужно, достаточно обычных псевдонимов оболочки.

Можно ли использовать несколько аккаунтов, зависит от условий каждого аккаунта. Проверьте их заранее.