Paseo

Orchestrator · Last verified 2026-09-30 · Install verified 2026-09-30

TL;DR

Paseo is a self-hosted daemon with desktop, mobile, web and CLI clients for running Claude Code, Codex, OpenCode and other agent CLIs in parallel on your own machines. The README says it is built by one person. It suits developers who want agents in isolated worktrees, scriptable from a terminal, TypeScript SDK or another agent.

Key facts

Paseo key facts. Data as of 2026-09-30.
Type Orchestrator
Languages / SDKs TypeScript
License unknown
Pricing model Open core
Orchestration pattern Supervisor
GitHub stars 19,066 (as of 2026-09-30)
GitHub forks 2,211
Last push 2026-09-30
Latest release v0.10.2
Repository getpaseo/paseo
Website paseo.sh
Documentation paseo.sh
Last verified 2026-09-30

Key features

  • A local daemon manages agent processes and exposes a WebSocket API; desktop, mobile, web and CLI clients connect to it locally or through an end-to-end encrypted relay. (source)
  • Launches existing agent CLIs: bundled adapters for Claude Code, Codex, OpenCode and Pi, plus an Agent Client Protocol catalog that includes Hermes Agent and many others. (source)
  • Workspaces can be backed by git worktrees, each on its own branch, with setup hooks and per-worktree ports configured through paseo.json. (source)
  • Agents can launch and coordinate other agents through built-in Paseo tools (an MCP server) or the paseo CLI, including across providers and machines. (source)
  • Agent profiles save provider, model and mode settings, with notes that guide which profile an orchestrating agent picks. (source)
  • Schedules run fresh agents on cron timing, and heartbeats prompt an existing agent to continue. (source)
  • A @getpaseo/client TypeScript SDK creates agents and waits for them to finish from your own code. (source)
  • Paseo Hub, a separate service, starts agents on registered daemons from GitHub, Slack and Discord activity; it can be self-hosted or used as a managed service. (source)

Architecture and orchestration pattern

Pattern: Supervisor

Paseo has a daemon-client design. The daemon runs on the machine that holds the code, starts each coding agent as a subprocess of an existing CLI and streams its output over a WebSocket API. Clients (Electron desktop, Expo mobile and web, and the paseo CLI) attach to the daemon directly, through Tailscale or another VPN, or through an optional relay.

Workspaces are the unit of isolation. A workspace can be a plain directory or a git worktree on its own branch. Agents inside the same workspace share files; agents in separate worktrees do not. The typical flow in the docs is: create a worktree workspace, launch agents in it, review the diff against the base branch, then merge or archive it.

Coordination is agent-driven. With Paseo tools enabled (off by default), an agent can create workspaces, spawn worker agents on any configured provider, send prompts to other agents by ID, stop them and collect results; the worker shows in a Subagents track. The CLI offers the same operations. The daemon keeps the agent and workspace records, and worktrees live under $PASEO_HOME/worktrees/ by default. The docs say Paseo does not proxy model calls.

Human in the loop

Agents can ask permission for actions, and pending requests are handled by the user; from the CLI, paseo permit ls, allow and deny list and answer them. A person can attach to any agent, send follow-up prompts and review the diff before merging a worktree workspace. Paseo tools that let one agent spawn others are off by default and can be limited per provider. Access to the daemon is controlled by named permissions, and the relay is off until the user accepts a prompt.

Harnesses it can drive

Protocols

MCP, A2A and AG-UI support for Paseo. See the full matrix.
ProtocolSupportNote
MCP Yes evidence
checked 2026-09-30
The daemon runs an MCP server (daemon.mcp.enabled, default true) that exposes tools for managing agents, workspaces, scripts, terminals and schedules; injection into agents is off by default. Server side; agents may also use their own MCP servers.
A2A Unknown
checked 2026-09-30
Searched the README, docs llms.txt and full-text bundle, repo file names and GitHub code search for 'a2a' and 'agent2agent'; nothing found. Agent-to-agent messaging uses Paseo's own tools.
AG-UI Unknown
checked 2026-09-30
Searched the README, docs bundle, repo file names and GitHub code search for 'ag-ui'; nothing found.

Best for

  • Running Claude Code, Codex and OpenCode agents in parallel in separate git worktrees on your own machines, driven from desktop, phone or terminal. (shortlist)
  • Letting a lead agent delegate implementation and review to worker agents from different providers through Paseo tools. (shortlist)
  • Building your own dashboards or issue integrations on the TypeScript SDK and WebSocket API. (shortlist)
  • Self-hosting the daemon and web UI, including in Docker, without a required account. (shortlist)

Not for

  • Users who want a hosted agent or a model provider: the docs say Paseo is neither and only launches CLIs you install and authenticate.
  • Teams that need a project with multiple maintainers: the README says Paseo is built by one person.
  • Anyone unwilling to trust plugin code: plugins run with access to the daemon machine and inside connected clients.

