# How Shuriken picks the next account

> At your switch point (99% by default) or a limit, Shuriken moves your chats to the source with the most room. Expiring capacity goes first, API keys last.

Source: https://shuriken.sh/blog/how-switching-picks-the-next-account

At your switch point (99% by default) or a limit, Shuriken moves your chats to the source with the most room. Expiring capacity goes first, API keys last.

Story By Shuriken Updated 27 October 2026 5 min read

**Contents**

With two Claude plans, a limit used to mean /logout, /login with the other account, finding your place and pasting the context back in. Five hours later, the same the other way round. People with more than one plan kept describing that routine to us, and we lived it too.

Shuriken does that part now. In one sentence: when the account in use reaches your switch point, or the provider reports a limit, Shuriken moves your chats to the source with the most room left and tells you in the chat. The rest of this post is the long version, because "the most room" hides a few decisions you should know about.

## When a switch happens #

There are two triggers, and the first one to fire wins.

Your switch point. Switch settings, at the top of Sources, holds it. There, Switch at sets how full a window may get before chats leave the account. It's 99% until you change it, and you can set anything from 50% to 100%. It applies to each of the account's windows, so for Claude that's both the 5-hour window and the weekly one.

Why pick less than 99? You might want to keep headroom on an account you also use by hand in the browser. Set it to 80% and Shuriken leaves the last fifth alone.

A limit the provider reports. If Claude or OpenAI answers a request with "you've hit your limit", Shuriken doesn't argue with it. The chat moves at once, before your switch point. The same goes for an account that refuses a turn for any reason: it counts as full, whatever its last reading said.

A third trigger is optional. With How set to Spread the work (we call it Distribute) instead of the default, When one runs out, Shuriken also moves chats on a clock, every 15 to 60 minutes, to the subscription with the most left, when it's at least 5 points ahead ([Distribute mode](https://shuriken.sh/blog/distribute-mode) has the details). The Switch now button does the same once, by hand.

## How the next account is chosen #

The app calls it "the account with the most room". Behind that phrase are four kinds of source that never get picked, and an order for the rest.

### Who is never picked #

Some sources are out before the race starts:

