Skip to content

v0.112.0 — the herd in your pocket

Choose a tag to compare

@ralyodio ralyodio released this 06 Oct 10:31
60c2baf

The herd in your pocket (PRD 0020, phase 1)

Your herd of coding agents is on your phone now, at https://app.moshcode.sh/m. Pair a box with one command:

moshcode herd phone on

That installs moshcode herd relay as a user service (systemd on Linux, launchd on macOS) and logs you in first if you are not. The box dials out to app.moshcode.sh, so there is no open port, no Tailscale and no SSH key on the phone.

What the phone gets

  • Every session on every paired machine, blocked ones first, with each one's state, engine, directory and last line.
  • One-tap approvals. Allow, Deny, or Allow all this session, mapped to the keys each engine's dialog wants: 1 / 2 / Esc for Claude Code, y / a / Esc for Codex.
  • A stale guard. The relay re-reads the screen before typing anything. If the session left that blocked spell, or the dialog is no longer the last thing on the screen, the tap is refused as "already answered" instead of typing 1 into whatever came next.
  • Push when an agent blocks or finishes. On Android the notification has Allow and Deny buttons and answers without opening the app. Safari shows no action buttons, so on iPhone the tap opens the approval.
  • A live terminal for any pane, streamed only while you are looking at it, plus a key bar (Esc, Tab, arrows, Enter, ^C, /) and a prompt box.

Also

  • moshcode herd phone status and moshcode herd phone off. moshcode herd relay runs the same thing in the foreground.
  • Push bodies carry no screen text. Screens pass through app.moshcode.sh memory to the phone and are never stored.
  • API docs: apps/pwa/docs/herd-phone-api.md. Engine dialogs are covered by fixture screens in test/fixtures/approve/, so a changed prompt fails CI instead of failing on a phone.

Next in PRD 0020: a chat view of each session with edits and commands, sealed end to end; then share links and a direct mode over Tailscale for people who would rather not go through the relay.