Open Shahi Web App

A plugin for herdr, the terminal workspace for coding agents

Your agents,
as a chat on your phone.

Read your agents’ work and keep it moving from your phone. Shahi’s built-in tunnel is encrypted end to end, ready to use and free for everyone. Add the plugin to herdr and scan a QR code.

Free Shahi tunnel · No Shahi account, VPN or port forwarding. iPhone app and phone browser · Join the iOS beta

Reader support

  • Claude Code
  • Codex
  • Cursor CLI
  • Antigravity
  • OpenCode

OpenCode and Antigravity require computer release 0.3.11 or newer. See coverage and limits.

Made for the moments away from your desk

Keep your work moving. From your phone.

Your agents run on your computer. Shahi gives you a comfortable way to read, decide and keep going wherever you are.

Actual app views with an example project, from the iPhone app 1.1.

Shahi settings showing Demo Mac connected, with computer versions and connection details.
Connected computer

A tunnel, already built in

Scan once and connect from anywhere. The free Shahi tunnel is encrypted end to end, with no VPN, port forwarding or Shahi account to set up.

Included · iPhone & web
Reader showing an example request to convert a PDF and Claude’s readable Markdown response.
Reader · example conversation

A conversation that fits

Reader turns your agent’s messages, reasoning and activity into a conversation made for your phone. Read comfortably, without pinching a desktop terminal.

Phone-friendly Reader
New Agent with Claude, Codex, Cursor, OpenCode and Antigravity choices, and Ask me selected for permissions.
Five agents. Choose your next task.

Start the next task

Create new sessions with Claude Code, Codex, Cursor CLI, OpenCode or Antigravity from your phone. Choose a space and the agent’s approval mode.

Uses the agents on your computer
An unsent draft in Shahi’s composer reads: Review the latest changes before we continue. The Send button is beside it.
iPhone app 1.1

Speak your next instruction

The iPhone app supports live dictation. Words appear in the composer as you talk. Review them, then send when you’re ready. Audio stays on your iPhone.

English · supported iPhones on iOS 26+
The Computers picker shows Demo Mac and Demo Linux both connected, with Demo Linux selected.
Your computers, one switch away

All your computers, together

Keep your laptop, Mac and Linux server connected at the same time. Switch between them while each keeps its own conversations and connection.

Multiple computers · one app
Shahi notification settings explain alerts when an agent needs a reply. Notifications are currently off.
iPhone app 1.1

Know when you’re needed

Get notifications when an agent needs attention. Open the right conversation and keep it moving. Home-screen web notifications work on supported browsers.

Quick answers from the notification on iPhone
The preview Changes tab lists added, modified, renamed and deleted files in an example shop project, with line counts.
iPhone app 1.1

Review what changed

Open files, images and PDFs without leaving Shahi. The web app also lets you inspect Git changes from the conversation.

Changes view on iPhone and the web
An agent waiting for an answer shows an example edit to src/cart.ts, its question, and Yes and No choices.
The question, its context, your answer

Your decisions, a tap away

Supported permission prompts become clear answer buttons. See the question and its context, choose an answer, or send the next instruction yourself.

Read · answer · steer
Computer update settings with Stable and Beta release channels. Stable is selected.
Computer update channel · Stable or Beta

More on the way

Choose Beta for early computer updates. Join upcoming iPhone versions in TestFlight, or follow development on GitHub.

Follow what’s next

Web menus, settings and onboarding are available in English, العربية and Español. Choose your language in Settings. The iPhone app has these languages too.

Shahi in 32 seconds. A silent product demo with captions in the player’s menu.
Read the transcript

Story You left your desk. Your agents didn’t. A terminal on a phone? Pinch, scroll, squint. Shahi connects your phone to herdr in about a minute. Two commands. One scan. Your agents become a chat. Read what they did, answer with a tap, and keep them moving. Every space. Every pane. Live. Shahi. Your agents, as a chat on your phone.

On screen A desktop terminal squeezed onto a phone. Then the setup: herdr plugin install iYassr/shahi and herdr plugin action invoke shahi.pair in herdr on the computer, the pairing code scanned with Shahi, and the phone connected, end-to-end encrypted. In the chat, Claude Code asks to run a Bash command, one tap answers “Yes”, the agent reports that all 214 tests pass and staging is live, and a typed reply, “Great. Open the PR.”, sets it working again. Then every space and agent in herdr, updating live on the phone. Last, the Shahi logo and tagline with “End-to-end encrypted”, “No account · no open ports” and “Open source · MIT”, the install command and getshahi.dev.

Agents3 conversations
Claude Code
Improve the sign-up formapi-gatewayNeeds youWorking
Codex
Check the payment updatebillingWorking
Claude Code
Update the setup guidedocsDone
Improve the sign-up form~/api-gateway
You

Show a helpful message if someone tries to sign up without an email address.

Claude Code

I’ll update the sign-up form and check that the message appears when the email is missing.

SignupForm.tsx

When the email is missing, show: “Enter your email address to continue.”

Do you want to make this edit to SignupForm.tsx?

YesReset example

Response sent. The agent list now shows this conversation as Working, and Claude is applying the change.

Interactive example · Tap “Yes” to see what happens. This won’t change any real work.

Setup

Install. Scan. Connect.

One command on your Mac or Linux computer, then one scan on your phone. It installs herdr if you don’t have it yet, then Shahi, and shows the code. The Shahi tunnel is included and connects automatically after pairing.

On your phone, open getshahi.dev/pwa and tap Scan QR code, or scan it with the iOS app. Your camera app can’t pass this code to the browser, so scan it from inside Shahi.

Already use herdr? Run herdr plugin install iYassr/shahi, then herdr plugin action invoke shahi.pair, inside it instead. Shahi shows the agents you run in herdr.

