> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usepitboard.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Menu bar app

> Look up each menu item, window pane, account action, dialog, notification and keyboard shortcut of the menu bar app.

The menu bar app runs on macOS 14 or later. [The app on Windows](/reference/windows-app) has its own page.

The app calls the same core as the command line, not `pitboard`, so both see the same accounts, [parked logins](/concepts/switching#parked-logins) and log.

While any of its windows is open, Pitboard also has a Dock icon, a place in the Command-Tab switcher and [its own menus](#app-menus). Its windows are the Pitboard window, Settings, each [account's window](/reference/account-windows#account-windows) and the [**Open Link** window](/reference/account-windows#open-link-window).

The first time the app runs, it opens the Pitboard window.

Strings here are those the app shows while one tool has accounts. [Accounts of several tools](#accounts-of-several-tools) lists those that change once more tools do.

## Menu bar item

Pitboard's item in the menu bar shows the Pitboard mark, the account in use and how much of one limit it has used, such as **work 42%**. [Menu bar shows](/reference/settings#menu-bar-shows) can leave out the label, or the label and the percentage.

| Part | Rule |
| - | - |
| Label | The label of the account in use, or **unnamed** when it is not enrolled. Past 12 characters, it is cut to 11 and an ellipsis. |
| Percentage | The fullest limit, as a whole percentage. A limit for one model counts only when there is no other. When Anthropic marks some limits active, only those count. |
| Which account, with several tools | The enrolled account in use closest to running out. An account with no reading counts as the least used, and a Claude Desktop account never has one. |
| A tie between tools | Goes to the tool listed first: Claude Code, then Codex, then Claude Desktop. |

Before the first read, and while no tool is signed in, the item shows the symbol alone. Until the account has a reading, it shows the label alone.

## Menu

Clicking Pitboard's item opens its menu: what needs attention, then the accounts, then the commands.

What needs attention, in this order:

| Item | Line under it | Shown when | Choosing it |
| - | - | - | - |
| **Claude Code isn't installed** | **Learn how to install it** | The app found none of `claude`, `codex` and Claude's data folder, and no tool has a login or an account. | Opens Claude Code's setup page. |
| **Switch to personal** | The notice's title | The account in use ran out of a limit, and `personal` has room. | Switches to `personal`. |
| **Finish Adding** | **Adding a Claude Desktop account isn't finished** | An add of a Claude Desktop account was left halfway. | Opens **Add Account**, set to Claude Desktop, with the name the add started with. |
| **Finish Signing In** | **Signing in to home again isn't finished** | A sign-in again to the Claude Desktop account `home` was left halfway. | Opens **Sign In to home Again**. |
| **Put work Back** | The same line as the item before it | An add or a sign-in again to Claude Desktop was left halfway with `work` parked for it. | Switches back to `work`. |
| The notice's title, such as **Couldn't read usage**, or **2 things to look at** for several | **Show in Pitboard**, or the first notice's title | The [Accounts pane](#accounts-pane) has a notice with an orange or red symbol and no switch button. | Opens the **Accounts** pane. |
| **Install Pitboard 0.10.1** | None | A copy from a release found an update. | Opens the update window. |

A check mark shows the account in use in each tool. An account shows its label, its email address while it has none, or **Login Pitboard can't use**. Where its login says a plan, the plan follows, as in **work · Max 20x**. [Account status](/reference/account-status) explains the line under it.

Instead of accounts, the menu can show:

| Text | Shown when |
| - | - |
| **Reading accounts** | The first read has not finished. |
| **No accounts yet** | No tool is signed in and no account is enrolled. |
| **No accounts to show** | Reading failed, with nothing earlier to show. |

Choosing an account:

| Choosing | Does |
| - | - |
| An account you can switch to | Switches to it. |
| An account marked **Needs signing in again** | Opens **Sign In to work Again**. Dimmed while a sign-in runs. |
| The account in use, marked **Not named yet** | Opens **Name This Account**. |
| The account in use, when enrolled, or **Login Pitboard can't use** | Nothing. |

While a switch runs, **Switch to personal**, **Finish Adding**, **Finish Signing In**, **Put work Back** and every account but the one in use are dimmed.

The commands, in this order:

| Item | Shortcut | What it does |
| - | - | - |
| **Add Account** | Command-N | Opens **Add Account**. |
| **Refresh** | Command-R | Reads every account's usage again, even one read moments ago. Dimmed during a read. |
| **Open claude.ai as work** | None | Opens the window of `work`, the only Claude Code account. With several, **Open claude.ai** has a submenu. |
| **Open chatgpt.com as main** | None | The same, for Codex accounts. |
| **Open Pitboard** | Command-0 | Opens the Pitboard window. |
| **Settings** | Command-Comma | Opens [Settings](/reference/settings). |
| **Check for Updates** | None | Opens the update window. Only in a copy from a release. |
| **About Pitboard** | None | Shows the app's version. |
| **Pitboard Help** | None | Opens this site. |
| **Quit Pitboard** | Command-Q | Quits the app. |

The line under **Refresh**:

| Line | Means |
| - | - |
| **Updated 20:52** | When the last read finished, with the weekday on another day. |
| **Reading** | A read is running. |
| **Not read yet** | No read has finished since the app opened or your last change. |
| **Showing the last numbers measured** | The same, after a failed read. |

## Window

The Pitboard window's sidebar holds three panes: **Accounts**, **Activity** and **This Mac**. It opens on the pane you last showed.

### Accounts pane

The **Accounts** pane lists notices, then at most one setup tip, then the accounts by tool. The window's subtitle reads **Updated 20:52**, or **Reading** during a read. The toolbar has **Refresh** and **Add Account**.

Instead of the list, the pane can show:

| Shows | When | Button |
| - | - | - |
| **Claude Code Isn't Installed** | Same as the menu's **Claude Code isn't installed**. | **How to Install Claude Code** |
| **Couldn't Read Accounts** and the reason | A read failed, with no account to list. | **Try Again**, dimmed during a read |
| **No Accounts** | No tool is signed in and no account is enrolled. | **Add Account** |
| **Reading accounts** | The first read has not finished. | None |

| Setup tip | Shown when | Buttons |
| - | - | - |
| **Give this account a name** | A tool is signed in to an account Pitboard has not enrolled. | **Name**, which opens **Name This Account** |
| **Add a second account** | Claude Code's or Codex's only enrolled account is the one in use. | **Add Account**, set to that tool. **Not Now** stops the tip for that tool. |
| **Add a second Claude Desktop account** | Claude Desktop's only enrolled account is the one in use. | **Add Account**, set to Claude Desktop. **Not Now** stops the tip for it. |

| Part of a row | Shows |
| - | - |
| Name | A symbol, the label and the email address, or the email address alone while there is no label. Where its login says a plan, a tag beside the name says it, such as **Max 20x**. |
| Right side | **In Use**, a progress indicator while a switch to it runs, or a button: **Use** or **Sign In Again**. |
| A line per limit | Its short name, such as **5h** or **week**, a bar, the percentage, when it resets, as **resets in 2h 10m**, and its pace, as **27% over pace**. |
| Notes | In order: why it cannot be used, why its numbers are old or when Pitboard last read it, which limit runs out first, how long its parked login lasts, and where its [warm-up](/guides/warm-up) stands while it is turned on. The third shows only on the account in use. |

A bar's tooltip says what an even pace would have used so far. [Account status](/reference/account-status) explains each part.

Notices, most pressing first:

| Notice | Shown when | Buttons |
| - | - | - |
| **An interrupted switch is waiting** | A switch stopped partway, and Pitboard cannot yet tell whether it finished. Where a Claude Desktop move was interrupted too, a line says so, and this notice stands in for **An interrupted move is waiting**. | **Give Up**, which asks first |
| **Couldn't read usage** | The last read failed, for the reason under the title. | None |
| **work has no 5-hour limit left** | The account in use ran out of a limit, and another account of its tool has room. | **Switch to personal** |
| **Switched to work** | The app finished a switch, asked for or automatic, or a sign-in inside Claude put another account in use. | **Dismiss** (an x) |
| **work has a new login** | A sign-in in the app gave the account in use a new login. | **Dismiss** (an x) |
| **Adding a Claude Desktop account isn't finished** | An add inside Claude was left halfway with `work` parked for it. It stays across relaunches, and hides while the app's own dialog waits for that sign-in. | **Finish Adding**, **Put work Back** |
| **Signing in to home again isn't finished** | The same, for a sign-in again to `home`. | **Finish Signing In**, **Put work Back** |
| **Claude Code's config names another account** | The config names another account than the one whose login Claude Code has stored. | **Update Claude Code's Config**, while the account in use is enrolled. It writes that account into the config and moves no login. It fails if another login is stored by then. |
| **A login file is left behind the keychain** | `~/.claude/.credentials.json` sits behind the keychain. | **Put Away**. None when Pitboard cannot read the file. |
| **An interrupted move is waiting** | A Claude Desktop move was interrupted, and its record waits. | **Add the Account Claude Shows**, and **Give Up** once a Claude Desktop change from the app could not settle the move. **Give Up** asks first. |
| **The account in use is not confirmed**, on a Claude Desktop account | Claude's settings have named another account, or nobody, since Pitboard last read Claude. | **Add the Account Claude Shows** |
| Another warning's title, such as **A parked login was refused** | A read or a change warned. [Warning codes](/reference/errors#warning-codes) lists each title. | None |
| **Gave up on the interrupted switch** | You gave up on it. | **Dismiss** (an x) |
| **Gave up on the interrupted move** | You gave up on a Claude Desktop move. Its lines say what was kept and what to do next. | **Dismiss** (an x) |
| **Put away the login left in a file** | **Put Away** finished. Its lines say what became of the login and the file's other keys. | **Dismiss** (an x) |

What **Switched to work** says under its title depends on the tool:

| Tool | Under the title |
| - | - |
| Claude Code | A countdown to when open sessions follow. |
| Codex | That sessions started before the switch keep the old account until they restart. |
| Claude Desktop | **Claude opens signed in to it.** After a sign-in inside Claude, what the sign-in did, such as **Added travel, the account Claude is signed in to now.** |

### Activity pane

The **Activity** pane lists the last 500 changes in Pitboard's log, newest first, from the app and the command line. With nothing logged, it shows **No Activity**.

| Column | Shows |
| - | - |
| **Date** | When, in your Mac's date and time format. |
| **Change** | The verb [`pitboard log`](/reference/maintenance-commands#log) records, named as in the next table. |
| **Account** | The subject the log records, such as `codex/work` or `wrong -> right`. |
| **Result** | **Done**, or the outcome's code in words, such as **Parked login expired** for `parked_login_expired`. |
| **Asked By** | **Pitboard app**, **Command line**, or **Unknown** for a change logged before Pitboard recorded who asked. |

| Change | Verb |
| - | - |
| **Switch** | `use` |
| **Automatic switch** | `auto-switch` |
| **Automatic switch not made** | `auto-stay` |
| **Enrol** | `enroll` |
| **Login in use changed** | `in-use` |
| **Put away a login left in a file** | `stow` |
| **Give up on a switch** | `abandon` |
| **Park for a sign-in** | `park` |
| **Warm-up** | `warm-up` |
| **Warm-up turned on**, **Warm-up turned off** | `warm-on`, `warm-off` |
| **Warm-up hours changed** | `warm-range` |

Any other verb starts with a capital letter, as `rename` reads **Rename**.

### This Mac pane

The **This Mac** pane runs the checks of [`pitboard doctor`](/reference/maintenance-commands#doctor) each time you show it. It shows **Checking this Mac** until the first ones finish. Over them, doctor's summary line, such as **One thing is worth looking at.**, sits beside **Checked at 14:05**.

Each check shows a green, orange or red symbol, its name, what it found and, when it did not pass, what to do. **Check Again** runs them again.

## Account actions

Control-clicking an account in the **Accounts** pane opens its shortcut menu. For `work`, it lists, in order:

| Item | Shown for | What it does |
| - | - | - |
| **Use work** | An account you can switch to, while no switch runs | Switches to it. |
| **Name** | The account in use, when it is not enrolled | Opens **Name This Account**. |
| **Sign In Again** | Every enrolled account, the one in use too | Opens **Sign In to work Again**. Dimmed while a sign-in runs. |
| **Rename** | Every enrolled account | Opens **Rename "work"**. |
| **Warm Up Now** | Every enrolled Claude Code account | [Warms it up](/guides/warm-up#warm-up-an-account-now). Dimmed while its five-hour period runs, while it is held back, while a warm-up runs and while nothing can be warmed up here. |
| **Warm Up Automatically** | Every enrolled Claude Code account | Turns its warm-up on or off. Checked while it is on. |
| **Open claude.ai** or **Open chatgpt.com** | Every enrolled Claude Code or Codex account | Opens the account's [window](/reference/account-windows#account-windows). |
| **Copy Email Address** | Every account with an email address | Copies it. |
| **Forget** | An enrolled account not in use | Asks, then forgets the account. |

## Dialogs and alerts

Dialogs open over the Pitboard window's **Accounts** pane.

| Dialog | Opened by | Holds |
| - | - | - |
| **Add Account** | **Add Account** in a menu, the toolbar or a tip, **Finish Adding**, or **Add the Account Claude Shows** on a notice | A **Tool** pop-up menu, a **Name** field and the tool's button: see [Browser sign-in](#browser-sign-in) and [Claude Desktop sign-in](#claude-desktop-sign-in). For a tool Pitboard cannot find, a note such as **Pitboard can't find the Codex CLI on this Mac.** with a link to install it, and the button dimmed. |
| **Sign In to work Again** | **Sign In Again**, an account marked **Needs signing in again** in the menu, or **Finish Signing In** | The account's label and the tool's button. |
| **Name This Account** | **Name**, or an account marked **Not named yet** in the menu | A **Name** field and **Save**. |
| **Rename "work"** | **Rename** | A **Name** field holding the label, and **Rename**. |
| **Put Away the Login Left in a File** | **Put Away** on its notice | **Finding out whose login it is**, then what the file holds and what putting it away does, as [`pitboard stow`](/reference/recovery-commands#stow) says it. **Put Away** is dimmed for a login of an account not enrolled, and when nothing is left. |

**Add Account** offers every tool Pitboard handles on this Mac and starts on the first it finds. Under a **Name** field, a line says why what you entered cannot be a name, and the dialog's button stays dimmed:

| Entered | Line |
| - | - |
| A space | **A name is one word, with no spaces.** |
| `/`, as in `codex/work` | **A name can't contain "/". Choose the tool above.** In **Name This Account** and **Rename**, **A name can't contain "/".** |

A failure in a dialog goes once you change the name or the tool.

| Tool | Found by |
| - | - |
| Claude Code | `claude` |
| Codex | `codex` |
| Claude Desktop | Claude's data folder |

If an action fails, its dialog stays open with what you entered and says why under one of these titles:

* **Couldn't sign in to work**
* **Couldn't add travel**, where recording the account Claude shows failed
* **Couldn't name this account**
* **Couldn't rename work**
* **Couldn't tell whose login it is**
* **Couldn't put the login away**. The dialog then reads the file again.

### Browser sign-in

Claude Code and Codex sign in through your browser. In **Add Account** and **Sign In to work Again**, their button is **Sign In**. It turns the dialog into **Signing In to Claude Code** or **Signing In to Codex**, which shows:

| Part | Shown |
| - | - |
| A spinner beside the buttons | Until the tool says you are in. |
| **Copy Link** and **Open**, beside **Sign-In Page** | Always, dimmed until the tool gives the page's address. **Copy Link** copies it for another browser or browser profile. |
| A **Code** field and **Submit Code** | Once Claude Code asks for a code. |
| **Cancel** | Always. It stops the sign-in. |

If Claude Code refuses a code, the dialog says **Claude Code didn't take that code. Copy the whole code your browser shows, and paste it again.** and shows the **Code** field again.

### Claude Desktop sign-in

Claude Desktop signs in inside Claude, and no browser opens. In **Add Account** and **Sign In to home Again**, its button follows what Pitboard last read:

| Button | Shown when | What it does |
| - | - | - |
| **Add Account** | No Claude Desktop account is enrolled. | Records the account Claude is signed in to under the name. |
| **Park work** | `work` is in use, whichever account the dialog is for. | Parks `work`, which leaves Claude signed out, then waits for a sign-in inside Claude. |
| **Start Sign-In** | Claude is signed out. | Waits for a sign-in inside Claude. |
| **Add the Account Claude Shows** | In **Add Account**, while an add waits or Pitboard cannot identify the login Claude holds. | Records the account Claude is signed in to under the name. |
| **Record as home** | In **Sign In to home Again**, in the same cases. | Records the account Claude is signed in to as `home`'s login. |

While Pitboard quits Claude to record its account, then reads it, the dialog says **Quitting Claude**, then **Reading Claude's account**, under its fields. **Tool**, **Name** and **Cancel** are dimmed meanwhile, and while Pitboard asks to quit Claude.

While Pitboard waits for a sign-in inside Claude, the dialog keeps its title and shows a spinner beside its buttons. Its message says what Pitboard is doing, quitting Claude or parking `work`, then what to do in Claude. Its buttons:

| Button | Shown when | What it does |
| - | - | - |
| **Put work Back** | `work` is parked for this sign-in. Dimmed while a switch runs. | Stops waiting and switches back to `work`. If Claude is open, Pitboard asks to quit it first. |
| **Later** | `work` is parked for this sign-in. | Stops waiting and closes the dialog. `work` stays parked, and the notice **Adding a Claude Desktop account isn't finished** or **Signing in to home again isn't finished** says so. |
| **Cancel** | Otherwise. Dimmed while Pitboard quits Claude. | Stops waiting. |

Once Claude quits signed in, Pitboard records the account, closes the dialog and says what it did in a notice, such as **Switched to travel**. It does not open Claude again.

### Quitting Claude or the ChatGPT app

Pitboard asks before it quits Claude or the ChatGPT app. **Cancel** changes nothing.

| Question | Asked before | Says | Button |
| - | - | - | - |
| **Quit ChatGPT to switch?** | A switch to a Codex account while the ChatGPT app is open | **ChatGPT keeps using the account it started with until it quits. Pitboard quits it, switches, and opens it again.** | **Quit ChatGPT and Switch** |
| **Quit Claude to switch?** | A switch to a Claude Desktop account while Claude is open | **Pitboard moves Claude's login only while Claude is closed. It quits Claude, switches to home, and opens it again.** | **Quit Claude and Switch** |
| **Quit Claude to add an account?**, or **Quit Claude to sign in to home again?** | **Park work** while Claude is open | **Pitboard parks work only while Claude is closed. It quits Claude, parks work, and opens Claude again for you to sign in.** | **Quit Claude and Park work** |
| The same titles | **Start Sign-In** while Claude is open | **Pitboard starts waiting for a sign-in only while Claude is closed. It quits Claude and opens it again for you to sign in.** | **Quit Claude and Start Sign-In** |
| **Quit Claude to add travel?** | **Add Account** or **Add the Account Claude Shows** while Claude is open | **Pitboard reads which account Claude is signed in to only while Claude is closed. It quits Claude, records that account as travel, and opens it again.** | **Quit Claude and Add** |
| **Quit Claude to record home?** | **Record as home** while Claude is open | **Pitboard reads which account Claude is signed in to only while Claude is closed. It quits Claude, records that account as home's login, and opens it again.** | **Quit Claude and Record** |

Pitboard asks Claude or the ChatGPT app to quit as Command-Q does, then waits up to 30 seconds:

| Claude or the ChatGPT app | Pitboard | Then says |
| - | - | - |
| Has not quit | Changes nothing. | **Claude is still open, so nothing has changed.**, then what to do |
| Quit, and part of it still runs | Changes nothing, and opens it again. | **Part of Claude is still running after it quit, so nothing has changed.**, then what to do |

For the ChatGPT app, the same strings name ChatGPT.

### Alerts

| Alert | Opened by | Says | Buttons |
| - | - | - | - |
| **Forget "work"?** | **Forget**, or Delete on a selected row | What forgetting deletes, as the next table gives it | **Forget**, **Cancel** |
| **Give up on the interrupted switch?** | **Give Up** on **An interrupted switch is waiting** | **Every login is kept, and nothing is deleted. Pitboard stops trying to finish it.** | **Give Up**, **Cancel** |
| The same | The same, with a Claude Desktop move waiting too | **Every login is kept, and nothing is deleted. Pitboard stops trying to finish it and, with Claude quit, settles or gives up the interrupted Claude Desktop move too.** | **Give Up**, **Cancel** |
| **Give up on the interrupted move?** | **Give Up** on **An interrupted move is waiting** | **Every folder is kept and nothing is deleted. Whatever is in Claude's folder stays there.** | **Give Up**, **Cancel** |
| **Replace Claude Code's Login?** | A switch to an account while Anthropic refuses for good the login Claude Code has in use | Why, ending **so putting another login in its place loses nothing.** | **Replace**, which puts the account's login in its place, **Cancel** |
| **Couldn't switch to work**, **Couldn't forget work**, **Couldn't give up on the interrupted switch** or **Couldn't update Claude Code's config** | That action failed, wherever it started | The reason, then any warnings | **OK** |

| Account | **Forget "work"?** says |
| - | - |
| Claude Code | **Pitboard deletes the login it parked for this account, and everything its claude.ai window keeps on this Mac, its sign-in included. Using it again needs a sign-in in your browser.** |
| Codex | The same, naming its chatgpt.com window. |
| Claude Desktop | **Pitboard deletes the login it parked for this account and the folders set aside for it. Using it again needs a sign-in in Claude.** |

A failure alert opens the Pitboard window. While a dialog is up, alerts show over it.

Account windows' alerts are in [Account windows and shared links](/reference/account-windows).

## App menus

| Menu | Item | Shortcut | What it does |
| - | - | - | - |
| **File** | **Add Account** | Command-N | Opens **Add Account**. |
| **File** | **Open claude.ai as work**, **Open chatgpt.com as main**, or a submenu for a site with several accounts | None | Opens that account's window. |
| **File** | **Remove Website Data** | None | Asks, then [removes the website data](/reference/account-windows#remove-website-data) of the account window in front. Dimmed unless one is in front. |
| **Edit** > **Find** | **Find**, **Find Next**, **Find Previous**, **Use Selection for Find** | Command-F, Command-G, Shift-Command-G, Command-E | Finds text in the page of the account window in front. |
| **View** | **Refresh**, **Check Again** or **Reload Page** | Command-R | The button of the window in front: **Check Again** in **This Mac**, **Reload Page** in an account's window, **Refresh** in the other panes. Dimmed elsewhere, and while it runs. |
| **View** | **Actual Size**, **Zoom In**, **Zoom Out** | Command-0, Command-Plus, Command-Minus | Zooms the page in the account window in front. |
| **Go** | **Back**, **Forward** | Command-Left Bracket, Command-Right Bracket | Shows the previous or next page in the account window in front. |
| **Help** | **Pitboard Help** | None | Opens this site. |

### Dock menu

The Dock icon's menu lists the items that open account windows, as the **File** menu does, then **Open Pitboard**. macOS adds the open windows.

Opening Pitboard from Finder or Spotlight with no window open opens the Pitboard window.

## Notifications

| Title | Posted | Body | Button |
| - | - | - | - |
| **work has no 5-hour limit left** | When the account in use runs out of a limit and another account of its tool has room, as [When an account runs out](/guides/switch#when-an-account-runs-out) says. Once for each limit and reset, even across restarts. | **personal has 58% of its own left.**, or **seat has no such limit.** for an account without that limit | **Switch**, which switches to `personal` |
| **Switched Claude Code to personal** | After each switch the app makes by itself. | **work had used 96% of its 5-hour limit. Sessions already running follow within 33 seconds.** | None |
| **Claude Code was not switched** | When a limit of the account in use reaches the share in **Switch when a limit reaches**, and Pitboard holds back. Once for each limit, reset and reason. | **work has used 96% of its 5-hour limit.**, then a reason from [When it stays on the account](/reference/automatic-switching#when-it-stays-on-the-account) | None |
| **Pitboard is not switching Claude Code** | When Pitboard cannot decide whether to switch. Once for each reason and what it names. | A reason from [When it decides nothing](/reference/automatic-switching#when-it-decides-nothing) | None |
| **Pitboard could not switch Claude Code** | When an automatic switch fails. Once for each kind of error. | The error | None |
| **Pitboard could not warm up an account** | When a warm-up the app made by itself came to nothing. Once for each error until a warm-up starts a period. | The error | None |
| **A login was replaced outside Pitboard** | When a read finds that an account's only login ended outside Pitboard. A sign-in such as `/login` in Claude Code replaced it, or the account was signed out in Claude. Once for each account while reads find it, and once more after the app reopens. | The warning's message, which says what ended the login and how to sign in again, as the next table gives it | None |

It ends with **Choose Sign In Again… on its row.**, whether a sign-in replaced the login or the account was signed out in Claude.

While a login file sits behind the keychain, the second sentence of **Switched Claude Code to personal** reads **Sessions already running keep the account they are on until their login is next renewed, or until they are started again:** and names the file.

The three that hold back or fail come only while **Switch Claude Code automatically** is on. They can come again after the app next switches. A notification starts its reason with a capital letter and ends it with a full stop.

Only the run-out notification can have a subtitle. Clicking a notification itself does nothing. Notifications play no sound and set no badge. macOS asks whether to allow them the first time the app posts one.

## Keyboard shortcuts

Keys that no menu shows:

| Keys | Where | What it does |
| - | - | - |
| Return, or double-click | A row in the **Accounts** pane | What the row's button does. On the account in use when it is not enrolled, opens **Name This Account**. |
| Delete | A row in the **Accounts** pane | **Forget**, after asking |
| Return | A dialog | Its default button: **Sign In**, **Submit Code**, **Save**, **Rename**, **Put Away** or a button from [Claude Desktop sign-in](#claude-desktop-sign-in) |
| Escape | A dialog | **Cancel** |
| Escape | A dialog waiting for a sign-in inside Claude, before the wait starts or with an account parked for it | Nothing |

## Accounts of several tools

Once more than one tool has accounts, these strings name the tool:

| Where | One tool | Several tools |
| - | - | - |
| Menu and **Accounts** pane | One list of accounts | A heading for each tool: Claude Code, then Codex, then Claude Desktop |
| Run-out notice | **work has no 5-hour limit left** | **Claude Code: work has no 5-hour limit left** |
| Run-out notification | No subtitle | The subtitle **Claude Code** or **Codex** |
| Switch notice | **Switched to work** | **Switched Codex to work** |
| Its countdown | **Sessions already open follow in** | **Claude Code sessions already open follow in** |
| New-login notice | **work has a new login** | **work in Codex has a new login** |
| Second-account tip | **Add a second account** | **Add a second Codex account** |
| **Forget** alert | **Forget "work"?** | **Forget "work (Codex)"?** |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.