Run the status command first — it names the problem and prints the fix. Then: which row answers which symptom, and the few things status can’t see.
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.
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.
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.
A session is on my phone but stopped updating
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.
The direct local network link never engages
Read LAN. Its middle line — when your phone last reached this Mac — is the
only proof the direct leg has ever worked. The lines around it say whether
this computer is listening, and when it last advertised its address.Advertised recently and never reached means your phone can’t route here: check
that both are on the same network, that Local network is on in
Settings, and that Nomo has local network
permission on the phone. Never advertised means no session has carried the
address out yet. No LAN row at all means this computer has never listened.
My phone never asks me to approve anything
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.
I started a session and it never appeared
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.
OpenCode in particular shows nothing
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.
Rows look stale or duplicated
Sessions counts what this computer still believes is alive. If that’s more
than you have, clear the dead ones without unpairing:
/nomo-cc:reset
$nomo-reset
/nomo-reset
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.
Your Mac is doing its job for all three of these. The answer is on the phone.
Nothing appears on the Dynamic Island
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.
A session's island switch is on, greyed out, and won't turn off
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.
Options are missing when I touch and hold
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.
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.
A row says Encrypted session, or Reconnecting…
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.
A row says Unavailable
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.
A computer says No longer paired
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.
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:
2.0.0 · lan:hold 0.4s · dp
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.
“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.
/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.