Quickstart

npm install -g @getpaseo/cli

Install verified 2026-09-30 (temp dir, Node v22.22.3, macOS arm64: local npm i @getpaseo/cli (no -g) ok, npx --no-install paseo --version ok, @getpaseo/cli 0.10.2. The official command uses -g; the same package was installed locally. Packages came from the registry.npmmirror.com mirror, so the version is the one that mirror served on this date. Install and import check only; not a functional test.). What this means

# Prerequisite: at least one agent CLI (claude, codex, opencode, ...) installed and logged in
npm install -g @getpaseo/cli
paseo                                # starts the daemon, asks about the encrypted relay

# Isolated workspace on a new branch, agent on Codex
paseo run --provider codex --new-workspace worktree --worktree-mode branch-off \
  --new-branch feature/x --base origin/main "implement feature X"

paseo ls                             # list running agents
paseo attach abc123                  # stream live output
paseo send abc123 "also add tests"   # follow-up prompt
paseo run --provider codex --background "Review this branch without changing files"
paseo permit ls                      # pending permission requests

Common pitfalls

  • Paseo does not include an agent: install and authenticate at least one agent CLI first (Claude Code, Codex, GitHub Copilot, OpenCode or Pi are listed as prerequisites).
  • The desktop app starts the daemon automatically; the CLI path is npm install -g @getpaseo/cli then paseo.
  • Paseo tools (MCP) for agents are off by default; turn on Settings > your host > Agents > Enable Paseo tools, then start a new agent so it receives them.
  • The relay is off on new installs; without it, connect over TCP, Tailscale or another VPN.
  • The README shows --worktree feature-x while the CLI reference documents --new-workspace worktree --worktree-mode ...; the CLI reference form is used above.
  • If Paseo cannot find an installed provider, the docs point to PATH and environment mismatches (Troubleshooting page).

Official quickstart

Pros

  • Does not proxy model calls: agents use your own Claude plan, OpenAI account or API keys through the official CLIs. (source)
  • Worktree-backed workspaces isolate parallel agents, and the documented flow includes reviewing the diff and merging or archiving. (source)
  • Agents can orchestrate other agents across providers and machines via MCP tools or the CLI, with per-provider limits on which Paseo tools an agent receives. (source)
  • Clients for macOS, Windows, Linux, iOS, Android and web, plus a Docker image for the daemon and web UI. (source)
  • The README states there is no telemetry, tracking or forced log-in, and the relay is designed to be untrusted with end-to-end encryption. (source)

Cons

  • The README says Paseo is built by one person, which concentrates maintenance in one maintainer. (source)
  • GitHub does not detect a license (NOASSERTION): the LICENSE file is Apache-2.0 text under a custom header, and the README says Apache-2.0. (source)
  • Windows issues are open, such as console windows reappearing from the daemon and failing generated Claude Code hooks. (source)
  • Trusted plugins run with access to the daemon machine and inside connected clients; the README says to install only code you trust. (source)
  • A managed Paseo Hub service has a Free and a Pro plan, so the full Hub feature set beyond self-hosting is a paid offering. (source)

Alternatives

FAQ

Does Paseo support MCP?

Yes, as a server. The daemon runs an MCP server whose tools let an agent manage other agents, workspaces, terminals and schedules. Injecting those tools into agents is off by default.

Is Paseo free?

The daemon, apps and CLI are open source and the README lists no account requirement. Paseo Hub, a separate managed service for triggering agents from GitHub, Slack and Discord, has Free and Pro plans, so the record is marked open-core.

What license is it under?

GitHub reports no license because the LICENSE file starts with a custom header. The rest of the file is the Apache License 2.0, and the README says Apache-2.0. Third-party components keep their own licenses.

Which coding agents does it run?

Native adapters cover Claude Code, Codex, OpenCode and Pi; an Agent Client Protocol catalog adds Hermes Agent and dozens of others. You install and log in to the CLI yourself.

Does it use git worktrees?

Yes. A workspace can be backed by a git worktree on its own branch, created with paseo workspace create --isolation worktree or paseo run --new-workspace worktree.

Sources

Unknown fields: license: GitHub reports NOASSERTION. The LICENSE file (https://github.com/getpaseo/paseo/blob/main/LICENSE) opens with a copyright line and a note that third-party components keep their own licenses, then states that Paseo is licensed under the Apache License 2.0 and reproduces the standard text; the README License section also says Apache-2.0. protocols.a2a and protocols.agui: nothing found in README, docs bundle, file names or code search. Hub plan prices were not read (the Hub page carries them) and are not stated here.

Something wrong or out of date, or do you maintain Paseo and want this page removed? Report a correction or request removal.