Check agent CLI sign-in in server setup with a sign-in button

This commit is contained in:
Ian Gulliver
2026-10-23 06:18:12 -07:00
parent 3de5f76fba
commit 3d727b9c71
6 changed files with 89 additions and 17 deletions
+2 -2
View File
@@ -14,10 +14,10 @@ Agents run on the Mac byre runs on, the one your own Bash runs on. Check its too
"$SHELL" -l -i -c '/Applications/Byre.app/Contents/Helpers/byre check'
```
It prints one JSON line: `ready` (false while something blocking is missing) and `checks`, each with `name`, `need` (`required`; `agent`, where one of claude, codex and agy is enough; or `optional`), `for` (what it is used for), `ok`, `tool` (what installs it: `byre install-tool <tool>`; empty while Homebrew, which it needs, is missing), `fix` (what to do instead) and `blocking`.
It prints one JSON line: `ready` (false while something blocking is missing) and `checks`, each with `name`, `need` (`required`; `agent`, where one of claude, codex and agy is enough; or `optional`), `for` (what it is used for), `ok`, `tool` (what installs it: `byre install-tool <tool>`; empty while Homebrew, which it needs, is missing), `fix` (what to do instead), `blocking` and `signed_out` (claude or codex is installed but not signed in, which also makes `ok` false).
- `byre install-tool <tool>` installs one tool: `brew` (Homebrew, and its `shellenv` line in `~/.zprofile`), `git` (`xcode-select --install`, which opens a macOS dialog for the human to click Install), `claude` (its installer, and `~/.local/bin` on `PATH` in `~/.zshrc`), and `codex`, `agy`, `node` and `chrome` through Homebrew. Homebrew's installer asks for the human's password, and `claude`, `codex` and `agy` end by starting the CLI for the human to sign in, so these need the human at a terminal on that Mac: type the command into the task's terminal without the newline and ask them to press Enter, or point them at the app's Server tab there, which lists each missing tool with a Run in Terminal button. `node` and `chrome` you can run yourself through `"$SHELL" -l -c '<command>'`.
- Sign-in, when a CLI is installed but not signed in: `claude`, `codex login` or `agy`, each run once by the human. `claude auth status` (JSON, `loggedIn`) and `codex login status` show whether one is signed in; agy has no status command, so ask.
- Sign-in, when a CLI is installed but not signed in: `byre install-tool <tool>` skips the install and just starts the sign-in, run once by the human like the installs. byre's Codex has its own home, so Codex is signed in there, not in `~/.codex`; `install-tool codex` handles that. agy has no status command, so ask whether it is signed in.
- The service's `PATH` is fixed when it is installed, and your own shell has the same one. It comes from an interactive login shell (`-l -i`), since claude's installer has the human add `~/.local/bin` to `.zshrc`. When a tool is found through that shell but not by `/Applications/Byre.app/Contents/Helpers/byre check` run directly, reinstall the service from it so it picks the new `PATH` up: `"$SHELL" -l -i -c '/Applications/Byre.app/Contents/Helpers/byre install'`. That restarts byre and cuts your turn off; you resume with a restart message, so say before running it that you will carry on afterwards. When you resume, check with `byre check` before reinstalling again: the restart usually took.
- `byre install` and the app's Server tab (Turn off, Turn on) are the only ways to restart byre's service. Never run `launchctl` on it yourself, and never tell the human to.
- Google Chrome, for agents' browser tools, asks "downloaded from the Internet" on its first launch, and can't be driven until the human answers Open.