Skip to content

CLI Commands

The jarvis CLI is the operational entry point for the daemon.

The current shipped commands are:

  • jarvis start
  • jarvis stop
  • jarvis restart
  • jarvis drain
  • jarvis status
  • jarvis logs
  • jarvis update
  • jarvis enroll
  • jarvis sidecars list
  • jarvis revoke
  • jarvis doctor
  • jarvis uninstall
  • jarvis version
  • jarvis 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.

Starts the daemon.

Terminal window
jarvis start
jarvis start -d
jarvis start --port 8080
jarvis start --no-open

Flags:

  • -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 start runs in the foreground and acquires the daemon lock directly
  • jarvis start -d or jarvis start --detach spawns a background child and writes logs to the daemon log file

Stops the running daemon gracefully.

Terminal window
jarvis stop
jarvis stop --port 8080 # recovery path when the lockfile is gone

Stopping 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.

Stops the daemon if it is running, then starts it again.

Terminal window
jarvis restart
jarvis restart --port 8080

Shows whether the daemon is currently running.

Terminal window
jarvis status

When running, it also prints the dashboard URL.

Shows the daemon log file.

Terminal window
jarvis logs
jarvis logs -f
jarvis logs -n 200

Flags:

  • -f, --follow: follow log output live
  • -n, --lines <N>: number of lines to show

Enrolls a device and prints its enrollment token (ES256 JWT). Paste the token into the sidecar on the target machine.

Terminal window
jarvis enroll "my-desktop"
jarvis enroll "my-desktop" --rotate
jarvis enroll "my-desktop" --json

Notes:

  • 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_domain is not set, the CLI warns that tokens will point at localhost:<port> and only work for sidecars on the same machine. Set it before enrolling remote devices; changing it later requires re-enrolling.

Lists enrolled devices.

Terminal window
jarvis sidecars list
jarvis sidecars list --json

Revokes an enrolled device.

Terminal window
jarvis revoke <sid>
jarvis revoke <sid> --json

Live 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.

Removes Usejarvis, dispatching on the install method, and removes any autostart service.

Terminal window
jarvis uninstall

Runs environment and connectivity checks.

Terminal window
jarvis doctor

Use 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

Updates Usejarvis to the latest version.

Terminal window
jarvis update

Prints the installed version.

Terminal window
jarvis version

Shows built-in help text.

Terminal window
jarvis help
Terminal window
jarvis start # boots in setup mode, dashboard guides you
jarvis enroll "my-desktop" # paste the token into the sidecar
Terminal window
jarvis start -d
jarvis logs -f
Terminal window
jarvis doctor
jarvis status
jarvis logs -n 200