Account Auto-Switch

  • Desktop app
  • Plus, Pro, Team

What it does

When the account an agent runs on hits its usage limit mid-task, AgentsRoom hands the same conversation to another signed-in account of the same provider and the work continues: no restart from a blank prompt, no waiting for the 5-hour or weekly window. The exhausted account is benched until its quota resets, then rejoins the pool by itself. It is what keeps unattended runs (scheduled tasks, backlog tickets, team workflows) alive past a quota wall, and what makes several smaller subscriptions behave like one bigger plan.

Since 2026-09-23 the trigger is a quota rule (action Move running agents, switch-running), not a global switch: moving work onto another subscription is a billing decision, and an explicit rule is the strongest form of asking for it. The rule watches a gauge and fires once per quota window; the switch machinery (bench, candidate election, transcript migration, resume) is unchanged.

Users who had the retired switch on were migrated automatically at first launch: for each provider with readable gauges and a spare account, two rules were seeded (session ≥ 99 % and week ≥ 99 %), named after the old setting. The rules are ordinary: editable, disablable, deletable.

Where to find it

  • Usage panel > Quota management (right column of the panel, next to the gauges): the rule list and its editor. Pick the action Move running agents in the rule editor (there is no template for it).
  • Settings > AI providers & accounts, last row of the Multiple Accounts section: the Quota rules shortcut (since 2026-09-28), which opens the same rule window from where one looks for it first.
  • Each account row in Settings > AI providers & accounts has a Backup account / Never used as backup toggle (shown from two accounts), which opts an account in or out of the fallback pool. Shown for Claude, Codex and Grok only: a rule needs a readable gauge.
  • In the terminal, a line "Usage limit reached on X. Continuing on Y..." when the switch completes, a toast "Started on Y" when a launch was moved pre-emptively, and a system notification Account switched.

How to use it

  1. Sign in to at least two accounts of the same provider (see Multiple Accounts; the CLI's own login counts as one).
  2. In the usage panel, create a rule: quota of that provider, Most constrained account (or a specific one), window Session (and a second rule for the weekly window if you want both walls covered), threshold 99 %, action Move running agents.
  3. Optionally mark accounts that must never be borrowed (strict work / personal or client A / client B separation) as Never used as backup. They still work for agents explicitly bound to them.
  4. Nothing else. When the gauge crosses the threshold, AgentsRoom benches the account, picks the signed-in account of the same provider with the most quota left, migrates the transcript when the provider needs it, relaunches the CLI on the same session and sends a short instruction to continue the interrupted work.

Pre-flight: an agent about to start on an account a rule has benched is started on a healthy one instead, and a toast says so.

Settings

  • quotaRules (global, usage panel > Quota management): the rules themselves, including switch-running ones. Pilotable over MCP through settings_set.
  • accountAutoSwitchMigrated (read-only state): one-time marker that the retired global switch was carried over (or was never on). The old accountAutoSwitch key is captured once, then dropped from the settings file.
  • Per-account exclusion: the Backup account toggle on each row (stored with the account).

Agent tools (MCP)

  • settings_set quotaRules: read or rewrite the rules (object array, see the spec entry for the exact shape).
  • usage_overview: the per-account quota bars the decision is based on.

Providers

  • Claude Code: the conversation is copied into the incoming account's directory before the relaunch (a Claude session physically lives in the account that created it), then resumed.
  • Codex: credentials are rebound and the session resumed; rollouts live in the per-project home AgentsRoom generates, so nothing moves.
  • Grok Build: the agent relaunches on the other account; its session id is not carried, so the conversation restarts. Grok publishes one gauge for the whole provider, not one per account.
  • Cursor and Antigravity: no automatic switch anymore. Their gauge in the Usage panel is one reading for the whole machine, not one per account, so no rule can tell their accounts apart; the retired switch reacted to the CLI's own wall message, which was their only trigger. Manual switching (agent sheet, switch modal) still works.
  • Kimi, OpenCode: gauges exist but they have no account concept, so no pool to switch within.

Mobile

The rules run on the desktop for every agent, including ones piloted from the phone; the phone shows the new account on the agent's dot and spec strip. Rules can be edited from the phone (Activity > Usage > Quota management, plus a Quota rules shortcut in Settings > Usage); see Quota Rules.

Limits

  • Needs at least two usable accounts of the same provider, so in practice Plus (one added account plus the CLI's login) or Pro.
  • A rule fires once per quota window (it re-arms at the reset), not on every tick; a resumed conversation is nudged back into motion once it has relaunched.
  • The pre-flight only moves a launch off an account a rule has benched: no rule, no rebind, nobody is re-pooled onto another subscription without having written one.
  • A candidate above roughly 90 % of its quota is skipped by the election.
  • The switch writes the new account as an agent override, never on the project or global default.
  • A benched account is remembered in memory only: restarting the app clears the bench.
  • Providers with one gauge per machine rather than per account (Cursor, Antigravity) cannot be covered by a switch rule.

Common questions

  • I had the old switch on, what happened to it? It became rules: for each provider with gauges and a spare account, "Keep working when an account runs out (session)" and "(week)" rules at 99 %, already enabled. Nothing to do.
  • Does the agent lose the conversation? Not on Claude or Codex: the same session resumes on the new account. Grok relaunches instead.
  • Could it burn my second subscription by mistake? The rule reads measured gauges, never prose, and the election skips accounts above ~90 %. Exclude any account with Never used as backup.
  • Everything is out of quota, what happens? The agent stops; the rule's own notification says it acted, and the usage panel shows the benched accounts.
  • Is this against the providers' terms? AgentsRoom uses subscriptions you own and are signed in to, through each CLI's documented account isolation; it does not create accounts or share credentials.