Reins

Using Reins

Everything the app does, one feature at a time. Each one assumes you've finished the quickstart.

Approving and denying

Anything Claude Code wants to run through Bash, Write or Edit pauses and shows up at the top of Inbox.

  1. Read the headline — it says what the command does in plain English, and shows the exact command underneath.
  2. Safe commands have a single Approve button. Destructive ones (rm -rf, force-push, DROP) show a red warning and need a press-and-hold of about half a second.
  3. Tap the card to open the full review: what happens on approve, deny or ignore, plus any file diff that goes with it.
  4. Deny all clears the whole queue in one tap. The agent skips each one and keeps going.

Answering questions

When the agent asks you something with options, it shows up in Inbox as a question card.

  1. Tap an option. If one is marked suggested, that's what the agent would pick on its own.
  2. Need to say something else? Open the session and reply in chat instead.

Following and replying in chat

Sessions lists every agent on your machine. Tap one to see the live conversation.

  1. Tool calls show as compact rows (Read, Bash, Edit…) with a check when they finish. Diffs show +/− counts; tap View for the full patch.
  2. Type in the box and send — it goes straight into the agent's terminal, exactly as if you'd typed it there.
  3. Tap the mic to dictate. It sends automatically when you pause, or tap Send now.
  4. Tap + to attach a screenshot from your library, camera or clipboard. The image is saved to the host and its path is pasted for the agent.

Using the terminal

Every session has a Terminal tab: a real SSH shell on the host, not a rendering of one. Under herdr it lands in the agent's exact pane; tmux and zellij attach the whole session.

  1. Switch Chat → Terminal at the top of a session. The status strip shows model, context used and branch, lifted from the agent's own status line.
  2. Under Sessions → Terminals, tap panes on a herdr workspace to pick one and go full screen. tmux and zellij sessions attach mirrored from the picker.
  3. The key row gives you esc, tab, ctrl and arrows. Anything else, use the input field and Return.
  4. + Shell opens a fresh zsh on the host without an agent.

Previewing a dev server

If your agent is running a web app, you can look at it on the phone without exposing anything.

  1. Sessions → Dev server preview. Reins forwards the port over the same SSH tunnel; the host keeps it on loopback.
  2. Switch ports with the chips (:3000, :5173, :8080…). "Nothing is serving" means the tunnel is fine and the port is quiet — start the server on the host.

Machine, identity and themes

The Machine tab is everything about the pairing and this phone.

  1. Re-pair after reinstalling the host. Revoke clears the pairing and token from this phone; its key stays in the host's authorized_keys until you delete that line on the machine.
  2. SSH key → Change to import a key you already use — it must be unencrypted, since the app cannot unlock a passphrase-protected key. It is held in this phone's keychain (iOS Keychain / Android Keystore) and is never sent anywhere but your own host.
  3. Appearance: System / Light / Dark, and four themes — Daylight, Midnight, Tokyo Night, Dusk.
  4. Alerts fire only while Reins is open or backgrounded; on iOS a pending approval also shows as a Live Activity on the lock screen.