Features
Accounts and rate limits
If you hold two Claude subscriptions, or a Claude plan and a ChatGPT plan, hitting a limit should cost you one click rather than the rest of the afternoon.
How it works
Each coding CLI stores its credentials in its own config directory. Termdeck saves a snapshot of each login you connect and swaps the credential file when you switch. The config directory itself never changes.
That detail matters more than it sounds: because only the credential moves, your session history, settings, and project list stay shared across every account on that machine. Switching account does not switch you into a different workspace.
Functionally this is the same as signing out and signing back in with the other account, done instantly from a saved snapshot instead of repeating the login flow every time.
Connecting an account
Open Settings, then Machines and accounts, pick a machine, and use its Claude or Codex panel. Adding a brand new account runs the CLI's real login, so a browser page opens and you sign in with the provider as usual. Termdeck cannot fabricate a login and never asks for your provider password.
Once connected, the account appears in the list with its email and plan, ready to switch to.
Accounts are per machine, because credentials live on the machine. Connecting your second Claude account on the laptop does not connect it on the desktop.
Live rate limits
The panel at the bottom of the sidebar shows the usage windows your provider reports, per account, updated as you work. For Claude that is the rolling window and the weekly window; Codex and Grok report their own equivalents.
The reading is taken on your own machine. Your subscription token never leaves it: the agent calls the provider's usage endpoint locally and hands back only the percentages, which carry nothing sensitive.
Because it is a live reading rather than an estimate, it is the thing to watch when you are deciding whether to start a long run now or after dinner.
Switching mid chat
When an account gets close to its limit, switch from the accounts panel. The chat stays open and the next turn runs under the account you switched to. There is no logout, no lost context, and no waiting out a countdown.
After a switch, Termdeck drops the caches that belonged to the previous account: the model catalog, and the usage percentages that were read under the old login. Serving the old account's numbers under the new account's name would be a mislabelling, so it does not happen.
Codex keeps a long lived helper process. Termdeck recycles it after a switch, which is why a Codex switch can take a moment longer than a Claude one.
Grok
Grok has no saved account switching in Termdeck. Use grok login on the machine to change which account it runs under. Grok rate limits are still shown in the limits panel.
When a machine holds two copies of a CLI
It is possible to have the same CLI installed twice on one machine, for example an npm global and a package manager install, both on the path. When that happens the two lookups can find different binaries, and the symptom is a sign in that appears to hang: one copy is being driven while the other is what actually runs your turns.
Fix it by removing the copy you do not want, or by naming the right one explicitly with TERMDECK_CLAUDE_EXE, TERMDECK_CODEX_EXE, or TERMDECK_GROK_EXE in ~/.termdeck/agent.env.
Using accounts to control cost
Not every task deserves your most expensive plan. A split that works well in practice:
- Premium subscription for architecture, tricky debugging, and anything touching money or authentication.
- A cheaper engine for tests, renames, documentation, and mechanical refactors.
- A second account as overflow, so hitting a limit costs a click rather than an upgrade.
The usage dashboard tells you whether the split is actually working, since it breaks spend down by model and by project rather than by feeling.
Check the terms of the provider plans you connect. Termdeck moves your own credentials between your own machines and does not change what those subscriptions permit.