Agent runs
A run arrives as a frozen context pack — brief, documents, file references, permissions. The node executes it through Codex, Claude Code, Kimi, or ZCode and streams structured events and artifacts back to the portal.
snth node
An execution node is your own Mac or Linux machine doing the work your synth plans: agent runs with Codex, Claude Code, Kimi, or ZCode (GLM), and persistent terminals — with the access level you choose, over outbound connections only.
$ curl -fsSL https://github.com/snth-ai/work-node-releases/releases/latest/download/install-work-node.sh | sh
macOS 13+ (Apple silicon & Intel) and Linux. Free during the research preview.
The installer talks you through everything in the terminal. No account details are typed into the browser, and nothing is downloaded without a checksum.
It downloads the node for your platform, verifies the published SHA‑256 checksum, and brings its own pinned toolchain — Node.js runtime and coding-agent adapters — before registering a background service. No inbound port is ever opened.
The installer asks for a one-time code from your portal: Work → Settings → Nodes → Add execution node — then which coding agents run here, and how much of the machine they may use. The code expires in 15 minutes, works once, and is decoded only on this machine.
Back in the portal, the node goes from “Waiting for first heartbeat” to Online on its own. From then on it picks up runs and terminals for your account — and nothing else.
The node executes what you or your synth prepare in Work — every attempt is bounded, recorded, and reviewable in the portal.
A run arrives as a frozen context pack — brief, documents, file references, permissions. The node executes it through Codex, Claude Code, Kimi, or ZCode and streams structured events and artifacts back to the portal.
A real shell in your browser, backed by tmux on this machine. Close the laptop, reconnect later — the session survives, byte for byte.
When a run is granted a connected app or repository, the node brokers exactly that grant — Codex never sees your provider credentials or account tokens.
The node is designed so that the most paranoid reading of it is the correct one.
If the command runs, you are probably fine. For the record:
The node is a normal user service on your machine — no hidden daemons, no root.
$ curl -fsSL https://github.com/snth-ai/work-node-releases/releases/latest/download/install-work-node.sh | sh -s -- --upgrade
tail -f ~/.local/state/snth/work-node/work-node.log launchctl print gui/$(id -u)/ai.snth.work-node
journalctl --user -u snth-work-node -f systemctl --user status snth-work-node
launchctl bootout gui/$(id -u)/ai.snth.work-node rm ~/Library/LaunchAgents/ai.snth.work-node.plist rm -rf ~/.local/share/snth-work-node \ ~/.local/state/snth/work-node \ ~/.local/bin/snth-work-node
Then remove the node in the portal under Work → Settings → Nodes.
systemctl --user disable --now snth-work-node rm ~/.config/systemd/user/snth-work-node.service rm -rf ~/.local/share/snth-work-node \ ~/.local/state/snth/work-node \ ~/.local/bin/snth-work-node
Then remove the node in the portal under Work → Settings → Nodes.
Connect a node from your portal, or get access first — setup takes about two minutes either way.