Skip to main content
The status command does most of this page’s job for you now. It reads the whole computer, names anything that’s wrong in plain English, and prints the command that fixes it. Run it first. What’s left here is a map: the symptom you arrived with, the row that answers it, and the handful of things status genuinely can’t see.

Start with status

It reports on the computer, not just your session: pairing, delivery, the direct local network link, approvals, then the agent you’re in and every other one it found. A ! is a real problem and the → under it is what to do about it, spelled out in the command dialect of whichever agent you asked from. Most people stop there. What each row means, with a healthy machine and a broken one side by side, is on Commands.
Status never makes a network call. It can tell you when this computer last sent an event — not whether your phone received it, and not whether the worker or your Wi-Fi is having a bad day.

Which row answers it

Read Phone. NOT PAIRED is the whole answer, and the arrow under it prints the pair command — Pairing has the walkthrough.Paired and still nothing? Carry on to Delivery.
Delivery says when this computer last managed to send anything. If that’s recent, the silence is on the phone’s side — open the Nomo app, which forces a refresh, and a stale card corrects itself immediately.A card that has drained of colour and says Disconnected? is ten minutes of hearing nothing at all. A Mac asleep, off the network, or with its terminal closed all look identical from the phone.If Delivery is old or never while a session is genuinely running, read Hooks next.
Read Approvals. PAUSED means someone ran the pause command on this computer — possibly months ago, which is exactly why this used to be undiscoverable. Resume it from a session on that machine and prompts come back: approvals.If it says on, the switch that’s off is on your phone. Answer on iPhone is off by default — Settings. The tell is colour: every raised hand is yellow (Need help, which only the terminal can take) and none are violet (Needs permission, the answerable one). See Answering from your phone.
Hooks — or Plugin in OpenCode, which has none. If it isn’t firing, your agent isn’t handing Nomo anything, and every agent loads that wiring only at startup: restart Claude Code, run /hooks in Codex, restart OpenCode.Codex trusts hooks explicitly and a plugin update re-opens that review, so /hooks after an update is the usual answer there — why.
A Plugin row that says installed with no activity usually means OpenCode was already running when the plugin arrived. OpenCode loads plugins once, when its server starts, so quitting it and starting it again is the whole fix — reloading the TUI isn’t enough. It’s the same reason reset needs OpenCode closed.
Sessions counts what this computer still believes is alive. If that’s more than you have, clear the dead ones without unpairing:
Live sessions, your pairing and your keys are left alone — what it prints. An OpenCode row belongs to OpenCode’s server, so quit OpenCode first if one refuses to clear.

What status can’t see

Your Mac is doing its job for all three of these. The answer is on the phone.
Almost always the intended behaviour: sessions are opt-in. Open the computer, find the session, flip its switch — or turn on Auto add new sessions in Settings.If the switch is on and still nothing shows, check Live Activities is enabled for Nomo in iOS Settings. Then check that another session isn’t holding the island: your phone shows one at a time, and a session that has been waiting on you outranks one that’s working.
That session is asking permission. A prompt reaches your island whichever way its switch is set — otherwise a prompt that arrived while your phone was in your pocket would be one you couldn’t answer, which is the whole point of the feature. So the switch shows on while the prompt waits, because that’s what’s actually happening.Why you can’t turn it off: turning it off wouldn’t do anything. The prompt would stay on the island regardless — that’s the only way it can reach you — so the switch would flick back on under your thumb a second later. Rather than give you a control that ignores you, Nomo holds it still until it can obey you again.Nothing you chose was overwritten. Answer the prompt and the switch goes straight back to off, where you left it — or within the hour, if nobody answers. Then it’s yours to set again.
Always allow, Deny with note… and Answer… all need plugin 2.0.0 — answering from the phone is what 2.0 added. Nomo hides options the Mac can’t honour rather than offering a button that would do nothing. Status prints the plugin version on its first line, so that’s where to check.A Plugin update available banner at the top of the drawer means exactly that. Update from the same command you installed with.

Pairing and decryption

Your phone is receiving updates it can’t read, or a computer it no longer has a key for. All three end at the same fix: pair that computer again.
Your phone received the update but hasn’t unlocked it yet. Nomo retries every few seconds, and this usually clears itself within one poll.If it persists, your phone no longer holds the right key for that computer — the Mac was re-paired, or the pairing was replaced. Pair it again.
The same thing, after ten minutes of failing. Rather than leaving a row that looks alive but isn’t, Nomo marks it dead and stops guessing at its contents. It won’t drive the island and it won’t be counted as active. Re-pairing the computer restores it.
That pairing was revoked — you re-paired the Mac, or ran /nomo-cc:unpair on it. Nomo waits for a sustained run of failures before believing it, so this is never a flaky-minute-of-Wi-Fi diagnosis.Tap Remove, or leave it — it clears itself about a minute later. Pair the computer again when you want it back.

Still wrong? Send it over

Turn on Session diagnostics in Settings, then expand the session that’s misbehaving. A line of Nomo’s own internal state appears underneath it, something like:
Don’t try to decode it — that’s our job. Screenshot the row and send it, along with what you expected and what you got instead:

Open an issue

Best for anything reproducible. Public, so leave out anything private.

Email

Also in the app, under Settings → Contact.
The output of /nomo-cc:status from the affected computer helps too — the version on its first line is half the diagnosis.

Nothing’s broken — you just want something

“Why can’t I do X from my phone?” is often a fair question rather than a bug. Some of it is a real limit of what an agent hands to a plugin, and that’s written down: Using Codex and Using OpenCode cover those two agents, and Answering from your phone covers what a Live Activity can and can’t host. The rest is just not built yet.

Check the roadmap

What’s planned and what’s in progress. Your idea may already be on it.

Ask for it

Open an issue, or email me. Tell me what you were trying to do — that’s more useful than the feature you’d designed.

Starting over

/nomo-cc:unpair on the affected computer removes the pairing and erases its key. Then pair it again. Forgetting a computer from the phone is not the same thing: it stops that computer appearing in your app, but the Mac keeps its local state until you run that command there.