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

> Чем ccam отличается от claude-swap, CCS, clausona, clauth, CAAM, cux и других переключателей аккаунтов Claude Code и какой подход для чего подходит.

Source: https://ccam.dev/ru/compare/account-switchers/ · Updated 2026-10-20

Инструменты для переключения аккаунтов Claude Code используют один из двух подходов. Большинство подменяют данные входа внутри единственной папки `~/.claude`, поэтому одновременно активен только один аккаунт. Другие, в том числе ccam, дают каждому аккаунту собственную папку через `CLAUDE_CONFIG_DIR`, поэтому все аккаунты остаются авторизованными и несколько из них могут работать одновременно. ccam добавляет к этому общие настройки и MCP-серверы и умеет продолжить разговор в папке другого аккаунта.

## Подменять один вход или завести отдельные папки?

**При подмене входа** остаётся один набор настроек, MCP-серверов и истории, потому что папка всего одна. Переключение происходит быстро, и работающий сеанс может подхватить новый вход. Но активен только один аккаунт за раз, сразу для всех терминалов и редакторов.

Чтобы подменить вход, инструмент хранит копию данных входа каждого другого аккаунта и записывает её на место. Обновляя вход, Claude Code заменяет в нём токен обновления, поэтому каждую сохранённую копию приходится согласовывать с работающими сеансами. Аккаунты, которые после переключения оказываются разлогинены или снова требуют `/login`, — одна из проблем, которые эти проекты исправляют чаще всего.

**Отдельные папки** — это способ, [описанный в документации Claude Code](https://code.claude.com/docs/en/authentication#log-in-with-multiple-accounts). Каждый аккаунт остаётся авторизованным, и можно запустить рабочий и личный сеансы рядом. Данные входа каждого аккаунта остаются в его папке, где 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](https://github.com/realiti4/claude-swap) | Подменяет вход; отдельные папки через `cswap run` | Да, через `cswap run` | Да | `cswap auto` переключает вход при достижении порога; работающий сеанс продолжается | Linux, macOS, Windows |
| [CCS](https://github.com/kaitranntt/ccs) | Отдельные папки | Да | Частично | Пулы аккаунтов передают запросы следующему аккаунту через локальный прокси | Linux, macOS, Windows |
| [clausona](https://github.com/larcane97/clausona) | Отдельные папки | Да | Да | Маршруты перед каждым запуском выбирают аккаунт с оставшейся квотой, могут ждать сброса и раздают рабочим процессам разные аккаунты | Linux, macOS, Windows |
| [clauth](https://github.com/uwuclxdy/clauth) | Подменяет вход; отдельные папки через `clauth start` | Да, через `clauth start` | Да | Переключается по цепочке резервных аккаунтов | Linux, macOS, Windows |
| [CAAM](https://github.com/Dicklesworthstone/coding_agent_account_manager) | Подменяет вход или изолированные профили | Да, с изолированными профилями | Да | `caam run` повторяет неинтерактивные команды в другом аккаунте | Linux, macOS, Windows |
| [cux](https://github.com/inulute/cux) | Подменяет вход и оборачивает `claude` | Нет, один активный аккаунт | Да | Подменяет вход и возобновляет тот же разговор | Linux, macOS, Windows |
| [CCSwitcher](https://github.com/XueshiQiao/CCSwitcher) | Подменяет вход | Нет | Да | Переключение при достижении порога по желанию | macOS |
| [Claude Switcher](https://github.com/Symbioose/claude-account-switcher) | Подменяет вход | Нет | Да | Переключение при 100% по желанию | macOS |

ccswap — это форк claude-swap, который также управляет входами в Codex. [claude-account](https://github.com/hamzarehmandeveloper/claude-account), [claude-multiprofile](https://github.com/jmdarre-v/claude-multiprofile) и [claude-code-profiles](https://github.com/quinnjr/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`](https://github.com/jhyunwoo/ccam/blob/main/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. Если ничего общего не нужно, достаточно [обычных псевдонимов оболочки](https://ccam.dev/ru/compare/aliases.md).

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