- an account that is limited right now, or signed out;
- a free plan, or a subscription that was cancelled, restricted or put on hold (Shuriken reads the plan from the provider's own answers, so it knows);
- an account that already hit the limit for the model your chat needs;
- the account you're moving off.

### Who goes first #

Among the subscriptions that are left, Shuriken prefers ones sitting comfortably under your switch point, with a margin, so a chat doesn't move over and straight back. Then, in order:

- Capacity that's about to expire. If one account's window resets soon with room still in it, that room is use-it-or-lose-it, so it goes first.
- The account that lasts longest at the pace you're working.
- The least-used 5-hour window, then the least weekly use. Whether an account's clock is running never decides it: [5-hour clocks](https://shuriken.sh/features/session-clock) start an idle one with one tiny background request instead.
- On a real tie, the source that has been faster over the last 24 hours, then the one you added first.

A ready subscription with no usage reading yet comes after those. If they're all nearly out, Shuriken will still move to one that has at least twice the room of the account you're on, because a small step is better than a wall.

### API keys only last #

API keys and custom endpoints bill per token, so they come last, and only under two conditions:

- you turned on Switch to API keys (it's off by default), and
- every subscription of that agent is out.

A spend cap per fallback run ($25, on by default) counts what the whole run spends with that provider, across every key it uses. Past the cap, chats wait for a subscription. When a subscription has room again the run ends, and the next run starts from a fresh $25.

One more case. If you added an endpoint for Claude Code or Codex that serves another company's models, a local model server included, a chat can carry on there between turns once every source of its own company is out, as long as its history can be read there. That one doesn't wait for the last-resort setting. It never moves a Claude Code chat into Codex.

## One account per provider, everywhere #

Shuriken keeps one account in use per provider, and every computer and server you've linked follows that choice at once. A laptop and a build server both running Claude Code chats switch together, so half your work doesn't end up on one account and half on another by accident.

Shuriken moves a running chat to another of your own accounts when one reaches its limit, on every device.

[Try Shuriken](https://shuriken.sh/)

## How your chat actually moves #

A Claude Code chat moves on its next request, in the middle of a task, and its subagents and workflows go with it. The request that hit the limit is replayed on the new account, so the turn carries on instead of failing.

Codex, Gemini CLI and the other agents move when their current turn ends, and the next turn starts on the new source.

In both cases it's the same chat with the same history. Doing this by hand across Claude accounts is covered in [keeping the same chat across Claude accounts](https://shuriken.sh/guides/keep-the-same-chat-across-claude-accounts).

## The card that tells you #

Every move leaves a small Switched to … card in the chat, where it happened: who took over, and on a second line why (for example "Personal passed 99%"). No pop-up, no toast to dismiss. The answer just carries on under it.

And when nothing has room at all, the chat shows one Paused card instead ("Paused — no Claude source has usage left"), looks again every 15 minutes, and continues as soon as any source frees up. We hardened all of this in 3.0.

## The fine print #

Switching only uses plans and keys you added. Add ones you own and are entitled to use; providers' terms may not allow sharing a subscription sign-in. Shuriken never buys or invents capacity, and it never bills your model usage, since your agents run on your own plans and keys.

Want to see it on your own accounts? [Try Shuriken](https://shuriken.sh/), add two sources, and keep working.

Try the free tools: [Claude limit reset tracker](https://shuriken.sh/tools/limit-resets/claude) · [Codex limit reset tracker](https://shuriken.sh/tools/limit-resets/codex)

Share

[X](https://x.com/intent/post?url=https%3A%2F%2Fshuriken.sh%2Fblog%2Fhow-switching-picks-the-next-account&text=How%20Shuriken%20picks%20the%20next%20account)[LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fshuriken.sh%2Fblog%2Fhow-switching-picks-the-next-account)[Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fshuriken.sh%2Fblog%2Fhow-switching-picks-the-next-account&t=How%20Shuriken%20picks%20the%20next%20account)[Reddit](https://www.reddit.com/submit?url=https%3A%2F%2Fshuriken.sh%2Fblog%2Fhow-switching-picks-the-next-account&title=How%20Shuriken%20picks%20the%20next%20account)[E-mail](mailto:?subject=How%20Shuriken%20picks%20the%20next%20account&body=https%3A%2F%2Fshuriken.sh%2Fblog%2Fhow-switching-picks-the-next-account)

## Frequently asked questions

**When does Shuriken switch accounts?**

When the account in use reaches your switch point, 99% of a window by default and adjustable from 50% to 100%, or the moment the provider reports a limit, whichever comes first.

**Does my chat lose its history when it switches?**

No. The chat stays the same chat. A Claude Code chat moves on its next request, and that request is replayed on the new account. Other agents move when their current turn ends.

**Will Shuriken spend money on my API key?**

Only if you turn on Switch to API keys, which is off by default. Even then a key takes chats only once every subscription is out, and a spend cap per fallback run, on by default at $25, stops the run.

**Does it switch Codex and Gemini CLI too?**

Yes. Chats of every agent move between your sources. Agents other than Claude Code move when their current turn ends, and the next turn starts on the new source.

**Is automatic switching part of the paid plan?**

No. It is on every plan, including Free, which holds two sources.

Source switching

One account runs dry. The next one takes over.

Add the Claude, Codex and Gemini accounts you own. At your switch point, your chats move to another of them and keep going.

[Try Shuriken](https://shuriken.sh/)

[How it works](https://shuriken.sh/features/source-switching)

## Keep reading

- [Hot swapping: chats that move when an account runs out: Story 27 Oct 2026 4 min read Hot swapping AI accounts, the way Shuriken does it: your running chats move to another of your accounts when one nears its limit. What happens at 99%.](https://shuriken.sh/blog/hot-swapping-accounts)
- [Every plan and key you own, working as one: Story 27 Oct 2026 4 min read Add your Claude, ChatGPT, Gemini and other plans and API keys to Shuriken as sources. When one runs out, your chats move to the next.](https://shuriken.sh/blog/what-is-a-source)
- [Codex with more than one ChatGPT account: Update 27 Oct 2026 4 min read Add each ChatGPT sign-in you own as a source. When one reaches its Codex limit, Shuriken moves your Codex chats to the next and they carry on.](https://shuriken.sh/blog/codex-multiple-chatgpt-accounts)
- [We were tired of logging in and out of Claude: Story 27 Oct 2026 3 min read Limit reached, /logout, /login, paste the context back. We did it so often we built Shuriken: chats move to an account with room by themselves.](https://shuriken.sh/blog/why-we-built-shuriken)
- [The 5-hour clock starts when you do. So we start it.: Story 27 Oct 2026 4 min read Claude's 5-hour window only starts when you use an account, so an idle one wastes time. Shuriken starts its clock with one tiny background request.](https://shuriken.sh/blog/the-5-hour-clock-starts-when-you-do)
- [Bring your own plans: we never bill model usage: Story 27 Oct 2026 3 min read Shuriken runs Claude Code, Codex and other agents with your own subscriptions and keys. We never resell tokens or add a margin.](https://shuriken.sh/blog/we-dont-bill-model-usage)
- [Codex usage limits explained (2026): Guide 27 Oct 2026 5 min read How Codex limits work on ChatGPT Plus and Pro: the 5-hour and weekly windows, the 2026 changes, checking yours with /status, and using several accounts.](https://shuriken.sh/guides/codex-usage-limits)

## Free tools

- [Claude limit reset tracker](https://shuriken.sh/tools/limit-resets/claude)
- [Codex limit reset tracker](https://shuriken.sh/tools/limit-resets/codex)
