Free macOS menu-bar app

Hit a limit? Tag in a fresh account.

Tagteam switches your Claude Code and Codex accounts from the menu bar, grouped into profiles like Personal and Work. It keeps a backup of every account you add and swaps it in with one click: no logout, no browser login, no terminal.

Download coming soon
Free · Version 2.0.0 · macOS 14+
Notarized by Apple
Tagteam app icon: an orange tile sliding in front of a slate one
01

One bench for every account you use.

Claude Code and Codex together

Each account shows its 5-hour and weekly limits. The account in use sits at the top of its group; every other account has a Switch button and a ⋯ menu to rename, re-authenticate, exclude from auto-switch, manage profiles or remove.

Profiles

Group accounts into profiles such as Personal and Work. Picking a profile makes one Claude Code and one Codex account live at once, and limits the list and auto-switch to that profile. An account can belong to several profiles.

Auto-switch

When the Claude Code account in use reaches your threshold (90% by default), Tagteam moves to the account in the profile with the most quota left. A 5-minute cooldown prevents bouncing, and you can opt individual accounts out.

Costs at a glance

API-equivalent cost for today, 7 days and 30 days, plus the last 14 days, all computed from your local Claude Code logs.

Menu bar modules and widgets

Choose what the menu bar shows (account, session or weekly usage, cost, reset countdowns) and add desktop widgets in three sizes.

Private by default

Emails are masked unless you choose to show them. Accounts are added through the browser login of the official CLIs, or by importing the login you already have, so there is no password to type into Tagteam.

Native, and in your language

Built with SwiftUI, with light and dark mode. Available in English, 简体中文, 日本語, Deutsch and Français. No made-up numbers: a missing reading shows “—”, never 0%.

02

How switching works.

Nothing is logged out, so you can switch back at any time.

Claude Code

  • Every account you add is backed up: its OAuth token plus the matching oauthAccount block from ~/.claude.json.
  • A switch writes the target account into the Claude Code-credentials keychain item and into ~/.claude.json.
  • Expired access tokens are refreshed by the official CLI (claude auth status), not by calling Anthropic’s private OAuth endpoint.

Codex

  • A switch swaps ~/.codex/auth.json, written atomically with mode 0600. Each account’s file is kept in the keychain.
  • Before overwriting, Tagteam saves the current file into the backup of the account that owns it. If it holds a login Tagteam doesn’t manage, the switch stops instead of discarding it.
  • The Codex app-server and the ChatGPT (Codex) desktop app are closed gracefully, then reopened only if they were running.
03

Install in a minute.

  1. Download

    Get Tagteam.zip from this page as soon as downloads open.

  2. Move to Applications

    Unzip it and drag Tagteam.app into /Applications.

  3. Open it

    Signed with a Developer ID and notarized by Apple, so it opens without Gatekeeper warnings.

Upgrading from CCSwitcher

Tagteam keeps the same bundle identifier, so your accounts, profiles and settings carry over. Quit CCSwitcher, install Tagteam, and delete the old app. On first launch macOS may ask once to allow keychain access, and the widget fills in after the first refresh.

Updates

Automatic updates are removed. New versions will be published on this page.

04

Questions, answered.

Is Tagteam notarized?

Yes. It is signed with a Developer ID and notarized by Apple, so it opens without Gatekeeper warnings. The first time it reads the Claude Code credentials, macOS asks for keychain access: choose Always Allow.

Which CLIs do I need?

macOS 14 or later, plus the Claude Code CLI and/or the Codex CLI. Install the one you use, or both.

Where are my credentials stored?

Claude Code: each account’s OAuth token and oauthAccount block are backed up, and the live account is the Claude Code-credentials keychain item plus ~/.claude.json.

Codex: the live login is ~/.codex/auth.json (mode 0600), and each account’s file is kept verbatim in the keychain item CCSwitcher-codex-backups.

Emails are masked in the app unless you choose to show them.

What happens to Codex sessions that are already running, or to ChatGPT.app?

Recent Codex versions keep the login in memory, in the codex app-server daemon and in the ChatGPT (Codex) desktop app. On every switch Tagteam closes both gracefully, swaps the file, then starts them again, but only if they were running. You can turn this off in Settings → Codex.

Interactive codex sessions that are already open keep their account until you restart them; the popover shows how many are running.

Does Tagteam refresh my Codex tokens?

Not for the live account: refresh tokens are single-use and belong to the CLI. Only stored accounts are refreshed, and the new tokens are saved before use.

Tagteam app icon

Tagteam is coming soon.

Downloads open here shortly. It runs on macOS 14 Sonoma or later.

Tagteam is free and made by one developer. If it saves you a limit or two:

Support me on Liberapay