~/.pitboard, after an interrupted switch, a restore from a backup or a move from another computer. An interrupted switch is one that stopped partway, for example in a crash.
None of them takes an argument. Their only options are --json and --help, described in Global options. For their JSON output, see JSON output.
abandon
pitboard abandon deletes ~/.pitboard/journal.json, pitboard’s record of an interrupted switch. It writes no login, so each tool keeps the login it has. For the same reason, it takes pitboard’s lock but not the one Claude Code writes its login under.
The accounts the switch was moving from and to keep their parked logins. For OpenAI’s Codex CLI, abandon drops a parked login that copies the login in use.
abandon refuses while CLAUDE_CODE_CUSTOM_OAUTH_URL is set, in the environment or in Claude Code’s settings, even for a Codex switch. It exits 3 with the error custom_oauth_endpoint.
There is no interrupted switch to give up on. and changes nothing.
For when to use it, see An interrupted switch cannot be finished.
repair
pitboard repair looks for parked logins that pitboard’s account list does not name. It gives each back to its account, deletes it or leaves it alone.
On macOS, it lists keychain items whose names start with pitboard-park-. Listing reads only the names, so macOS does not ask for permission. On Linux, it lists ~/.pitboard/vault/. It then reads each one the account list does not name.
It also reads ~/.pitboard/pending, where pitboard writes each parked login’s name before creating it. use, enroll, forget, rename and uninstall handle the logins on that list too, without searching the keychain.
A parked login is on neither pending nor the account list only when ~/.pitboard was lost or restored from a backup. Only then is repair needed.
Like use, repair first finishes or undoes an interrupted switch, and stops if it cannot.
It prints a line for each parked login it gives back, and one for each other kind of result:
On Linux, “keychain” in these lines means
~/.pitboard/vault/, which no other pitboard directory shares.
While CLAUDE_CODE_CUSTOM_OAUTH_URL is set, repair refuses as abandon does.
For when to use it, see pitboard lost track of parked logins.
adopt
pitboard adopt takes over a pitboard directory another computer wrote, so this one can use it. Until you run it, most commands refuse the directory with the error state_wrong_machine.
It keeps every account with its label, email and remembered usage. It drops every parked login without asking Anthropic or OpenAI whether it still works. Asking means renewing the login, which could end the other computer’s copy.
It does not first finish or undo an interrupted switch. A later change, such as pitboard use, does that; see Interrupted switches.
pitboard enroll line for each account whose parked login it dropped. If the directory is already this computer’s, it prints This pitboard directory was already written on this computer. and changes nothing.
For when to use it, see The pitboard directory came from another computer.