pitboard --help.
pitboard --help and the shell completions leave out manpage. On Windows, the help names no Claude Desktop label.
Default command
pitboard alone runs pitboard status, and pitboard --json runs pitboard status --json. The options of status need its name: pitboard status --offline.
Global options
- Every command but
helptakes--help. - Every command but
help,completionsandmanpagetakes--json. --jsongoes before or after the command:pitboard --json use workispitboard use work --json.pitboard help <command>prints the same help aspitboard <command> --help.- Only
pitboarditself takes--version.
Labels
A label names one account within its tool, so each tool can have awork. Labels compare exactly: Work and work are two labels.
A label you choose, for pitboard enroll or as the second label of pitboard rename, follows these rules. Breaking one exits 2 with error code usage.
What a bare label, one with no prefix, means depends on the command:
Pitboard writes a label the way a command takes it:
Against the enrolled accounts, a label fails with exit status 1:
On Windows and Linux,
pitboard enroll refuses a desktop/ label with live_store_unsupported and exit status 3.
Output
Pitboard colours output to a terminal, and none to a file or a pipe. JSON output never has colour.
NO_COLOR, set and not empty, turns colour off. CLICOLOR_FORCE, set and not empty, turns it on for a file or a pipe too. NO_COLOR wins when both are set.
statusline has its own colour rules.
Questions before deleting
pitboard forget, pitboard stow and pitboard uninstall ask before they delete anything. They ask when standard input and standard error are both terminals and --json is not given. --yes or -y skips the question.
Only y, Y and yes go ahead. Any other answer, an empty one included, changes nothing, prints nothing more and exits 0.
With standard input or standard error redirected, as in a script or 2>/dev/null, or with --json, each needs --yes. Without it, the command changes nothing and exits 2 with confirmation_needed.
With nobody to ask, these answer as they do with --yes:
pitboard stowwith nothing behind the keychain or Credential Manager, as always on Linux, or with a login of an account not enrolled.pitboard forgetwith a label that names no account. It fails with that label’s error, such asaccount_unknown.pitboard forgetandpitboard uninstallwhere Pitboard may change nothing, andpitboard stowthere once it finds a file to put away. Each fails with the reason,elevatedorsystem_too_old.
--yes. Without it, the answer is confirmation_needed. Forgetting the account in use is one, with cannot_forget_active_account. identity_unverifiable, custom_oauth_endpoint, app_open and uninstall’s pitboard_open are others.
pitboard use asks only where Anthropic refuses the refresh token of Claude Code’s login in use for good, before it puts the account’s login in its place. It asks and takes --yes as these do. With nobody to ask and no --yes, it changes nothing and exits 1 with live_login_refused.
Exit codes
pitboard doctor also exits 3 when a check fails.
Exit status 2 covers:
- An unknown command or option, or an extra word:
pitboard status --verbose,pitboard status work. - A missing argument:
pitboard use. - A value out of range or not offered:
pitboard watch --at 40,pitboard completions fish2. --offlinetogether with--fresh.pitboard schedulewith no subcommand, which prints its help on standard error.- A chosen label that breaks a rule in Labels.
--jsononhelp,completionsormanpage.forget,stoworuninstallwithout--yeswhere it cannot ask, as Questions before deleting describes.
status, renew and statusline report some failures in their output and still exit 0. Each command’s entry says which.
For the exit status of every error code, see Error and warning codes.