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
Builder.iobuilder

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 (5 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.