Skip to content
Commands

Commands

aims help <command> shows the same with examples. <tool> is claude or codex; <profile> is an account name you chose.

Arguments in [brackets] are optional. Leave them out and aims asks on a terminal: it lists your accounts with who they are and how they are doing, and checks before anything it cannot undo. A profile name alone means the tool that has it (aims logout work). In a script, a missing argument is an error that shows an example.

Get started

aims init

Sets up your accounts step by step: finds the tools and your current logins, names the accounts, sets what they share, connects the integrations and walks you through the logins. Run it again to add an account or reconnect the tools.

FlagDefault
-y, --yesNo questions; logins are left for later. Tools that already have profiles are skipped, so it is safe to repeat.
--toolsevery installed toolComma-separated, e.g. claude
--currentpersonalName for the login you already have
--secondworkName for the other account
--shareallall, settings or none. See What accounts share.
--integrationsallskill, mcp, statusline, shell (comma-separated), all or none

aims login [tool] [profile] [-- tool flags]

Runs the tool’s own login for the profile, creating the profile if it is new. Without a profile, aims asks which account to log in, starting on one that needs it, or sets up a new one. Flags after -- go to the tool:

aims login claude work -- --email me@company.com
aims login codex work -- --device-auth

--share sets the sharing mode of a new profile. When the login turns out to be an account another profile already uses, aims says so.

Every day

aims status [tool]

Every account with its login, plan usage and marks. Alias: aims ls.

Flag
--liveAsk the providers first. Free for Codex; costs a few tokens for Claude Code.
--jsonMachine-readable output

aims use [tool] <profile>

Makes a profile the active account for new sessions and puts it first in the failover order. Without a tool, every tool that has a profile with that name switches.

aims claude [args], aims codex [args]

Run the tool as the active account (or the next usable one). All arguments go to the tool. aims claude@work and aims codex@work pick the account.

aims run <tool>[@profile] [args]

The same as the line above, spelled out.

aims env [tool] [profile]

Prints the exports that pin the current terminal to a profile. Use with eval "$(aims env work)".

Flag
--resetUnpin
--shellbash, zsh, fish or powershell (default: detected)

Accounts

aims add [tool] [profile]

Adds a profile without logging in. Without a profile, aims asks for the tool, a name and what it shares, and offers to log it in.

Flag
--existingAdopt the login already in the tool’s own folder
--shareall, settings or none
--dirUse this folder instead of ~/.aims/profiles/<tool>/<profile>. It must not overlap your home folder, ~/.aims, the tool’s folder or another profile.
--loginLog in right away

aims failover [tool]

Marks the account you used last as limited. New sessions use the next usable account until the mark lifts, then return to the active one. With stay on, the next account becomes the active one instead.

Without a tool, aims uses the only tool with a second account, or asks. On a terminal it also asks which account hit its limit (starting on the one used last) and what happened, then offers to continue your last conversation on the next account.

Flag
--fromThe profile to mark (default: the one used last)
--toMake this profile active instead, as aims use would
--minutesHow long the mark lasts when the reset time is unknown
--reasonlimit (default) or login. A login mark lasts until aims login.
--resumeContinue the last conversation on the new account

aims clear [tool] [profile]

Removes limit and login marks. Without arguments, aims lists the marked accounts, all picked, and clears the ones you keep picked. A script names the account, or passes --all to clear every mark.

aims order [tool] [profile]...

Sets which account comes first and which stand in for it. The first becomes the active account; while it is limited or logged out, new sessions use the next usable one, in this order. aims order claude personal work means “personal, and work when personal is out”.

Every argument is optional. Without a tool, every tool that has the named profiles changes (aims order personal work). Without profiles, aims asks which tool (or both, when they have the same accounts), which account comes first and what to do at its five-hour limit, shows the order and saves it once you confirm.

FlagDefault
--five-hourswitchAt an account’s five-hour limit: switch to the next one or wait for the reset
--after-resetbackOnce the first account works again: go back to it or stay on the one that took over

Both apply to every tool and work without an order too: aims order --five-hour wait. See The five-hour limit.

aims logout [tool] [profile]

Runs the tool’s logout for the profile. Without a profile, aims asks which logged-in account, then checks first (No is the default).

aims rm [tool] [profile]

Forgets a profile. Alias: aims remove. Without a profile, aims asks which account and what should happen to it: keep it (the default), forget it, or log it out and delete its folder.

Flag
--purgeAlso log it out and delete its folder. Anything shared that was written there moves to the hub first; shared history and settings are never deleted. aims only deletes folders it created.
--forcePurge even if some shared entries could not be moved
-y, --yesDo not ask

Integrations

aims setup

Connects aims to the tools. See AI integration.

Flag
--allSkill, MCP server, status line and shell integration
--no-skill, --no-mcpSkip one
--statuslineShow the account and plan usage in Claude Code’s status line
--shell [name]Add the shell integration to your shell’s startup file
--toolsOnly these tools

aims sync [tool]

Repairs shared links for every profile (each launch does this for the profile it starts) and copies MCP servers added to your main Claude Code login into the other logins.

aims shell-init [shell]

Prints the shell integration: claude and codex functions and completion for aims.

aims mcp

The MCP server. Claude Code and Codex start it; you do not run it yourself.

Maintenance

aims doctor

Checks the tools, each profile’s login and shared folders, and the integrations, and prints the command that fixes each problem. It repairs shared links as it goes; --fix also adopts databases that looked open (close the tools first). Exits with 1 when something needs attention.

aims clean

Takes aims out of your tools (skill, MCP server, status line, shell line) and forgets its settings and marks. Every login and account folder stays, so aims init brings them back without logging in again. Alias: aims uninstall. -y skips the question.

aims wipe

Logs out every account aims created and deletes its folder, then cleans. Anything shared that was written in a folder moves to ~/.claude or ~/.codex first. Your conversations, sessions, skills, settings and main logins are never touched, and custom --dir folders are forgotten, not deleted.

Flag
-y, --yesDo not ask
--forceDelete a folder even if something in it is not shared

aims upgrade

Upgrades aims with the tool that installed it. Alias: aims update. --check only prints the command.

aims completion <shell>

Prints the completion script for bash, zsh, fish or powershell.

Exit codes

CodeMeaning
0Success
1An error, or doctor found problems
2A command-line mistake, or an unknown profile
130Cancelled with Ctrl+C
otheraims claude and aims codex exit with the tool’s own code