Arc0

How Arc0 Works

Understand the architecture behind Arc0—how the CLI, tunnel, and mobile app work together to connect you with your coding agents.

No modifications to your existing tools required—Arc0 observes and relays without changing how your agents work.

Architecture Overview

┌─────────────────────────────────────────────────────────────────┐
│  Your Workstation                                               │
│                                                                 │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐      │
│  │   Arc0 CLI   │───▶│    tmux      │───▶│ Claude Code  │      │
│  │   (daemon)   │◀───│   session    │◀───│ Codex, etc.  │      │
│  └──────┬───────┘    └──────────────┘    └──────────────┘      │
│         │                                                       │
└─────────┼───────────────────────────────────────────────────────┘
          │ WSS (WebSocket Secure)
          │ Arc0 Tunnel

┌─────────────────────────────────────────────────────────────────┐
│  Arc0 Apps (iOS / Android / Web)                                │
│                                                                 │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐      │
│  │   Monitor    │    │    Prompt    │    │    Review    │      │
│  │   Progress   │    │   & Direct   │    │   Changes    │      │
│  └──────────────┘    └──────────────┘    └──────────────┘      │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Components

Arc0 CLI

The CLI runs on your workstation and does three things:

  1. Attaches to tmux sessions — It watches your terminal sessions where coding agents run, capturing their output in real-time
  2. Runs the Arc0 Daemon — A background process that handles session synchronization, parses agent output, and manages the tunnel connection
  3. Streams via Arc0 Tunnel — Establishes a secure WebSocket connection to your phone

Arc0 Tunnel

The tunnel provides secure connectivity between your machine and your phone:

  • WSS (WebSocket Secure) — All traffic is encrypted end-to-end
  • No port forwarding required — Works behind NAT, firewalls, and corporate networks
  • Low latency — Optimized for real-time back-and-forth communication

Arc0 Apps

The Arc0 mobile apps (iOS/Android) and webapp (PWA) receive the stream from your CLI and let you:

  • Monitor progress — Watch your agent work in real-time
  • Send prompts — Guide your agent with direction and clarification
  • Approve plans — Review implementation plans before coding starts
  • Track changes — See every file modification as it happens
  • Review code — Approve or request changes to diffs

The Flow

1. Start Your Agent

Run your AI coding assistant as you normally would—in a tmux session:

tmux new -s dev
claude  # or codex, gemini, etc.

2. Arc0 CLI Captures the Session

Arc0 CLI automatically detects and attaches to your tmux session:

arc0 start

It captures:

  • Agent output and responses
  • Questions and prompts from the agent
  • File changes and diffs
  • Plan proposals and tool usage

3. Real-Time Sync to Your Phone

Everything streams to your phone over WebSocket:

  • Instant delivery — See agent activity as it happens
  • Bidirectional — Your responses go back just as fast
  • Persistent — Connection survives brief network interruptions

4. You Direct, Agent Executes

From your phone, you're in control:

  • Approve the agent's plan to proceed
  • Send a prompt to adjust direction
  • Review a diff and approve or reject
  • Monitor progress while you're away

Why tmux?

Arc0 uses tmux for session capture because:

  • No CLI modifications — Works with Claude Code, Codex, Gemini CLI as-is
  • Session persistence — Your agent keeps running even if you disconnect
  • Universal — Works on macOS and Linux out of the box
  • Battle-tested — tmux is reliable, fast, and widely used

Don't use tmux yet? It's easy to install—brew install tmux on macOS or apt install tmux on Linux.

Security

Your code stays on your machine. Arc0 only streams:

  • Agent conversation (prompts and responses)
  • File diffs (changes, not full files)
  • Session metadata (status, progress)

The tunnel encrypts everything with WSS. No data is stored on Arc0 servers—it's a pass-through connection between your machine and your phone.

See Security for full details.

Next Steps

On this page