Skip to content

Set Up the iBoB Terminal Kit

The terminal kit is the phone path into BoB for anything the web app cannot do (cap #2289). It is written down in one file and checked by one command, so the setup is never something you have to remember. The facts and fields are in the iBoB kit reference.

There are two ways in from the phone, and they share one tailnet:

  • A terminal (Tailscale + an SSH/mosh app + tmux attach) for watching or steering a live warp or cdfork run on farm-01 or a laptop.
  • Claude Remote Control for driving a Claude Code session from the Claude iOS app. This is Anthropic’s own feature; BoB builds no replacement for it.
  1. Copy the template into your operator repo.

    Terminal window
    mkdir -p ~/projects/bob-operator/config && cp ~/projects/bigbrain/templates/ibob/ibob-kit.json ~/projects/bob-operator/config/ibob-kit.json

    You should see: nothing — the file is copied. Broken looks like: No such file or directory — stop and paste me what you got.

  2. On the phone, install Tailscale and sign in to the same tailnet as your machines (Tailscale for iOS). Install an SSH app that speaks mosh. Blink Shell does: its docs cover mosh and on-device SSH keys. Check the vendor docs for the app you pick — the kit file records what it supports, it does not assume.

    You should see: the Tailscale app shows your machines (farm-01, the laptops). Broken looks like: the machine list is empty — sign in with the tailnet’s account.

  3. In the SSH app, create one key per device and name it ibob-iphone (or ibob-ipad). Copy its public key line and, on each machine it should reach, append it to ~/.ssh/authorized_keys. Then read its fingerprint:

    Terminal window
    ssh-keygen -lf ~/.ssh/authorized_keys | grep ibob-iphone

    You should see: 256 SHA256:… ibob-iphone (ED25519). Broken looks like: no line — the key was not appended; paste it again.

  4. Fill in config/ibob-kit.json: your client app, each device with its key name, the SHA256: fingerprint from step 3, the machines that authorize it, and the default attach target. Declare each key as a credential in secrets-inventory.json (an ssh-key location) and as a secrets[] entry in operator.json with the same inventory_id, so bob secrets check reports it.

  5. Check the kit.

    Terminal window
    bob ibob check

    You should see: iBoB terminal kit — converged, a ✓ for every machine check, and the live sessions on each machine. Broken looks like: a ✗ line. The fix: line under it says what to do. A macOS machine with Remote Login off is reported, never switched on — turn it on in System Settings → General → Sharing → Remote Login.

  6. Attach from the phone. On a desk machine, ask which sessions are live:

    Terminal window
    bob ibob attach farm-01

    You should see: one line per warp or cdfork session, each with the exact command to type in the phone app, such as mosh farm-01 -- tmux attach -t warp-bigbrain. Broken looks like: no live warp or cdfork session — start one with bob warp start, or pick another machine.

    In the phone app, run the printed command. Detach with Ctrl-b then d: the run keeps going. Closing the app does the same; mosh reconnects when you return.

  7. To drive a Claude Code session from the phone instead, start it with Remote Control on the machine and open it in the Claude iOS app (Remote Control docs):

    Terminal window
    claude --remote-control

    You should see: an /rc active indicator in the terminal; the session shows up in the Claude app’s session list. Inside a session already running, type /rc. Broken looks like: an eligibility error — Remote Control needs a claude.ai login on a Pro, Max, Team or Enterprise plan, not an API key.