Apple Watch
Native watchOS companion: answer approvals, browse the inbox, glance at rate-limit usage, and pin a usage complication to your face.
Moshi ships a real watchOS companion, not just a notification mirror. Approvals, project-aware inbox rows, and per-account usage rings all render natively on the wrist, so you can answer an agent or check a rate-limit window without pulling out the phone.
What the watch shows
The watch app has two screens, swappable from the small icons that flank the system clock:
- Inbox — the same active events you see on iPhone, with one row per session, project and host grouping preserved, and pending approvals floating to the top. Tap a row to read the prompt and answer in place.
- Usage — the same per-account snapshots from the iPhone Usage tab: Claude Code 5h/7d windows, Codex variable windows, OpenCode provider windows, each as a ring with a "last updated" timestamp.
The inbox icon in the toolbar reflects the real inbox state — full when there are active events, empty otherwise — so you can read your inbox status while looking at the Usage screen.
Notifications and Live Activities
Approval-required and task-complete events show up on the watch as:
- Push notifications mirrored from your iPhone. Tapping a notification opens the matching inbox detail directly.
- Smart-card Live Activities while an agent turn is in progress. The card sits on the watch face for the duration; tapping it opens the same detail.
You don't configure any of this — the watch picks up your iPhone's pairing automatically.
Complications
The watch ships a usage complication you can place on a watch face:
- What it shows: the most-pressed rate-limit window across all your paired accounts (highest used percentage).
- Tap behavior: jumps straight to the Usage screen, skipping the inbox.
Use it when you regularly hit 5-hour limits and want a glance answer to "do I have headroom right now?" before kicking off another turn.
How fresh the data is
The watch keeps usage and inbox data fresh in two ways: it can fetch directly when you open the app or pull to refresh, and it picks up updates relayed from the iPhone in the background. If the watch is on cellular and the phone is asleep, the direct fetch keeps things current; if you're off cellular, the iPhone relay fills the gap.
A network blip never shows an error banner — the watch keeps showing whatever it last had. An empty screen reads as "no data yet," not "broken."
What the watch does not do
The watch is a glance-and-act surface, not a terminal. It cannot:
- Open a shell or attach to tmux.
- Run dictation or paste images.
- Show scrollback.
For anything beyond approvals, completions, and usage, the iPhone or iPad app is the right surface.
Setup
Install the watch app from the iPhone Watch app like any other companion. There is nothing to pair separately — the watch shares your iCloud and notification setup with the iPhone and inherits your moshi-hook pairing the moment the iPhone app is signed in.
If the watch shows "no data yet" indefinitely after install:
- Open Moshi on iPhone once so the iPhone–watch link wakes up.
- Confirm the iPhone has notifications enabled in Settings -> Notifications.
- Confirm the iPhone has at least one paired host in Settings -> Agent Hooks.