End-to-end encrypted · Zero-knowledge

Code with Claude
from anywhere.

ZenFlo is a remote control for Claude Code. Start a session on your machine, then drive it from your phone or browser — review diffs, approve tools, and talk to your AI by voice. Your code never leaves an encrypted channel.

$ npm install -g zenflo
  • iOS
  • Web
  • Desktop
  • Open source
‹
zenflo / ui claude-opus-4.8 · active
Refactor the auth context to use the new sync engine.
Claude
I'll update AuthContext.tsx to subscribe through SyncSession. Here's the plan:
  • Move token refresh into the reducer
  • Invalidate on socket reconnect
✎ Edit · AuthContext.tsx +24 −9
+ const sync = useSyncSession();
+ useEffect(() => sync.invalidate(), []);
- const [token, setToken] = useState();
Message Claude…

Drives the tools you already use

Claude Code ⌨︎ Your terminal 🔗 GitHub 🔒 tweetnacl E2EE ⚡ Real-time sync
What it does

Everything you need to code on the go

ZenFlo wraps Claude Code with a beautiful, secure remote layer — so the full power of your dev machine fits in your pocket.

🎙

Voice-powered AI

Talk through changes with Max, your voice assistant. Hands-free reviews, dictated prompts, spoken summaries of what changed.

🔐

Zero-knowledge privacy

Everything is encrypted client-side with tweetnacl. The server only ever relays ciphertext — your code stays yours.

🔄

Real-time sync

Start on desktop, continue on your phone. Sessions, diffs, and tasks stay in lockstep across every device over WebSocket.

✅

Approve tools remotely

Review every file edit and command before it runs. Approve or reject from anywhere — Claude waits for your call.

📱

Truly multi-platform

Native iOS, a fast web app, and desktop. One account, one encrypted stream, the same session everywhere.

🌍

Built for everyone

Full internationalization (English, Spanish, Polish, Russian) and a thoughtful, accessible interface in light and dark.

A closer look

What a session looks like

Real coding power, presented for the small screen. Here's the flow from pairing to approving a change.

"Walk me through the diff."

Voice mode

Talk to your codebase

Max speaks the latest changes back to you and takes spoken instructions in real time. Perfect for reviewing a PR on a walk or kicking off a task while your hands are full.

  • Natural conversation, powered by ElevenLabs
  • Live context of your active session
  • Switch between typing and talking instantly
server/auth.ts
  export async function verify(token) {
-   return jwt.decode(token);
+   const claims = jwt.verify(token, KEY);
+   if (!claims.sub) throw new Unauthorized();
+   return claims;
  }
Review & approve

Nothing runs without you

Every edit and shell command shows up as a clean, reviewable card. Read the diff, then approve or reject — Claude pauses until you decide, no matter where you are.

  • Syntax-highlighted diffs
  • Tool-by-tool permission control
  • Full audit of what the agent did
✓ Wire up sync engine
✓ Encrypt session payloads
● Add voice context updates
Ship landing page
Scan to pair a new device
Tasks & pairing

Stay in flow across devices

Built-in task tracking keeps your session organized and synced. Pair a new device in seconds with an encrypted QR handshake — no accounts to wrangle, no plaintext on the wire.

  • Tasks sync live to every device
  • QR-based challenge/response pairing
  • Pick up exactly where you left off
Why use ZenFlo

Your dev machine, untethered

Most AI coding tools chain you to a desk. ZenFlo sets the session free without giving up control or privacy.

01

Full power, no compromise

It's the real Claude Code running on your real machine — your files, your tools, your environment. ZenFlo is just the remote.

02

Private by architecture

Zero-knowledge by design. The relay server literally cannot read your data — encryption and decryption happen only on your devices.

03

Always with you

An idea at lunch, a hotfix on the train. Kick off and steer real work from your pocket, then finish at your desk.

04

Open and yours

MIT-licensed and self-hostable. Run the whole stack yourself, or use the hosted relay — your call.

E2EEevery byte, client-side
3platforms, one session
4languages, fully localized
MITopen source & self-hostable

Start coding from anywhere

Install the CLI on your machine, scan the QR with the app, and you're live. Free and open source.

1
Install the CLI
$ npm install -g zenflo
2
Run it
$ zenflo
3
Open the app & scan Open the web app →