Skip to content
AltseatDownload
1.0.3Automatic handoff for Claude Code

The terminal runs on the account with room.

Several Claude Code, Codex and Kimi Code accounts on one Mac: each account stays signed in with its tool's own login, and Altseat never refreshes a token. It shows how much each Claude Code and Codex account has left in the menu bar and starts claude or codex on one that still has room.

Free for 2 accounts. macOS 14 or later, Apple Silicon, zsh.

$

Four accounts, each on a channel strip with LED meters for its session, week and Fable usage, and a lamp that reads Active, Limit or Ready. The active Claude personal account's session meter climbs to its limit; claude is typed at the prompt, altseat prints that personal is at its session limit and starts work, and the lamp hands over to the Claude work account, which has room.

Limits land in the middle of a task.

Claude Code plans have a five-hour session limit and a weekly limit, and Codex plans have usage limits of their own. With more than one subscription, the question is always which account still has room.

The manual way works: Anthropic documents CLAUDE_CONFIG_DIR for separate accounts, Codex reads CODEX_HOME and Kimi Code KIMI_CODE_HOME. What it leaves to you is the bookkeeping.

One alias per account, and Altseat
One alias per accountAltseat
Setting upAn alias per account and per tool, in your shell fileEach account added once, in the Accounts window or with altseat add
UsageEach tool's own usage view, one account at a timeSession and week for every Claude Code and Codex account, in the menu bar
At a limitRemember which account has room, then type its aliasIn Claude Code, the agent writes a short handoff near the limit and the same conversation continues on the next account with room, in the same terminal. Otherwise type claude or codex as always: the next account with room starts, and the terminal says which
Settings and sessionsEach new directory starts empty; link what you share by handLinked to the tool's default directory, so claude -c continues on the next account

Some open-source switchers swap the login under a running session, some need a Python or Node runtime, and some ship unsigned. Altseat acts only between processes, is one signed and notarized app, and comes with support and a 14-day refund.

Set up once. Then type the command you always type.

Altseat sits in the menu bar and in your shell. Your terminal habits stay as they are.

  1. Set up and add your accounts

    Set up puts the altseat command on your PATH and adds the claude, codex and kimi shell functions. Then add each account once: Altseat gives it its own directory and hands you the tool's own sign-in command.

    altseat add work

    The Set up Altseat window: put altseat on the PATH, add the shell functions and the Claude status line.
    Set up window
  2. See every account's usage

    The menu bar lists your accounts by tool, with the session and weekly usage Claude Code and Codex report and when each window resets. Kimi Code accounts show whether they are signed in.

    The Altseat menu bar dropdown: every account by tool with its usage, the active one expanded.
    Menu bar dropdown
  3. Type claude, codex or kimi

    The command starts on the active account. When the active Claude Code or Codex account is at its limit, it starts the next account in your order with room and prints which one. Near its limit, a Claude Code session is handed over: the agent writes a short handoff, Claude Code exits after its current step, and the same conversation continues on the next account in the same terminal. Kimi Code has no usage reading, so kimi starts on the Kimi Code account you make active.

    The Altseat Accounts window: accounts grouped by tool, in the order Altseat tries them, and the license.
    Accounts window

Each account's usage, and the next one with room.

  • Claude Code and Codex usage

    Session and week for each Claude Code and Codex account, with reset times, from the sources each tool offers. Open an account for its meters and plan.

  • Automatic handoff for Claude Code

    When the active Claude Code account reaches 95 % of its session or weekly window and another one has room, the agent finishes its step and writes a short handoff, the session ends, and the same conversation continues on the next account in the same terminal. One line in the terminal says so, and one switch in the Accounts window turns it off.

The Altseat usage popover: the meters of one account, one per usage window, with their reset times.
Usage popover
  • Starts on an account with room

    When the active Claude Code or Codex account is at its session or weekly limit, claude and codex start the next one in your order that has room, and the terminal says which. kimi starts on the Kimi Code account you make active in the menu bar.

  • Only between processes

    Altseat chooses an account when a command starts, or after Claude Code has ended at a turn boundary for a handoff. It never changes the login of a running process, and it uses only the accounts you added.

  • Settings and sessions shared

    Every account links to the tool's default directory for settings, history and sessions, so claude -c, codex resume --last and kimi -c continue on the next account.

  • MCP servers on every Claude account

    altseat sync copies the primary account's MCP servers and project trust to your other Claude Code accounts, and every claude launch keeps them in step.

  • Updates from the menu

    Altseat looks for a new version once a day and installs it in place after checking its signature.

Claude Code, Codex CLI and Kimi Code.

