Skip to content

CLI reference

CLI overview

jalth
├── init # Create a new mesh (CF API token required)
├── join # Join an existing mesh
├── up / down # Reconnect / disconnect WARP
├── status # Mesh dashboard
├── devices list|remove # Device management (remove: admin)
├── ping <device> # Reachability check
├── serve <name> # Expose a local service
│ └── list
├── stop <name> # Stop an exposed service
├── ssh # Zero Trust SSH
│ ├── <device> # Connect (default)
│ ├── enable / disable
│ ├── allow / revoke
│ ├── add-user / remove-user
│ └── list
├── route add|remove|list # Egress routing (operator+)
├── auth-key create|list|revoke # Auth keys (operator+)
├── role set|ls # Role management (admin)
├── group create|delete|add|remove|ls|members
├── domain get|set|remove # Mesh domain (admin)
├── config get|path # Local config
├── upgrade # Upgrade CLI / Worker
├── leave # Leave the mesh
├── destroy # Destroy mesh (admin)
├── doctor # Health checks
├── bugreport # Diagnostics for bug reports
└── version # Print version info
FlagDescription
--verboseDetailed diagnostic output
--output jsonMachine-readable JSON output
--yesSkip confirmation prompts
RoleCommands
Any enrolled deviceserve, stop, ssh, leave, status, ping, up, down
Operator+route, auth-key
Admindestroy, upgrade --worker-only, devices remove, role, domain set/remove

Human (default): Tables, spinners, colored status lines.

JSON (--output json): Structured objects for scripting and CI. Errors include kind, message, and optional remediation fields.

~/.jalth/config.json

Contains registry URL, device token, team name, domain, device name and ID. Never contains the Cloudflare API token.

Terminal window
jalth config path
jalth config get registryUrl