Harnesses

Agent-native apps run inside a harness — a host environment that provides the AI agent and displays the app UI side by side.

CLI Harness (Local)

  • Open source, ships with @agent-native/harness-cli
  • Runs locally — xterm.js terminal on the left, your app iframe on the right
  • Supports multiple AI coding CLIs — switch between them from the settings panel
  • Auto-installs missing CLIs on first use
  • Per-CLI launch flags and settings, persisted to localStorage
  • Auto-detects when the agent finishes generating and notifies the app
  • Great for local use — individuals, development, and testing

Quick start:

# In your agent-native monorepo
pnpm dev:harness

Supported CLIs

CLICommandKey Flags
Claude Codeclaude--dangerously-skip-permissions, --resume, --verbose
Codexcodex--full-auto, --quiet
Gemini CLIgemini--sandbox
OpenCodeopencode

Switch between CLIs at any time from the settings panel. The harness restarts the terminal with the selected CLI and loads its saved launch options.

Builder.io Cloud Harness

  • Runs in the cloud
  • Real-time collaboration — multiple users can watch/interact simultaneously
  • Visual editing, roles and permissions
  • Parallel agent execution for faster iteration
  • Great for team use

Feature Comparison

FeatureCLI HarnessBuilder.io Cloud Harness
Local developmentYesYes
Cloud/remoteNoYes
Multi-CLI supportYes (4 CLIs)Yes
Real-time collaborationNoYes
Visual editingNoYes
Parallel agentsNoYes
Agent chat bridgeYesYes
File watcher (SSE)YesYes
Script systemYesYes
Open sourceYesNo

How It Works

Both harnesses support the same core agent-native protocol. The framework provides type-safe APIs so you never deal with raw messaging:

  1. Agent chat — use sendToAgentChat() to send messages to the agent
  2. Generation state — use useAgentChatGenerating() to track when the agent is running
  3. File watching — SSE endpoint keeps UI in sync when the agent modifies files
  4. Script systempnpm script <name> dispatches to callable scripts

Your app code is identical regardless of which harness or CLI you use.