Each tool runs as it ships, under its own command and its own login. Altseat switches all three, and reads usage where the tool offers it.

  • Claude Code

    Switching, usage and automatic handoff

    Command
    claude
    Default directory
    ~/.claude
    One directory per account
    CLAUDE_CONFIG_DIR
    Usage
    Session and week from the status line Claude Code documents. Fable and Anthropic's usage endpoint only if you turn it on.
    At a limit
    Near 95 % of a window, the agent writes a handoff and the same conversation continues on the next account with room, in the same terminal.

    Claude Code setup and limits

  • Codex CLI

    Switching and usage

    Command
    codex
    Default directory
    ~/.codex
    One directory per account
    CODEX_HOME
    Usage
    Session and week from the Codex CLI's own local app-server. No token leaves the Codex CLI.
    At a limit
    codex starts on the next account with room. The automatic handoff for Codex is planned.

    Codex CLI setup and limits

  • Kimi Code

    Switching and sign-in state

    Command
    kimi
    Default directory
    ~/.kimi-code
    One directory per account
    KIMI_CODE_HOME
    Usage
    No usage reading yet. The sign-in state comes from Kimi Code's credentials file.
    At a limit
    kimi starts on the Kimi Code account you make active.

Free for 2 accounts. A license for more.

Up to 2 accounts in total, Altseat is free. A third account, in any of the three tools, needs the license.

The free version and the lifetime license
FreeLifetime license
Accounts2 in total, across Claude Code, Codex CLI and Kimi CodeUp to 10 per tool
MacsAny Mac you useOne Mac at a time per key; buy a key for each Mac
FeaturesEvery featureEvery feature
UpdatesEvery 1.x updateEvery 1.x update. If a 2.0 ever needs a new key, 1.x keys keep working with 1.x and get a reduced price.
PriceFree, with no key and no sign-upUSD 12 once, the launch price through 30 November 2026. USD 19 from 1 December 2026.

One payment. No subscription.

Lifetime license

USD 12one-time

Launch price USD 12, then USD 19 from 1 December 2026. The license is the same at either price.

Lifetime means paid once with no renewal: the key keeps working on one Mac at a time, with every 1.x update.

  • A license key for one Mac at a time
  • Up to 10 accounts per tool
  • Every update of the 1.x line
  • Up to 10 keys in one purchase
  • Refunds within 14 days, no questions asked
  • Paddle is the merchant of record

By purchasing you agree to the Terms and the Refund policy.

macOS 14 or later, Apple Silicon, zsh.

After you buy

  1. Your key arrives by email at once, and is listed in your account.
  2. Download Altseat and open it.
  3. In the menu bar, open Accounts, then License.
  4. Paste the key, enter the email you paid with and choose Activate.
  5. Add up to 10 accounts per tool.

Lost a key? Account, or support@altseat.com

What Altseat reads, and what it never touches.

Each account is a directory of its own, signed in with the tool's own login and linked to the tool's default directory for everything you keep shared. That is the whole mechanism.

Reads

  • Account directories

    One directory per account, signed in once with the tool's own login.

    • ~/.claude-work
    • ~/.codex-work
    • ~/.kimi-work
  • Shared settings

    Symlinks into each tool's default directory, so every account keeps the same settings and sessions.

    • ~/.claude-work/settings.jsonlinks to~/.claude/settings.json
    • ~/.codex-work/sessionslinks to~/.codex/sessions
    • ~/.kimi-work/config.tomllinks to~/.kimi-code/config.toml
  • Usage

    What Claude Code's statusline and the Codex CLI's own local app-server report. Kimi Code has no usage reading; its sign-in state comes from its credentials file.

    • codex app-server
  • Handoff files

    The events Claude Code sends Altseat's hook while a session runs, to time the handoff, and the short handoff the agent writes near a limit. Both stay on your Mac; Altseat checks that the handoff file exists and never parses it.

    • ~/.config/altseat/handoff
  • Claude's Keychain item

    Read only when you turn on the usage endpoint option, to ask Anthropic for that account's usage. Off by default.

  • Kimi credentials file

    Read for its expiry date only, to show sign-in state. Never sent anywhere.

    • ~/.kimi-code/credentials/kimi-code.json

Never touches

  • Passwords

    You sign in with each vendor's own login. Altseat never sees a password.

  • Writing or sending tokens

    Altseat never writes, refreshes or copies a token. The one it can read, Claude's Keychain item with the usage endpoint option on, goes only to Anthropic.

  • Other people's accounts

    Only the accounts you own and sign into yourself.

  • Network proxies

    None. Each tool talks to its vendor directly, as it always does.

Signed, sold, supported

  • Stays on your Mac

    Usage is read and kept on your Mac. The usage endpoint, off by default, asks Anthropic directly. No analytics on this site, no telemetry in the app: the privacy notice has the rest.

  • Signed and notarized

    The app and the altseat command are signed with a Developer ID and notarized by Apple.

  • Paddle checkout

    Paddle, the merchant of record, takes the payment, sends the receipt and handles sales tax, under its buyer terms.

  • Refunds and support

    A refund within 14 days, no questions asked. Questions go to support@altseat.com.

Questions

Will this get my account banned?

