GitHub

For Claude Code & Codex

Coding agents.
On your phone.

Read conversations, review changes, and answer prompts
from the agents running on your computer.

Browser app available · Join the iOS beta

Agents3 sessions
Claude Code
Add request validationapi-gatewayNeeds youWorking
Codex
Test the billing migrationbillingWorking
Claude Code
Update the setup guidedocsDone
Add request validation~/api-gateway
You

Check the request body before creating a user. Return a useful error if the email is missing.

Claude Code

I’ll add validation to the route and a test for requests without an email.

router.ts +3 lines
app.post('/users', async (req, res) => {
+  if (!req.body.email) {
+    return res.status(400).json({ error: 'Email is required' });
+  }

Allow this edit to router.ts?

✓ Response sent

Allow onceReset example

Claude is applying the change.

Example session · Try “Allow once” to see the response. No agent is connected.
01

Read the conversation

Messages, tool calls, and code changes in a layout that fits your phone.

02

Answer with context

Review the request before approving. Shahi checks that the prompt is still current.

03

Keep your setup

Your agents run in herdr on your computer. Connect through the relay or use SSH on mobile.

iOS · TestFlight

Try Shahi on your iPhone.

Leave your email and we’ll contact you when a beta place is available.

Your request goes to our support inbox. How we use your email

Setup

Install. Scan. Connect.

Run these commands on your Mac or Linux computer with herdr installed. Then scan the pairing code in Shahi.

Setup documentation
On your computer
herdr plugin install iYassr/shahi
herdr plugin action invoke shahi.pair

Each code can be used once and expires after 10 minutes.

Pairing grants access to your terminal. The relay carries encrypted messages; the browser app also depends on trusted website code. Connection details · Privacy