CLI Commands
The jarvis CLI is the operational entry point for the daemon.
Command Summary
Section titled “Command Summary”The current shipped commands are:
jarvis startjarvis stopjarvis restartjarvis drainjarvis statusjarvis logsjarvis updatejarvis enrolljarvis sidecars listjarvis revokejarvis doctorjarvis uninstalljarvis versionjarvis help
Accepted aliases: log for logs, upgrade for update, -v/--version, -h/--help.
The CLI onboarding wizard (jarvis onboard) has been retired; the stub prints a pointer. First-time setup now happens in the dashboard: run jarvis start, then open http://localhost:3142.
Note: every daemon command exits with an error on native Windows. Use WSL2 or Docker for the daemon; the Windows sidecar is supported separately.
jarvis start
Section titled “jarvis start”Starts the daemon.
jarvis startjarvis start -djarvis start --port 8080jarvis start --no-openFlags:
-d,--detach: run as a background daemon--port <N>: override the daemon port--no-open: do not open the dashboard automatically--data-dir <path>: override the data directory (default~/.jarvis)--no-local-tools: disable local tool execution (Docker/headless mode)
Notes:
- By default,
jarvis startruns in the foreground and acquires the daemon lock directly jarvis start -dorjarvis start --detachspawns a background child and writes logs to the daemon log file
jarvis stop
Section titled “jarvis stop”Stops the running daemon gracefully.
jarvis stopjarvis stop --port 8080 # recovery path when the lockfile is goneStopping triggers a bounded graceful drain that finishes in-flight turns and workflows. The CLI waits daemon.drain_deadline_ms (default 75 s) plus 20 s before escalating to a hard kill. jarvis drain is the same operation with drain wording.
jarvis restart
Section titled “jarvis restart”Stops the daemon if it is running, then starts it again.
jarvis restartjarvis restart --port 8080jarvis status
Section titled “jarvis status”Shows whether the daemon is currently running.
jarvis statusWhen running, it also prints the dashboard URL.
jarvis logs
Section titled “jarvis logs”Shows the daemon log file.
jarvis logsjarvis logs -fjarvis logs -n 200Flags:
-f,--follow: follow log output live-n,--lines <N>: number of lines to show
jarvis enroll
Section titled “jarvis enroll”Enrolls a device and prints its enrollment token (ES256 JWT). Paste the token into the sidecar on the target machine.
jarvis enroll "my-desktop"jarvis enroll "my-desktop" --rotatejarvis enroll "my-desktop" --jsonNotes:
- Enrolling an existing name re-mints its token; previously issued tokens remain valid unless you pass
--rotate - Works without the daemon running (it opens the database directly), so you can enroll over SSH
- If the daemon runs in Docker, prefix with
docker exec jarvis - If
daemon.brain_domainis not set, the CLI warns that tokens will point atlocalhost:<port>and only work for sidecars on the same machine. Set it before enrolling remote devices; changing it later requires re-enrolling.
jarvis sidecars list
Section titled “jarvis sidecars list”Lists enrolled devices.
jarvis sidecars listjarvis sidecars list --jsonjarvis revoke
Section titled “jarvis revoke”Revokes an enrolled device.
jarvis revoke <sid>jarvis revoke <sid> --jsonLive sessions are severed within about 30 seconds; new connections and token mints are rejected immediately. Revoking an unknown or already-revoked sid is a no-op that exits 0.
jarvis uninstall
Section titled “jarvis uninstall”Removes Usejarvis, dispatching on the install method, and removes any autostart service.
jarvis uninstalljarvis doctor
Section titled “jarvis doctor”Runs environment and connectivity checks.
jarvis doctorUse this when:
- The daemon will not start
- A provider is misbehaving
- The dashboard cannot connect
- You are not sure whether your environment is configured correctly
jarvis update
Section titled “jarvis update”Updates Usejarvis to the latest version.
jarvis updatejarvis version
Section titled “jarvis version”Prints the installed version.
jarvis versionjarvis help
Section titled “jarvis help”Shows built-in help text.
jarvis helpCommon CLI Flows
Section titled “Common CLI Flows”First-time setup
Section titled “First-time setup”jarvis start # boots in setup mode, dashboard guides youjarvis enroll "my-desktop" # paste the token into the sidecarStart in background and watch logs
Section titled “Start in background and watch logs”jarvis start -djarvis logs -fDiagnose a broken setup
Section titled “Diagnose a broken setup”jarvis doctorjarvis statusjarvis logs -n 200