πŸ“₯ Install the daemon

Put the AgentConnect daemon on any machine β€” one command to try it, one more to make it permanent.

The daemon is the machine-side half of AgentConnect: it hosts your agents, drives their runtimes over ACP, and holds every platform connection. This page covers getting it onto a machine and keeping it there.

Requirements

  • macOS or Linux (launchd and systemd are supported for background service mode).
  • Node.js 24.12 or newer β€” use @agentconnect.md/cli, the stable entry point that installs, launches and upgrades the daemon for you.
  • At least one agent runtime installed and authenticated on the machine β€” e.g. Claude Code (claude) or Codex (codex). The daemon detects runtimes automatically (from the machine's installed launchers, via the ACP registry) and reports what it finds β€” runtimes, versions, models β€” to the console.
  • Outbound network only. The daemon dials out to your configured Control Plane and to the chat platforms. It never listens on a public port, so it runs fine on a laptop behind NAT.
  • Optional Linux sandboxing requires bubblewrap, ripgrep, socat, and unprivileged user namespaces. The daemon runs a live capability probe at startup; macOS currently runs agents without this OS sandbox. See Sandboxing.

Connect a machine

In a new organization, onboarding shows the connection command inline. If you skipped onboarding, open Daemons β†’ Add daemon. Both paths mint a one-time key and show the exact command to run on the target machine:

npx -y @agentconnect.md/cli run --api-url <your-control-plane-ws-url> --api-key <one-time-key>

Copy it from the console (the key is shown only once) and run it. The page continues when the daemon comes online. The Run command starts the daemon in the foreground using the supplied credentials. The CLI downloads the appropriate daemon release on first use, then registers it and starts heartbeating.

Connect your daemon with example values

Run it permanently

agentconnect run stays in the foreground β€” good for a first try, wrong for a machine that should serve your team. Switch the Add daemon modal to Install as service and copy its login command instead:

# Verifies the key and saves it, then offers to install and start the service.
npx -y @agentconnect.md/cli login --api-url <your-control-plane-ws-url> --api-key <one-time-key>

If you have already authenticated with login, you can install and start the service separately:

npx -y @agentconnect.md/cli install-service   # register launchd / systemd service
npx -y @agentconnect.md/cli up                # start it

Install and authenticate agent runtimes as the OS user who owns the service, then restart the daemon after changing that user's runtime installation or PATH.

Manage it with:

CommandWhat it does
npx -y @agentconnect.md/cli statusShow service state, PID and the log file path
npx -y @agentconnect.md/cli up / down / restartStart / stop / restart the background service
npx -y @agentconnect.md/cli uninstall-serviceStop and remove the service
npx -y @agentconnect.md/cli runRun in the foreground (ignores the service)
npx -y @agentconnect.md/cli upgrade --restartUpgrade, restart, health-check and roll back on failure

What lands on disk

Everything the daemon owns lives under one root, ~/.agentconnect by default:

~/.agentconnect/
β”œβ”€β”€ config.json          # control-plane URL + key, daemon identity
β”œβ”€β”€ agents/              # one directory per agent: config + workspace
β”œβ”€β”€ state/local.sqlite   # local state (sessions, queues)
β”œβ”€β”€ logs/daemon.log      # daemon log
β”œβ”€β”€ run/                 # runtime sockets
β”œβ”€β”€ versions/            # installed daemon releases
β”œβ”€β”€ current              # active daemon release
└── versions.json        # release channel and upgrade history

Useful CLI and daemon-run flags:

FlagMeaning
--root <dir>Change the root (AGENTCONNECT_ROOT)
--config <path>Use another config.json
--api-url <url> / --api-key <key>Set Control Plane credentials for run or login
--agents-dir <dir>Change the agents directory
--max-agents <n>Cap how many agents this daemon will host
--log-level <level>trace debug info warn error
--require-sandboxFail startup unless every agent can be sandboxed

Good to know

  • Updates: the CLI keeps installed daemon releases under the daemon root. Run npx -y @agentconnect.md/cli upgrade --restart, or use Upgrade in the console, to switch releases with a health check and automatic rollback on failure.
  • Sandboxing: a supported Linux daemon can confine selected agents, or require the boundary for every agent and fail closed. See Sandboxing before using it as a production guarantee.
  • A temporary Control Plane outage does not stop established work. Existing sessions and platform connections continue until the daemon reconnects.
  • Multiple machines: add as many daemons as you like β€” a beefy workstation for heavy agents, a laptop for experiments. You can later move an agent between compatible online daemons; see Manage daemons.

Did this page help you?