Developer tools#Open source#Self-hosted#CLI#Privacy#Multi-device#Multi-agent#Coding agent#SDK
Paseo: one interface for Claude Code, Codex and the rest
One interface for Claude Code, Codex, Copilot, OpenCode and Pi — agents run on your machine, and you steer them from desktop or phone. Apache-2.0, no telemetry.
Project facts
GitHub Ecosystem- License
- Apache-2.0
- Language
- TypeScript
- Stars
- 18,857
- Data checked
- 2026-09-29
Snapshot figures reflect the check date and may change over time.
Run Claude Code in one terminal, Codex in another, a third agent somewhere behind — and checking on them means cycling through windows to see who finished, who is stuck on a permission prompt. Paseo collapses that into one interface: the desktop app, phone apps, web and CLI all talk to a local daemon, and your agents — Claude Code, Codex, Copilot, OpenCode, Pi — keep running as-is with their own accounts, configs and skills. It orchestrates agents rather than building them, so it sits on the opposite side of Google ADK, which is a framework for constructing agents from scratch.

Core features
- Every agent in one window: Claude Code, Codex, GitHub Copilot, OpenCode and Pi share the same interface; pick a project and a provider/model in the composer, and the list shows at a glance what is running and what is waiting on you.
- Phone control: iOS and Android clients connect to the same daemon as desktop, web and CLI, so you can check progress, assign work and approve permissions away from the desk. Voice mode lets you dictate tasks.
- Cross-agent skills: after
npx skills add getpaseo/paseo,/paseo-handoffhands Claude’s plan to Codex to implement,/paseo-advisorspins up one agent for a second opinion,/paseo-committeeputs two contrasting agents on root-cause analysis. Unlike a skill pack for a single agent such as reverse-skill, these teach agents to drive other agents. - Parallel isolation:
paseo run --worktree feature-xgives each task its own git worktree, so agents changing code side by side stay out of each other’s way. - Plugins and an SDK: TypeScript plugins add themes, panels, commands or whole providers; the
@getpaseo/clientSDK scripts agent creation and results into your own services. - No telemetry: no tracking, no forced log-ins.
Typical use cases
- Three or four tasks at once — one fixing a bug, one adding tests, one on a refactor — each in its own worktree, reviewed when you’re back at the desk.
- Checking progress, approving prompts and queuing new work from your phone at lunch or on the commute.
- Running the daemon on a server and driving it over web or CLI — handy when there’s no always-on desktop.
- Wiring “make a change → have an agent review it → get the verdict” into your own pipeline with the SDK.
Quick start
Prerequisite: at least one agent CLI installed and authenticated — Paseo ships no models; it uses the subscriptions you already have.
Grab the desktop app from paseo.sh/download (the daemon starts with it) and pair your phone under Settings → your host → Pair Device. From the terminal:
npm install -g @getpaseo/cli
paseo
Then spin some agents up:
paseo run --provider claude/opus-4.6 "implement user authentication"
paseo run --provider codex/gpt-5.5 --worktree feature-x "implement feature X"
paseo ls # list running agents
paseo attach abc123 # stream live output
paseo send abc123 "also add tests" # follow-up task
For servers and remote machines there’s a Docker image with the daemon and a self-hosted web UI:
docker run -d --name paseo \
-p 6767:6767 \
-e PASEO_PASSWORD=change-me \
-v "$PWD/paseo-home:/home/paseo" \
-v "$PWD:/workspace" \
ghcr.io/getpaseo/paseo:latest
Summary
Paseo fits developers who run more than one coding-agent CLI and keep several tasks in flight, and anyone who wants a home server acting as the agent host with a phone as the remote. If you use a single agent and like your terminal workflow, the payoff is smaller — its value is in the “many”, not the “one”.
A few honest notes: the agent CLIs and their credentials remain your setup job; phone pairing goes through the official relay by default (end-to-end encrypted), and the wary can self-host the Elixir-based paseo-relay or connect over Tailscale; plugins run with access to the daemon machine, so don’t install ones you don’t trust. Mohamed Boudra maintains the project solo, funded by sponsors; Apache-2.0, TypeScript. As of 2026-09-29 it counts about 18,857 stars and 2,164 forks, with commits pushed that same day.