Installing on macOS or Windows
A native background agent for laptops and desktops — an "End User Device" (EUD) in the portal, distinct from a Linux server.
@sudoji/cli covered in Installing the Agent — same account, different install and a different command set. See Command differences below before reaching for a command that only exists on Linux.What it is
A single Go binary plus a launchd LaunchDaemon (macOS) that keeps a persistent connection to Sudoji so you can chat with this device from the portal, or run sudoji ask / sudoji chat locally. It shows up under End User Devices on the Devices page — a separate list from Servers.
From the Devices page, click + EUD. Name the key (e.g. vinay-macbook) and create it — the page then shows your key and a .pkg download link, both shown once.
Double-click the downloaded .pkg. It installs the binary to /usr/local/bin/sudoji and registers a LaunchDaemon at /Library/LaunchDaemons/io.sudoji.agent.plist — it will start immediately and sit waiting for credentials.
The daemon runs as root (LaunchDaemons on macOS always do), so it can only see credentials stored by a root login. A plain sudoji login writes to your own user's home directory instead — the daemon will never find it.
This does two things: stores the key where the daemon looks, then automatically restarts the daemon so it picks it up immediately — no separate restart step needed. Watch for the daemon's own recent log lines printed right after "credentials saved" as confirmation it's connecting.
/var/root/.sudoji/credentials for the daemon, mode 0600, root-only), not the macOS Keychain — a LaunchDaemon can't reliably read Keychain entries back, so this agent doesn't use it at all, on purpose.Check the device appears online in the portal, or ask the daemon directly:
sudoji chat and sudoji ask run as you, not root — they read credentials from your own user's home directory. If you only ever ran sudo sudoji login, interactive commands will 401 even though the daemon works fine. Run a second, plain sudoji login --key ... (no sudo) to authenticate your own user too.Command differences from the Linux CLI
The full command reference at CLI Reference documents the Linux @sudoji/cli. This agent supports a smaller set:
sudoji doctor, sudoji context, sudoji logs, sudoji keys, and sudoji do are Linux-CLI-only — they don't exist on this agent and will error as an unknown command.Uninstalling
There's no uninstaller bundled in the .pkg yet — remove everything manually: