Arbiter

The agent runtime that lives on your machine.

One native binary for multi-agent workflows — terminal, CLI, or HTTP — with hard tool allowlists. Local-first; network optional.

Install Arbitercurl -fsSL https://arbiter.run/install.sh | sh

Prebuilt for macOS Apple silicon and Linux x86_64.
Apache-2.0. Bring an OpenRouter key or configure Ollama.

Arbiter TUI with conversations, agent reply, and session context

One runtime. Three faces.

One orchestration loop and shared storage under ~/.arbiter/. Start in the terminal; script it or serve it when you need a wire.

01Interactivearbiter

Multi-pane TUI with persistent per-cwd sessions.

02One-shotarbiter --send

Dispatch from scripts, cron, or CI.

03Serverarbiter --api

HTTP+SSE, tenant-isolated, with MCP and A2A bridges.

Built as a complete toolkit, not a chat box.

Own the harness

Agent behavior lives in editable constitutions — model, role, rules, and tool allowlist — not behind a hosted UI.

definitions: ~/.arbiter/agents/*.json
Hard limits, not suggestions

Every agent’s tool surface is an allowlist checked at dispatch. Optional advisor gates can sign off before a result reaches you.

capabilities: explicit allowlist
One event model

The orchestration loop streams the same events the TUI consumes. API clients get that stream over the wire; durable logs make reconnect possible.

wire: SSE-shaped events

Local control, with explicit boundaries.

Local state

Configuration and runtime data live under ~/.arbiter/. Model requests go only to the provider you configure.

Shell access

Agents can reach anything your user account can. Start with arbiter --no-exec when you do not want command execution.

Pre-1.0

Arbiter is experimental software. Interfaces and configuration may change between releases.

From download to first agent in three commands.

Prebuilt for macOS Apple silicon and Linux x86_64. Other platforms can build from source.

01curl -fsSL https://arbiter.run/install.sh | sh
02arbiter --initSeed editable starter agent constitutions.
03arbiterLaunch the terminal face of the runtime.

“Map every place this repo talks to the payments API, then draft a migration plan to the new client — call out anything that will break auth or retries.”