Troubleshooting
Start with collied doctor on the machine. Each line is ok, warn or fail, with the name of the check. Then find your symptom below.
collied doctor
The machine shows offline
The phone could not reach the machine over the tailnet.
- Check that the machine is awake and
colliedruns: thedaemonline incollied doctor, orcollied status. - If you ran
collied stop, runcollied start. - A
warnon thetailnetline saying "no node state (not logged in)", or afailon thedaemonline whose node is notRunning, means the node is logged out: runcollied login. Afailon thetagline means the node lost its tag;collied loginprints what to fix. Afailon thetailnetline is a problem with the node state folder itself, such as its permissions. - A
warnon thereachline means no device of yours can reach the node: check the tailnet policy and that the phone is signed in to Tailscale in the app. - Pull to refresh on the Agents tab to retry at once.
Connection errors are shown in full in the Machines tab, with a button to copy them.
"Update collied" or "Update the app"
The app and collied speak different protocol versions. Update the side named in the message: see Version mismatch.
No push notifications
- Look at the
apnsline incollied doctor. If it is not configured, follow Push notifications. On macOS, a key the daemon cannot read usually meanscolliedwas rebuilt withoutjust collied-install: reinstall it. - Run
collied apns test. It reports whether Apple accepted the push; then check the phone. - Check that notifications are allowed for Collie in the iPhone's Settings.
- Done alerts only come for turns of 30 seconds or more, never for an agent that is on screen, and not at all when Settings > Notifications > Notify when an agent finishes is off.
Chat unavailable
- The agent has no session ID: Chat says so and retries when one arrives. For Codex, install herdr's hook with
herdr integration install codex, and again after each herdr update. Thecodex hookline incollied doctorwarns when it is missing or older. - The session was started before the hook: for Codex, finish the turn and relaunch it in the same pane with
codex --no-daemon resume <session-id>. colliedis older than the app: updatecolliedto enable Chat.- The transcript is missing: Chat shows the history as unavailable, with a button to open Terminal.
Codex status or done alerts missing
herdr reads Codex's status from its screen. If a Codex agent stays unknown, or finished turns send no done alert:
- Make sure herdr is the version
colliedis tested against (see Requirements) and install its Codex hook again:herdr integration install codex. - Check the agent's status in
collied statuswhile it works. A turn that ends inunknownsends no done alert. - Codex tasks started from collie use
--no-daemon. Relaunch older shared-daemon sessions as described in Codex.
Pairing refused
- The window closed: a pairing window lasts 120 seconds and the first attempt closes it, right or wrong. Run
collied pairagain. - No answer on the machine: without a
ywithin 60 seconds, the answer is no. - Another user:
colliedonly accepts the owner (owner_user_id, or the user of the first confirmed phone). Sign in to Tailscale in the app with the owner's account. - A tagged or shared-in phone: the phone's node must be untagged and belong to your tailnet. Do not sign the app in with a tagged auth key.
- The policy blocks the port: check the
reachline and the tailnet policy.
Still stuck
Open an issue: see Support.