Best Self-Hosted Coding Agent Daemons in 2026: Kodama vs Paseo vs Official CLIs

Quick answer: If you want Claude Code or Codex working in the background but refuse to trust a vendor-installed, self-updating persistent process, self-hosted agent daemons are the transparent alternative. Kodama is the most focused option for running Claude Code/Codex sessions as managed background daemons you own; Paseo takes a broader workspace-orchestration angle; the official CLIs remain the most polished but ship with exactly the trust trade-offs (default daemons, silent auto-updates) that pushed many developers to look elsewhere. Choose Kodama for single-developer transparency, Paseo for multi-agent workflows, and official CLIs only if you have audited and accepted their background behavior. ---

Why this category exists now

In October 2026, a Hacker News thread about Codex CLI installing a persistent, self-updating background daemon by default โ€” without clearly telling users โ€” pulled in hundreds of upvotes and a long tail of "this was on my machine too?" replies. The controversy was not about the feature itself. Running a coding agent in the background is genuinely useful: warm startup, queued tasks, agents that keep working while you sleep. The problem was the delivery model: an opt-out daemon with an auto-update channel means the binary running on your machine tomorrow is not the binary you reviewed today. The same week, projects like Kodama (a self-hosted daemon manager for Claude Code and Codex) were being shown on HN from the opposite direction: identical capability, but the daemon is code you can read, a process you started, and a service you can stop with one command. That is the trust model this roundup compares.

What to evaluate in an agent daemon

Before the picks, the four questions worth asking of any tool in this category: 1. Who controls the process? Did you start it, and can you stop it with a documented, one-step command?
2. How does it update? Is there an auto-update channel, and can you see a changelog before new code runs?
3. What does it observe? Which directories, credentials, and network calls can the daemon touch while idle?
4. Is it auditable? Open source, logged actions, and a way to replay what the agent actually did. ---

Kodama โ€” best for transparent single-developer daemons

Kodama is a self-hosted daemon manager built specifically around the Claude Code / Codex workflow. Instead of letting the vendor's CLI decide when a background process exists, you define agent services yourself: which repo, which harness, what triggers a run, and where the logs go. Strengths
  • The daemon is yours: you install it, you start it, you stop it. No hidden LaunchAgents or systemd units.
  • Open source, so the "what is it doing while idle" question has an answer you can read.
  • Fits the mental model developers already have from pm2 or systemd: named services, restart policies, log tails.
Weaknesses
  • Young project; expect sharp edges and breaking changes between releases.
  • You own the operations burden โ€” if the agent hangs at 3 a.m., that is your pager.
Best for: individual developers and small teams who want background Claude Code/Codex sessions with full process ownership.

Paseo โ€” best for multi-agent workspace orchestration

Paseo takes a wider swing: rather than managing one vendor's agent, it aims to be a workspace where multiple agents run background tasks across repos, with a UI for steering and reviewing their work. Strengths
  • Multi-agent by design: parallel tasks, separate worktrees, review-oriented output.
  • Self-hosted option keeps credentials and code inside your own infrastructure.
Weaknesses
  • Broader scope means more moving parts to deploy and maintain than a single-purpose daemon manager.
  • Still an early-stage project; documentation and stability lag the ambition.
Best for: teams already running several agents in parallel who want a control plane they host themselves.

Official CLIs (Codex CLI, Claude Code) โ€” polished, but audit first

The vendor CLIs remain the most capable harnesses, and their background features exist for real reasons: daemon pre-warming makes interactive sessions feel instant, and managed auto-updates keep users on supported versions. If you stay on them โ€” and for many teams that is the right call โ€” do it with eyes open:
  • Inventory the background processes they install (launchctl list | grep -i codex on macOS, systemctl --user list-units on Linux).
  • Decide explicitly whether the daemon and auto-update channel are acceptable on a work machine.
  • If not, disable the daemon and keep the CLI in on-demand mode โ€” you lose warm startup, you gain an audit point before every version change.
Best for: developers who value the most mature agent experience and have consciously accepted (or disabled) the vendor's background footprint. ---

Comparison table

ToolWho controls the daemonUpdate modelMulti-agentMaturity
KodamaYou (self-hosted service manager)Manual / you pin versionsSingle-agent sessionsEarly
PaseoYou (self-hosted control plane)Manual / you pin versionsYesEarly
Official CLIsVendor default (opt-out)Auto-update by defaultVariesHigh

How to choose

  • Solo developer, privacy-first: start with Kodama. It solves the exact problem the HN thread surfaced โ€” background agents without the trust hole โ€” with the least infrastructure.
  • Team running parallel agent tasks: evaluate Paseo, but pilot it in an isolated environment first.
  • Staying on official CLIs: that is fine โ€” just treat the installation like vendor due diligence. Audit the daemons, decide on auto-updates deliberately, and re-check quarterly.
Whichever route you take, the principle that emerged from the October controversy holds: background capability is a feature, but consent and auditability are the product. A daemon you chose is infrastructure; a daemon you discovered is a breach of trust. ---

FAQ

Is a self-hosted daemon safer than the vendor one? Safer in the trust sense โ€” you can read the code, pin the version, and stop the process โ€” but it shifts operational responsibility to you. There is no vendor paging when your self-hosted daemon dies mid-task. Can I keep using Codex CLI without its daemon? In most cases, yes: the CLI's core functionality works on-demand once the background service is disabled. You trade warm startup and auto-updates for explicit control over when code runs and which version runs. What about running agents in containers instead? A solid middle path. Wrapping an official CLI in a container or dedicated user account, with your own cron or systemd timers deciding when it is alive, gives you background capability with boundaries you drew yourself.