Morning after an OS update

macOS updates are optimistic about your week. They rearrange permissions, bounce long-lived daemons, and occasionally forget that you already granted Full Disk Access last quarter. Your terminal tabs do not survive. Neither does the quiet assumption that yesterday’s tray state is still true.

After an OS update, the board is the source of truth — not the coffee-machine memory of “everything was fine before I clicked Restart.”

What actually breaks

Not every update is catastrophic. The failures cluster:

None of this is unique to Rig. Rig just makes the aftermath visible in one place instead of six tabs and a Slack thread titled “is it just me.”

The recovery ritual (do this in order)

  1. Open Rig before you open the project in the editor. Let the control plane start. Do not assume the menu bar icon from yesterday means the hub is healthy today.
  2. Start the group you actually use. Prefer the named group over ad-hoc script clicks so start order and health gates still apply.
  3. Read red items first. Attention board before email. Crash loops and failing health checks after a reboot are common; fixing the database container before the API saves an hour of fake app debugging.
  4. Re-approve macOS permissions if prompted. Full Disk Access / Accessibility are not optional folklore — if macOS forgot, grant them again and relaunch what needed them.
  5. Check Docker Desktop (if you use managed DB containers). A green Rig row cannot invent a daemon Docker has not started yet.
  6. Re-link or restart the MCP hub if editors fail tool calls. Open Connections, start the hub, confirm the editor config still matches. Project-scoped tokens still apply; do not paste a new shell “just to get unblocked.”
  7. Confirm ports and URLs. If Live Link or LAN share was mid-flight overnight, stop the share deliberately — do not leave a preview hanging because the Mac rebooted under you.

What not to do

How Continuity and catalog sync fit (and do not)

If you use Rig Cloud, catalog metadata and Continuity backups can make a second Mac feel familiar. They do not replace re-granting OS permissions on *this* Mac after an update. Encrypted setup sync is not a kernel permission grant.

If you stay local-only, you are not behind — you just own the recovery ritual yourself. Either way, source code was always on disk; the update did not “lose the repo.” It lost process state.

Agents the morning after

Tell Cursor or Claude the Mac rebooted. Ask for status and health before asking for a refactor. A good first prompt is closer to “what is running and what is red?” than “why is checkout broken?” Scoped MCP tools can restart a dead sidecar; they should not invent a second Vite because the first one is still starting.

If the hub itself is down, fix Connections first. Tool call failures after an OS update are often transport, not application logic.

A short checklist you can paste into a sticky note (then delete)

After any major macOS update:

When that list is muscle memory, convert it into a Rig group and health checks so the sticky note can die. That is the same argument as Sticky notes are not a control plane — updates are when the note fails you.

When it is still broken after the ritual

Run Setup diagnose and read the checklist before rewriting application code. Reclaim stuck ports explicitly. If Mesh Screen or Wake misbehave, confirm permissions and that a second Mac exists on the network for wake — one lonely Mac cannot be woken by folklore.

If the Mac app itself will not start, check the status page mindset from Status page, Mac still fine: cloud status and local app health are different planes.

Related

Yesterday’s tray state did not survive. The board did — once you open it and tell the truth about what came back.

https://userig.app/blog/morning-after-an-os-update