If you go looking for an open-source way to run coding agents anywhere, you'll probably hit two projects in
the same afternoon: Paseo and TaskHandoff.
They look almost identical from the outside. Both are open source. Both connect desktop and phone. Both run
several agents at once. Both reach across more than one machine.
One difference separates them completely, and it fits in a sentence: where does the code actually run?
Let's be fair about Paseo first
Paseo is the current leader in this space: 20,000+ stars on GitHub, Apache-2.0, very active. It bills
itself as "orchestrate multiple coding agents from desktop and mobile," and it supports seven providers —
Claude Code, Codex, Copilot, OpenCode, Pi, Antigravity, and Muse Code. It also has voice control, a plugin
registry, schedules, and a built-in browser.
Architecturally, it runs a daemon on your machine, and the desktop app, mobile apps, web UI and CLI all
connect to that daemon.
And one line in its own README explains everything that follows:
"Agents run on your machine with your full dev environment. Use your tools, your configs, and your skills."
Paseo does ship a Docker image — but that image runs the daemon and its web UI, not your sessions. The
docs are explicit: the image does not bundle agent CLIs; you add those with your own child image.
So Paseo's default assumption is: this machine is mine, this environment is trusted, let the agent use it
directly. Most of the time, that assumption is correct. And it's exactly why Paseo feels so smooth — all
your config, all your skills, all your tooling, right there.
TaskHandoff starts from the opposite assumption
TaskHandoff is also an open-source (Apache-2.0) control plane, but it assumes:
this code might not be something you trust.
So it's built in three layers:
Control Plane ← the console you look at
↓
Node Agent ← one per machine
↓
Controlled Instance ← one isolated container per session
Every session runs in its own container, not directly on the host. That single choice cascades into
everything below.
So how do you actually choose?
If you want to give the agent full access → TaskHandoff
Here's the Codex help text for --dangerously-bypass-approvals-and-sandbox:
"EXTREMELY DANGEROUS. Intended solely for running in environments that are externally sandboxed."
Those last four words are the whole argument. Turning approvals off on your own laptop is genuinely
reckless. Turning them off inside a container you'll delete is the documented, intended use.
Paseo's default deployment is "agents on your machine, with your full dev environment." That's great — but it
means the boundary is your host, so you keep the approvals and you keep getting interrupted. If what you
want is "no interruptions, and no worry," you need the container.
If the code isn't yours → TaskHandoff
AI-generated code, a third-party PR, a script a customer handed you. None of that should get full access to
your machine.
If you have multiple customers or identities → TaskHandoff
TaskHandoff has an actual model for Git credentials. They're scoped to a remote (scheme + host + port +
repository path prefix). Secrets are write-only after saving. HTTPS tokens exist only for the duration of a
single credential-helper request. SSH private keys never leave the Node Agent — instances get a public
identity plus a signing proxy, and trust-on-first-use isn't allowed at all. A credential authorizes only the
initial clone unless you explicitly retain it on that instance.
When you're juggling several customers, that layer matters far more than raw speed.
If the environment has to be reproducible → TaskHandoff
TaskHandoff has environment templates: take a working container, commit it into a reusable template, and
every new instance starts from that same environment. Instead of "it happens to work on my machine."
And when is Paseo the better choice?
Let's just say it:
- You want to run several agents on your own laptop, and you want voice, a plugin registry, and a more polished mobile app.
- Your project only ever lives on your machine, and you don't need a boundary around the code.
Then Paseo is the better choice — and it's more mature, with a much bigger community. Pretending
otherwise would be silly.
The one-line version
Paseo puts the agent on your machine. TaskHandoff puts the agent in a box.
Both are right. It depends on whether you trust the code.
Quick start
curl -fsSL https://github.com/edgestorage/task-handoff/releases/latest/download/install-server.sh | sudo sh
Honest caveats
TaskHandoff has single-digit stars and is in Beta — the README says plainly that breaking changes may land
between releases. Its provider support is nowhere near Paseo's. It's a smaller, more focused, more cautious
tool, not a bigger one.
If you're picking between two strong options, pick using the four cases above — not the star count.
Top comments (0)