ZAgents Docs

Install the ZAgents daemon

Install the fork CLI and connect your own local daemon to the ZAgents instance (zagents.cnt.me) so agents on your machine can serve our tasks.

Private fork only — this page covers the ZAgents fork (ZurabDev/multica) and is not available upstream. The binary is still named multica; only the distribution channel and instance URLs differ. See PRIVATE_CHANGELOG.md for the change log. The repo-internal hand-off this page mirrors is DEV_DAEMON_ONBOARDING.md.

The daemon is a long-running process on your machine that connects to the ZAgents server and lets the AI coding tools you have installed (the runtimes) pick up and work on tasks. This page installs the fork CLI and points your daemon at our instance, https://zagents.cnt.me.

After the daemon is running, install at least one agent runtime so there is a tool for it to drive.

Why not brew install or curl … install.sh? The ZurabDev/multica repository is private. Homebrew and curl fetch release assets without a token and get a 404. End users install the same fork binary with an authenticated gh release download instead. The in-app onboarding shows brew install ZurabDev/zagents/zagents as the canonical command — it works only once the release assets are reachable (public repo, or a seeded Homebrew cache). Until then, use the gh path below.

Prerequisites

  • NetBird connected — zagents.cnt.me is reachable only from the NetBird network.

  • NetBird k8s-services route selected. Being connected is not enough: the 10.222.0.0/16 subnet (where zagents.cnt.me → 10.222.179.55 lives) is exposed by the k8s-services route, which defaults to Not Selected. Without it DNS resolves but TCP times out. Enable and verify before login/setup:

    netbird routes select k8s-services
    netbird routes list | grep -A1 k8s-services        # Status: Selected
    curl -sS -o /dev/null -w 'http=%{http_code}\n' --max-time 6 https://zagents.cnt.me/health  # expect 200
  • Browser Secure DNS / DoH disabled, otherwise zagents.cnt.me will not resolve.

  • gh logged in under an account with access to the private ZurabDev/multica (gh auth status). Alternative: a GitHub token with repo:read.

1. Install the fork binary

Substitute your platform in --pattern (darwin-arm64 | darwin-amd64 | linux-amd64 | linux-arm64):

mkdir -p ~/.local/bin
gh release download --repo ZurabDev/multica \
  --pattern 'multica-cli-*-darwin-arm64.tar.gz' --dir /tmp/zg --clobber
tar -xzf /tmp/zg/multica-cli-*-darwin-arm64.tar.gz -C ~/.local/bin multica
chmod +x ~/.local/bin/zagents
xattr -d com.apple.quarantine ~/.local/bin/zagents 2>/dev/null || true   # macOS
rm -rf /tmp/zg

~/.local/bin must come before /opt/homebrew/bin on your PATH. Verify:

which zagents          # expect ~/.local/bin/zagents
zagents version        # expect 0.3.5-mz.2 (or newer)

2. Point it at the instance

zagents setup self-host \
  --server-url https://zagents.cnt.me \
  --app-url    https://zagents.cnt.me

3. Log in

zagents login

Your browser opens → zagents.cnt.me → email login. The token is saved to ~/.zagents/config.json.

4. Start the daemon

zagents daemon start            # background process
# or install it as a persistent service (macOS launchd):
zagents daemon install

5. Verify

zagents workspace list          # should show our workspaces
zagents daemon status           # running + WS connected

Updating

brew upgrade / zagents update are unavailable for now (private repo, -mz.N suffix version disables auto-update by design). Re-download the release and restart the daemon.

# repeat step 1 (gh release download → ~/.local/bin/zagents), then:
zagents daemon restart

Troubleshooting

SymptomCauseFix
404 on gh release downloadno access to the private repoask to be added to ZurabDev/multica
connection refused / timeout, but DNS resolvesNetBird connected, k8s-services route Not Selectednetbird routes select k8s-services
connection refused / timeoutNetBird not connectedconnect NetBird
zagents.cnt.me does not resolveSecure DNS/DoH interceptingdisable DoH in the browser
which zagents shows another pathPATH orderexport PATH="$HOME/.local/bin:$PATH"
"multica" cannot be opened (macOS)quarantine flagxattr -d com.apple.quarantine ~/.local/bin/zagents

See also