Private pre-alpha. Web and iOS TestFlight builds are in closed dogfood; installs and sign-ups are invite-only — join the beta waitlist.
Private pre-alpha · Web + iOS

Your agents.
Your machine.
Wherever you are.

Helmora gives Claude Code, Codex, and Copilot one calm control surface. A small bridge runs beside your agents; the web app and iPhone client let you watch, steer, approve, and continue their work in real time.

Join the beta waitlist See what ships → Invite-only pre-alpha · No credit card
Architecture Helmora Protocol v0.1
Client
iOS TestFlight · Web
You
Relay
Managed remote path · ciphertext only
Optional
Bridge
Runs on your machine
Local
claude-code
codex
copilot
acp · opencode / goose
Two paths: same-machine loopback skips the relay; remote sessions use endpoint-encrypted relay traffic. The account service handles identity and pairing outside the payload path.
Get started

Three steps from sign-in to
a live agent on your phone.

Helmora does not host your coding runtime or provider credentials. Pair the machine once, keep using the tools already installed there, and continue the same work from the web or iPhone.

01 Pair your machine

Generate a short-lived installer from Settings.

Open Devices, choose Pair a bridge, then run the generated Windows or macOS/Linux one-liner on the machine that runs your agents.

Settings · Devices · Pair a bridge
02 Connect an agent

Review the runtimes Helmora finds.

The bridge detects supported local CLIs and their project folders. Add or remove agents per device, and authenticate each runtime on the host where it runs.

cc
Claude Code · ~/code/api
cx
Codex · ~/code/web
03 Continue the session

Web or iPhone — same agent-owned history.

Open a session, follow live tools and plans, answer questions, approve actions, or steer the turn. Remote payloads are encrypted between the app and bridge.

iPhone Live · 2 sessions
Web Live · 2 sessions
Current product

Control the whole turn,
not just the prompt.

Each adapter reports its real capabilities, so Helmora can expose the controls its runtime supports and stay honest when behavior differs. These are the user-facing surfaces in the current private pre-alpha.

Live transcript

Stream thinking, prose, tool calls, command output, file diffs, plans, and turn results as the runtime emits them.

Approvals and questions

Tool approvals and structured agent questions dock above the composer, so a waiting turn is visible and answerable from the phone.

Steer, queue, or stop

Correct a live turn, queue the next instruction, or interrupt it. Delivery markers distinguish a live injection from a queued or rejected steer.

Models and posture

Choose from the runtime's model catalog and set supported effort and permission modes per turn. Unsupported controls stay out of the way.

Workflows and sub-agents

Follow delegated work in a structured grid, see which child is active, and keep background-task status visible after the parent reply lands.

Voice input

Capture and transcribe a prompt from the composer, choose a transcription model, and review the text before sending it to an agent.

CTX

Usage and context

Inspect session tokens, context pressure, equivalent API cost, compaction, and available Claude or Codex plan windows from one usage surface.

PR

Pull requests and CI

See pull requests for the current repository, page through checks, and connect the bridge's existing GitHub CLI session without leaving Helmora.

iOS

Live Activities

Keep the active agent, current plan step, elapsed time, usage, and needs-answer state glanceable on the Lock Screen and Dynamic Island.

The wire

See exactly what your agent is doing.

Every event the agent emits — thinking deltas, tool calls, stdout chunks, plans, usage updates — flows through the same session/update notification. The client just renders. No magic.

Explore the architecture →
session t_4f2 · claude-code / sonnet · live
14:21:03statusthinking
14:21:04thinkingUser wants the migration applied. I should check schema first…
14:21:05messageLet me check the current schema.
14:21:06execpsql -c "\d users"
14:21:06stdoutid | uuid · email | text · created_at | timestamptz
14:21:07tool ✓exit 0 · 0.4s
14:21:08read_filemigrations/0008_add_email_verification.sql
14:21:09approve?exec destructive · ALTER TABLE users…
14:21:14tool ✓approved · running
14:21:15usage+1.2k in · +340 out · $0.018
Adapters

Five agent runtimes,
one control surface.

First-party adapters cover the agents we use ourselves. Each one implements the same capability-driven contract so the client stays agent-agnostic.

claude-code
In dogfood
Persistent SDK sessions with approvals, questions, diffs, plans, models, usage, workflows, and external-session updates.
codex
In dogfood
Pinned app-server integration with tools, approvals, questions, plans, reviews, models, effort, usage, MCP, and external-thread mirroring.
copilot
In dogfood
Pinned Copilot SDK integration with approvals, questions, background tasks, per-chat models, working-directory changes, and monthly plan usage.
acp · opencode + goose
In dogfood
One generic ACP core with per-runtime presets — OpenCode and Goose today; new ACP runtimes are a preset row, not a new adapter.

OpenClaw is in maintenance — existing pairings keep working, but new OpenClaw setup is no longer offered. Gemini CLI and Aider are not in the current build. Full adapter status →

Security

The relay does not receive protocol plaintext.

The bridge runs on the same host as your agent. When the managed relay is used, endpoint encryption protects app-to-bridge payloads. Model providers and other services you deliberately invoke still receive the data required for those requests.

Run the bridge locally.

The bridge is a small Node program that runs on the same machine as your agent. The web app can use a same-machine loopback socket, or an operator can terminate an authenticated TLS/SSH tunnel on that loopback listener.

  • Same-machine loopback delivery without the managed relay
  • No plaintext bridge listener exposed on the LAN
  • Authenticated TLS or SSH tunnels can provide a direct remote path
  • Agent and model-provider credentials stay on the bridge host

Use the relay when you need remote access.

When you want to drive your agent from somewhere else, the optional managed relay tunnels encrypted frames between your devices. We see routing metadata. You hold the keys.

  • Per-device X3DH establishment and Double Ratchet messages are implemented for relay traffic
  • Relay sees {from, to, nonce, ciphertext}, timing, connection state, and frame size
  • Signed device identities are bound to routing labels; user payload frames require ciphertext
  • The account service remains a trusted identity directory; padding is not implemented

Be first when the beta opens.

Installs and account creation are closed during the private pre-alpha. Leave your email and we will invite you when the beta releases — nothing else, no newsletter.

One email when the beta opens. That's it.

Already invited? Log in