# Перемикання на наступний обліковий запис

> ccam next відкриває Claude Code від імені облікового запису, що йде після останнього використаного; --auto вибирає найменше 5-годинне використання, а --continue продовжує розмову.

Source: https://ccam.dev/uk/features/next/ · Updated 2026-10-19

`ccam next` відкриває Claude Code від імені іншого облікового запису, і вам не потрібно його називати. Використовуйте цю команду, коли обліковий запис досягає ліміту використання: звичайний `ccam next` бере обліковий запис, що йде після останнього використаного, `--auto` бере той, у якого найбільше запасу в 5-годинному вікні, а `--continue` продовжує останню розмову в новому обліковому записі.

## Використання

```sh
ccam next                       # the account after the one you used last
ccam next --auto                # the account with the lowest 5-hour usage
ccam next --continue            # the next account that shares history, with claude --continue
ccam next -c --auto             # both: lowest usage among accounts sharing history
ccam next -- -p "summarize"     # pass arguments to claude after --
ccam --dry-run next --auto      # print the choice and the command, start nothing
```

```console
$ ccam --dry-run next
→ personal → work
CLAUDE_CONFIG_DIR=/home/you/.local/share/ccam/profiles/work /usr/local/bin/claude
```

ccam виводить перемикання як `→ <from> → <to>` у стандартний потік помилок, а потім запускає Claude Code від імені нового облікового запису так само, як `ccam <name>`. `<from>` — це обліковий запис, який ви використовували останнім. Аргументи після `--` передаються в `claude` без змін.

## Параметри

| Параметр | Дія | За замовчуванням |
| --- | --- | --- |
| `--auto` | Вибрати обліковий запис із входом і найменшим 5-годинним використанням, пропускаючи облікові записи зі 100% | вимкнено |
| `-c`, `--continue` | Розглядати лише облікові записи, які спільно використовують історію розмов з останнім використаним обліковим записом, і запустити `claude --continue` | вимкнено |
| `-- <claude args>` | Аргументи, що передаються в `claude` після власних аргументів ccam | немає |
| `--dry-run` | Враховується: виводить `→ <from> → <to>` і командний рядок, який було б виконано, не запускаючи Claude Code і не записуючи запуск | вимкнено |

`--auto` і `--continue` працюють разом. З `--continue` параметр `--continue` ставиться перед вашими власними аргументами.

## Як це працює

Кожен запуск через ccam записує час у `~/.local/state/ccam/last-used/<name>`. `ccam next` читає ці файли, перевіряє, які облікові записи мають вхід, і робить вибір.

1. `cli.candidates` будує по одному `next.Candidate` на обліковий запис із `config.toml`: обліковий запис, час його останнього запуску (`launcher.LastUsed`) і чи є в нього вхід (`creds.Has`: доступний для читання `.credentials.json` або, на macOS, елемент у в'язці ключів).
2. Без `--auto` `next.Rotate` сортує облікові записи за номером слота й знаходить той, який запускали найнедавніше. Це обліковий запис, з якого ви перемикаєтеся. Якщо жоден обліковий запис ще не запускали, це найменший слот.
3. Звідти він іде вперед за порядком слотів, переходячи з останнього слота знову до першого, і повертає перший обліковий запис, що має вхід.
4. `launcher.LaunchWith` готує й запускає вибраний обліковий запис точно так, як `ccam <name>`: перевіряє посилання облікового запису, застосовує спільне використання MCP, реєструє сеанс і замінює ccam на `claude` через `syscall.Exec`.

Обхід починається з останнього використаного облікового запису й зупиняється на першому обліковому записі з входом після нього:

`work` запускали найнедавніше, тож обхід починається після нього. `side` не має входу й пропускається, і вибирається `lab`. Якби `lab` теж не мав входу, обхід повернувся б по колу до `personal` (`% len` на діаграмі). Ротація ніколи не повертає обліковий запис, з якого ви почали: якщо іншого облікового запису з входом немає, вона зупиняється з помилкою.

### --auto

`--auto` вирішує за використанням, а не за порядком слотів. `cli.pickAuto` залишає облікові записи з входом, запитує використання всіх їх одночасно через той самий `Fetcher.FetchAll`, який використовує `ccam usage`, і передає вибір `usage.Best()`:

`usage.Best()` бере найменший 5-годинний відсоток і пропускає облікові записи зі 100% або з невідомим 5-годинним використанням. Запит дотримується правил `ccam usage`: числа, отримані менш ніж 60 секунд тому, використовуються повторно, кожен обліковий запис має 3 секунди, а обліковий запис, який не відповідає або вхід якого прострочено, оцінюється за збереженими числами. Збережене вікно, час скидання якого минув, вважається 0%, тож обліковий запис, вікно якого відтоді скинулося, не пропускається. `--auto` ніколи не оновлює токени. На відміну від звичайної ротації, `--auto` може вибрати обліковий запис, який ви використовували останнім, якщо в ньому досі найбільше запасу.

### --continue

`--continue` у Claude Code відкриває найновішу розмову в поточній теці, а це працює, лише якщо новий обліковий запис бачить цю розмову. Тому з `--continue` ccam розглядає лише облікові записи в тій самій групі `history`, що й останній використаний обліковий запис, а потім ставить `--continue` перед вашими аргументами. Облікові записи, історія яких `local`, ні з ким її не використовують спільно, тож `--continue` з такого облікового запису завжди завершується невдачею. Спершу ввімкніть спільне використання через `ccam share <name> --history on` (див. [спільне використання](https://ccam.dev/uk/docs/sharing.md)).

## Безпека та граничні випадки

- Облікові записи без входу ніколи не вибираються. Якщо іншого облікового запису з входом немає, звичайний `ccam next` зупиняється з повідомленням `no logged-in account other than <name>`.
- З `--continue`, коли жоден обліковий запис не використовує історію спільно: `` no other account shares conversation history with <name>. Turn it on with `ccam share <name> --history on` ``.
- З `--auto`, коли немає жодного облікового запису з входом: `no logged-in account to pick`. Коли кожен обліковий запис заповнений або його використання невідоме: `` no account with known usage and headroom (see `ccam usage`) ``.
- `--auto` надсилає мережеві запити навіть з `--dry-run`. Він лише читає й ніколи не записує файли токенів.
- Вибраний обліковий запис запускається тим самим шляхом, що й `ccam <name>`, тож діють ті самі перевірки, зокрема попередження, коли в цій теці вже працює інший Claude Code, що спільно використовує ту саму історію.
- `last-used` записується лише тоді, коли Claude Code справді запускається. `--dry-run` його не чіпає, тож пробний запуск не просуває ротацію вперед.

## Пов'язані сторінки

- [Ліміти використання](https://ccam.dev/uk/features/usage.md)
- [Ліміти використання та перемикання облікових записів](https://ccam.dev/uk/docs/usage-limits.md)
- [Спільні сервери MCP, налаштування та історія](https://ccam.dev/uk/docs/sharing.md)
- [Робота з лімітами використання](https://ccam.dev/uk/guides/usage-limit-workflow.md)
