Apache 2.0Claude Code · Codex CLI · what comes next

Run your coding agent from any device.

One open-source client for every agentic coder — voice, images, terminal, files, parallel sessions. Self-host it in one line, or boot a managed sandbox and skip the ops.

Boot a sandbox — 60s→Download for Linuxv0.2.2
$curl -fsSL anywh.sh/install | sh
09:4999
☰
MCP bridge on the relayConnected
+
Show me the generated file
Bridge wired up. The relay answers the MCP handshake and forwards tool calls to the host, so the prompt works from any device.
tools/list returns the tools registered on the host, so the phone sees the same set as the desktop.
tools/call is proxied and waits for the answer from host.present
▍
anywh
Write a message…
session: landing page · agent: claude code
anywh.sh — desktop clientsession: landing page · agent: claude code
☰‹›▤⌕
anywh▍+
Landing page copy
Sandbox epic 3
Prioritize epics
Investigate ToS
Reorganize docs
Theme customization
AGPL vs Apache
API cache plan
Sidebar persistence
Terminal scroll
iOS app update
Image paste
Weekly ranking
Broken notifications
Personal⇅
Sandbox epic 3…
Landing page…
Show me the generated file
Bridge wired up
The relay answers the MCP handshake and forwards tool calls to the host, so the prompt works from any device.
·tools/list returns the host's registered tools
·tools/call is proxied and awaits the answer
·no credentials cross into the child process
const answers = await host.present(questions);
▍
Ask for the next step…
◍Bypass permissions
◈Sonnet
⌾
Send
◌mcpBridge.ts⤢✕
› client
› infra
› journal
› prototypes
⌄ relay
› dist
⌄ src
backgroundJob…
claudeSession…
defaultModel.ts
fsBrowse.ts
fsFiles.ts
mcpBridge.ts
fsWatch.ts
relay / src / mcpBridge.ts
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
protocolVersion: params?.protocolVersion,
capabilities: { tools: {} },
serverInfo: { name: "anywh-relay" },
},
});
return;
}
if (method === "tools/list") {
sendJson(res, 200, { jsonrpc: "2.0",
return;
}
if (method === "tools/call") {
const args = params.arguments;
const answers = await host.present(
Terminal 1+⤢✕
drwxrwxr-x 8 wil wil 4096 Sep 7 20:40 client
drwxrwxr-x 3 wil wil 4096 Sep 7 01:12 infra
-rw-r--r-- 1 wil wil 11358 Sep 6 19:36 LICENSE
-rw-r--r-- 1 wil wil 9097 Sep 7 20:49 README.md
drwxrwxr-x 7 wil wil 4096 Sep 7 20:40 relay
anywh on ⎇ main ~/dev/anywh
❯ ▍
Apache 2.0
Client and relay, in public
0 telemetry
No analytics, no phone-home
BYO subscription
Your Claude or OpenAI plan
iOS · web · desktop
Same panels everywhere
Capabilities

Everything the agent does, on every screen.

8 panels · 0 platform exceptions
01Voice input

Say the prompt,
keep walking.

Hold the mic and talk. The transcript lands in the composer as you speak, so you can fix a word before it reaches the agent.

·Dictation in the mobile and the desktop composer
·Editable transcript before it is sent
·No second app, no separate recorder
Read the source →
composer · voicesent
refactor the reconnect handler so a dropped phone resumes the same session
02Image upload

Paste a screenshot,
it reads the pixels.

Drop a design, a broken layout, a stack trace. The image travels with the prompt, so the answer talks about what is actually on the screen.

·Paste, drop, or pick from the camera roll
·Several images in a single message
·Sent with the prompt, not as a second step
Read the source →
composer · attachmentanswering
pricing-390px.png
The third column overflows at 390px — the price cell has a fixed width instead of wrapping.
03Terminal

A real shell,
beside the chat.

Not a log viewer — a process attached on the host. Run the build, read the failure, and the agent reads the same output you do.

·Attached process on the host machine
·Scrollback and ANSI colors preserved
·The same terminal on the phone
Read the source →
terminal · attachedexit 0
Terminal 1+⤢✕
anywh on ⎇ main ~/dev/anywh
❯ npm run build
> anywh-relay build
tsc -p tsconfig.json
✓ 214 modules typechecked
✓ relay bundle 62 kB
done in 2.4s
exit 0❯ ▍
04Multi-session

Parallel threads,
independent history.

Start a refactor, walk away, open a second thread for something else. Each session keeps its own history, repo and agent — and keeps running with the app closed.

·Sessions keep running while you are away
·Own history and repo per thread
·Switch threads without losing context
Read the source →
sessions · sidebarlive
Multi-session
Landing page copydone · 3 files
Sandbox epic 3idle
Prioritize epicsidle
Investigate ToSrunning
Landing page copy
Sandbox epic 3
running
Sandbox epic 3
Reviewed the composer padding and the send hit area.
Next: the reconnect path on the relay.
Landing page copy finished
Security

Nothing here needs your trust — it needs a diff.

// the child process never sees your key
spawn(agent, { env: { ANTHROPIC_API_KEY: undefined } })
Read the sourceCompare hosting
Auditable
Client + relay in public. Read it, diff a release, patch what you disagree with.
Self-hostable
Your machine, your VPS. No third party in the path, ever.
No telemetry
Zero analytics SDKs. No event pipeline, no silent phone-home.
Key-safe
Credentials stay in the host. They never enter the agent's environment.
BYO plan
No token markup. We bill infrastructure, not your model usage.
Hosting

Same client. Two ways to run it.

Line by line, what changes when we operate it instead of you.

Source code
Self-host✓Public, Apache 2.0
Cloud✓Identical code, hosted
Data & host control
Self-host✓Entirely yours
Cloud·Isolated per-tenant sandbox
Machine stays awake
Self-host!Required — yours
Cloud✓Not your problem
Network, auth, TLS
Self-host·You configure it
Cloud✓Managed, TLS included
iOS app (App Store)
Self-host—Browser only
Cloud✓Official app, subscribers
Updates & backups
Self-host·You pull and restore
Cloud✓Continuous, automatic
Time to first session
Self-host·~10 min setup
Cloud✓60 seconds, sign in
Support
Self-host·Community issues
Cloud✓Direct, response times
Criteria
Self-host
free · Apache 2.0
CloudRecommended
from $19/mo
Source code
✓Public, Apache 2.0
✓Identical code, hosted
Data & host control
✓Entirely yours
·Isolated per-tenant sandbox
Machine stays awake
!Required — yours
✓Not your problem
Network, auth, TLS
·You configure it
✓Managed, TLS included
iOS app (App Store)
—Browser only
✓Official app, subscribers
Updates & backups
·You pull and restore
✓Continuous, automatic
Time to first session
·~10 min setup
✓60 seconds, sign in
Support
·Community issues
✓Direct, response times
Self-host · free forever

Download it and own it.

v0.2.2Apache 2.0Oct 29, 2026
Direct download
anywh-darwin-arm64.dmg
Download .dmg23.5 MB
sha256aa1ade95f7…2689
Or one line in the shell
Install script
$curl -fsSL anywh.sh/install | sh
▍Intel build in the same release: anywh-darwin-x64.dmg
▍Unsigned build — a browser download needs right-click → Open the first time. The one line above doesn't.
01Source on GitHubclone · fork · audit→02Every release assetdmg · AppImage · deb · rpm · exe→03Self-host guiderelay, profiles, remote access→
iOSThe iOS app ships through the App Store, which requires a signed publisher — so it comes with Cloud only. Self-hosted setups reach iOS through the browser, installable as a PWA.See Cloud plans →
14 days free · card required, no charge until you convert

Cloud pricing, no token markup.

You keep your own model subscription. We charge for the sandbox, the relay and the signed apps.

BaseMost chosen
$15.83/month$19
$190/year, billed annually
✓50h of sandbox included every month
✓20 GiB storage
✓5 paired devices (phone, laptop, desktop)
✓iOS, web and desktop on the same client
✓Voice, image, terminal and files
✓On-demand overage: $0.30/h past the included hours
Start on Base — 14 days free→No charge today · cancel in one click
Pro
$40.83/month$49
$490/year, billed annually
✓150h of sandbox included — 3× Base
✓40 GiB storage
✓10 devices + up to 5 of your own sandboxes/machines (BYO)
✓The same full client as Base
✓Overage at the same rates as Base
Subscribe to Pro — 14 days free→No charge today · cancel in one click
Monthly or annual billing, cancel anytime · 14-day trial on either plan · self-hosting stays free forever

Boot a sandbox, or clone the repo.

Both paths run the same client. Start hosted today and take it home whenever you want.

Boot a sandbox→Download the clientApache 2.0
anywh.sh
DocsProductDownloadsPricingSign InApache 2.0 · 2026