Sentinel CLI.
The Sentinel CLI now in PUBLIC BETA — fast and token efficient Sentinel access from your terminal, with --json and --csv out everywhere.
Install the CLI
Requires Node.js 20 or newer. macOS, Linux, and Windows are supported.
curl -fsSL https://get.kajeet.dev/install.sh | sh
kajeet-sentinel --versionnpm install -g https://get.kajeet.dev/v1.0.1/kajeet-sentinel-cli-1.0.1.tgz
kajeet-sentinel --versionAuthenticate
Sign in interactively, or wire up headless access for agents and CI.
kajeet-sentinel auth loginThe CLI will open your browser so you can sign in securely with OAuth. Leave the terminal open while you complete login. When the browser says login is complete, return to the terminal and run kajeet-sentinel auth whoami to confirm.
echo "$SENTINEL_API_KEY" | kajeet-sentinel auth login --api-key -
kajeet-sentinel doctor --jsoncurl -fsSL https://get.kajeet.dev/install.sh | sh -s -- --version 1.0.1
kajeet-sentinel --version
kajeet-sentinel doctor --jsonkajeet-sentinel help
kajeet-sentinel schema commands --json
kajeet-sentinel schema command devices.list --jsoncurl -fsSL https://get.kajeet.dev/install.sh | shDevices
Look up, list, and inspect devices and groups. Select a command for usage, flags, and sample output.
Available on every command
Every command's help reports these four. They never conflict with command-specific flags.
--jsonOutput the standard JSON envelope.
--csvOutput as CSV. Only meaningful for commands with tabular output.
--corp <id>Override the active corpId for this command.
--allPaginate through all results. Only meaningful on list commands.
List & pagination flags
--limit <n>Max records per request (1–1000). Ignored when --all is set.
--ndjsonStream newline-delimited JSON records. Pairs with --all.
--max-records <n>Cap the total number of records when paginating with --all.
JSON envelope & exit codes
Every command supports --json and returns the same envelope. Discover the full surface with schema commands, then fetch typed I/O with schema command <id>.
{
"ok": true,
"command": "devices.totals",
"meta": { "durationMs": 344, "timestamp": "2026-06-01T01:09:33.986Z", "cliVersion": "1.0.1" },
"account": { "corpId": "SUPPORT", "username": "you@example.com" },
"request": { "backend": "api", "endpoint": "GET /v1.0/devices/{corpId}/totals" },
"data": { "active": 1249, "suspended": 1, "total": 1250 }
}exit 0Success — data printed (or the JSON envelope has "ok": true).
exit 4Permission denied — missing scope or feature not enabled for the corp.
exit 5Not found — unknown command id or resource.
exit 6Validation / upstream error — bad arguments or an API 4xx (see error.message).
Environment variables
Set these for headless runs and CI. Inspect what the CLI sees with kajeet-sentinel auth env.
SENTINEL_API_KEYMCP API key for headless login (equivalent to piping into auth login --api-key -).
SENTINEL_API_URLOverride the Sentinel API base URL.
SENTINEL_AUTH_URLOverride the MCP auth base URL.
SENTINEL_TIMEOUT_MSPer-request timeout in milliseconds.
SENTINEL_VERBOSESet to 1 to log HTTP request/response details to stderr.
Wire it into CI today.
Generate an MCP API key, drop it into your pipeline secrets as SENTINEL_API_KEY, and let your build server talk to Sentinel.