Altseat works only with accounts you added and are authorised to use. It never shares a login, never handles a token for anyone else and never changes the login of a running process: a handoff ends Claude Code at a turn boundary before the next account starts. It adds no capacity: each account keeps its own limits.

Each account gets its own directory through the setting its vendor documents: CLAUDE_CONFIG_DIR, which Anthropic documents for running separate accounts, CODEX_HOME for Codex and KIMI_CODE_HOME for Kimi Code.

Whether several subscriptions suit your situation is between you and each provider: see Anthropic's consumer terms, OpenAI's terms of use and the Kimi Code membership guide.

Can't two lines of shell do this?

For switching, yes: an alias per account with CLAUDE_CONFIG_DIR works, and Anthropic documents it. Altseat adds what an alias leaves to you: the usage of every Claude Code and Codex account in the menu bar, a launch that skips an account at its limit and says which one it started, a Claude Code handoff near the limit that continues the conversation on the next account, settings and sessions shared across accounts, and the same switching for Codex and Kimi Code.

The free version covers 2 accounts, so you can set it against your aliases before you pay.

Is it safe with my credentials?

Each tool signs in with its own login and keeps its own credentials. Altseat never sees a password and never writes, refreshes or copies a token.

By default it reads Claude usage from the status line Claude Code already runs, so it does not read the Keychain. Only the usage endpoint option, off by default, reads Claude's Keychain item, to ask Anthropic for that account's usage. Codex usage comes from the Codex CLI's own local app-server.

Altseat itself sends nothing anywhere except that optional request to Anthropic, the license check (the key, a one-way hash of the Mac's id, the Mac's name and the app version) and the update check.

What happens when an account reaches its limit?

In Claude Code, the session moves near the limit. When the active account reaches 95 % of its five-hour or weekly window and another Claude Code account you added has room, the agent finishes the step it is on and writes a short handoff file, the session ends, and Altseat starts claude on the next account with room in the same terminal: the same conversation resumes there, the agent reads the handoff and carries on. One line in the terminal and, with the app open, a macOS notification say which account it moved to.

The handoff runs between two Claude Code processes: the first has exited before the next one starts, and Altseat never changes the login of a running process or uses an account you did not add. Each account keeps its own limits. One switch in the Accounts window turns the handoff off, as does altseat handoff off; then a session stops at the limit as it would without Altseat, the next claude starts the next account with room, and claude -c continues the conversation there.

Codex CLI and Kimi Code pick at launch only. When the active Codex account is at its limit, codex starts the next one in your order with room and prints which one, so codex resume --last continues the chat; an automatic handoff for Codex is planned. Kimi Code has no usage reading yet, so kimi starts on the active Kimi Code account; make another one active in the menu bar and kimi -c continues there.

Which tools does it support?

Claude Code: switching, usage and the automatic handoff. Codex CLI: switching and usage; its automatic handoff is planned. Kimi Code: switching and sign-in state, with no usage reading yet. Gemini CLI is not supported.

Does Altseat need to stay open?

Not for switching: the claude, codex and kimi commands pick from the usage Altseat last recorded, with or without the app. Claude Code's status line keeps recording Claude usage while it runs, and the Claude Code handoff runs through Claude Code's hooks and the altseat command, with or without the app; the app adds the macOS notification.

The app shows the usage in the menu bar and refreshes Codex usage every 15 minutes, so keep it open for the freshest pick.

Does it run on Intel Macs?

No. Altseat 1.x needs a Mac with Apple Silicon and macOS 14 or later.

Does it work with bash or fish?

No. The claude, codex and kimi shell functions are installed in zsh, the default shell on macOS. In bash or fish the commands run without Altseat's pick.

What does the free version do?

Everything, for 2 accounts in total across Claude Code, Codex CLI and Kimi Code, with no key and no sign-up. A license raises that to 10 accounts per tool on one Mac.

Are updates included, and what about 2.0?

Every 1.x update is included, for free and licensed users alike, and the app offers each one from the menu.

If a 2.0 ever needs a new key, 1.x keys keep working with 1.x and get a reduced price.

Can I use Altseat on more than one Mac?

The free version works on any Mac. A license key is active on one Mac at a time: for two Macs, set the quantity to 2 at checkout, and every key arrives in the same email.

To move a key, deactivate it in the old Mac's Accounts window, then paste it into the new one. If the old Mac is lost or no longer starts, release the key from your account page, once every 24 hours per key.

Where are my keys?

In the email that arrives as soon as you buy, and in your account. Sign in with the email you paid with and every key you bought is listed there.

Can I get a refund?

Yes, within 14 days of your purchase, no questions asked. Use the link in your Paddle receipt or write to support@altseat.com. Paddle, our merchant of record, issues the refund and the key is revoked.

Start with 2 accounts, free.

Install Altseat, add two accounts and keep typing claude or codex: the menu bar shows each account's usage as soon as the tool reports it.

Free for 2 accounts. USD 12 once for more.

macOS 14 or later, Apple Silicon, zsh.