Step-by-step setup guide
On your Mac or Linux computer, in a terminal
curl -fsSL https://getshahi.dev/install | sh

Installs herdr 0.9.3 if herdr is missing, after checking its download against its published SHA-256, then the Shahi plugin, and shows the pairing code. Needs git, and on Linux unzip if bun is missing; it asks for no password. Read the script before you run it. An existing herdr must be 0.9.0 or newer. Automatic background setup on Linux uses systemd. Each code can be used once and expires after 10 minutes.

Why not a terminal app?

A terminal on a phone is not a good way to talk to an agent.

SSH apps give you a terminal wrapped for a wide screen: you pinch, scroll sideways and hunt for Esc and Tab. Shahi reads the saved conversations from Claude Code, Codex, Cursor CLI, Antigravity and OpenCode, so their messages fit your screen. Coverage depends on what each agent records: some tool results, images and other attachments may be unavailable. The original terminal is one tap away on the Screen tab, including for other agents herdr runs.

Connection security

How your connection is protected.

Your phone and computer lock the messages they send to each other using encryption. Shahi’s relay, a connection service on Cloudflare, passes those messages along without being able to read them.

  1. Your phoneRead, reply, and approve.
    Locks messages before sending them.
  2. Shahi relayPasses along locked messages.
    Cannot read their contents.
  3. Your computerKeeps your work running.
    Unlocks messages from your phone.
Messages travel both ways. Your computer must stay awake and connected to the internet.
What happens when I scan the code?
  1. The code lets your phone connect to your computer. It works once and expires after ten minutes.
  2. Your devices set up a protected connection. The relay cannot read the secret in your code.
  3. Your computer remembers the connected device so it can recognize it next time.
  4. Remove a device’s access in Settings to disconnect it and stop it from connecting again.

Keep your connection code private. Anyone who uses it can control the work running on your computer.

What information can Shahi see?

Shahi’s relay and its hosting provider, Cloudflare, can see connection information, such as your internet address, computer identifiers, and when and how much data is sent. This helps diagnose connection problems and misuse. They cannot read the messages sent through this protected connection.

Your connected devices can read your messages, so keep them secure. The web app runs code from getshahi.dev, published by the same developer who runs the relay. A malicious release or a compromised website could read an open session or a remembered pairing, because encryption shields your messages from the relay, not from the app’s own code. The iPhone app comes through the App Store and signed updates instead, and it can skip the relay by using your own SSH.

With the current iPhone app and computer, relay-paired notifications seal their question and answer labels for your phone; Expo and Apple still see routing identifiers, timing and fixed alert text. Earlier iPhone versions and SSH notifications can include the space and conversation title. Browser notifications are encrypted for your browser alone. See the privacy policy for details. Encryption cannot protect a device that someone has broken into or prevent connection outages.

Shahi’s security has been reviewed internally but has not had an independent audit. The security guide explains the encryption in detail.

Prefer no third party in the path? The iPhone app can connect over your own SSH instead. To stop your computer using the relay at all, add RELAY_URL= to the plugin’s .env and restart Shahi. QR pairing and the web app then stop working, and you connect over SSH.

iOS app

Shahi for iPhone, on the App Store.

Download Shahi for free and connect to your computer. Want to test future versions? Request an optional TestFlight beta invite; we email invitations as places become available. The web app also works in your phone’s browser.

Email support@getshahi.dev to ask for a TestFlight invite.

Request a TestFlight invite

The public iPhone app is available on the App Store. TestFlight is optional early access to future versions. Leave your email to request a beta invite: we email each one by hand, as soon as we can add you (not yet in France).

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

Want to try it now? Download the public iPhone app or use the web app.

Frequently asked questions.

What do I need before I connect?

Install herdr and your coding agent’s CLI on your Mac or Linux computer, then sign in to the agent or configure its provider credentials. Run your agents inside herdr and install the Shahi plugin. The setup section has the requirements and commands.

Will my agents keep working when I close Shahi?

Yes. Closing Shahi on your phone does not stop the agents running on your computer. Keep that computer or server awake and connected to the internet to receive live updates and send instructions.

Which agents can I read in Shahi?

Reader formats saved conversations from Claude Code, Codex, Cursor CLI, Antigravity and OpenCode. OpenCode and Antigravity need computer release 0.3.11 or newer: if your computer is older, use Update computer in Shahi’s Settings. Coverage varies: some tool results, images and attachments are unavailable. Use Screen for the underlying terminal, including other agents herdr runs. See the Reader coverage and limits.

Is the Shahi tunnel free? Do I need a VPN?

Shahi’s built-in tunnel is ready to use and free for everyone. It uses outbound internet connections, so you need no Shahi account, VPN or port forwarding. Your agents still use their own provider accounts; any agent subscriptions or API charges are separate.

Can the relay read my conversations?

No. Conversation, file and command content is encrypted end to end between your device and computer. The relay and Cloudflare can see connection metadata, including IP addresses, identifiers, traffic size and timing. Read about connection security and its limits, including device security and optional notifications.

Can I connect more than one computer?

Yes. Pair each one from Settings → Computers → Add a computer. Tap the computer name on the main screen, or open Computers in Settings, to switch. Each computer keeps its own connection while Shahi is open.

Is there an iPhone or Android app?

The iPhone app is free on the App Store, subject to regional availability. Request an optional TestFlight invite to test future versions. On Android, use the web app and add it to your home screen. The web app also works on iPhone; a native Android release is not currently available.

One command, one scan.

Run the setup line on your computer, scan the code in Shahi on your phone, and your agents are there as a chat. Shahi is open source under the MIT license.

See the setup command