supaguardsupaguardDocs

supaguard CLI: Monitor Your Apps from the Terminal

Install and use the supaguard CLI to deploy Playwright checks, run them in the cloud, manage alerts, and control your monitoring workflow from the terminal.

The supaguard CLI lets you manage your entire monitoring workflow from the terminal — deploy Playwright checks, run them in the cloud, manage alerts, and more.

Install

npm install -g supaguard

Requires Node.js 24 or later and a supaguard account.

Quick Start

# 1. Authenticate via browser
supaguard login

# 2. Test a Playwright script in the cloud
supaguard checks test tests/homepage.spec.ts

# 3. Deploy it as a monitoring check
supaguard checks create tests/homepage.spec.ts

# 4. View check status
supaguard checks list

# 5. Trigger an on-demand run
supaguard checks run <check-id>

Authentication

login

Authenticate with supaguard via browser. Opens your default browser for OAuth, then stores the token locally. After authentication, the CLI displays a list of your organizations — select the one you want to monitor.

supaguard login

logout

Revoke your token and clear stored credentials.

supaguard logout [--json]

whoami

Show the current authenticated user and active organization.

supaguard whoami [--json]

orgs

List your organizations. In interactive mode, lets you switch the active organization.

supaguard orgs [--json]

Checks

checks list

List deployed checks for the active organization.

supaguard checks list [options]
FlagDescription
--status <status>Filter by status: ACTIVE, DISABLED, MUTED, DRAFT
--limit <n>Limit results (default: 50)
--jsonOutput as JSON

checks status <checkId>

Show detailed status of a specific check.

supaguard checks status <checkId> [--json]

checks test <file>

Run a Playwright script in the cloud without saving it as a check. Useful for validating scripts before deploying.

supaguard checks test <file> [--json]

checks create <file>

Test and deploy a Playwright spec as a monitoring check. In interactive mode, prompts for name, locations, schedule, and alert policy. All options can also be provided via flags for scripted usage.

supaguard checks create <file> [options]
FlagDescription
--name <name>Check name (required in non-interactive mode)
--locations <regions>Comma-separated region IDs (e.g. eastus,northeurope)
--cron <expression>Cron schedule expression (e.g. */5 * * * *)
--alert-policy <id>Alert policy ID to attach
--skip-testSkip the cloud test before deploying
--jsonOutput as JSON

checks update <checkId>

Update an existing check's attributes. Only the specified fields are changed.

supaguard checks update <checkId> [options]
FlagDescription
--name <name>New check name
--script <file>New script file (tested in the cloud first)
--locations <regions>Comma-separated region IDs
--cron <expression>Cron schedule expression
--alert-policy <id>Alert policy ID
--jsonOutput as JSON

checks delete <checkId>

Delete a check. Prompts for confirmation unless --force is passed.

supaguard checks delete <checkId> [options]
FlagDescription
--forceSkip confirmation prompt
--jsonOutput as JSON

checks run <checkId>

Trigger an on-demand execution of a check.

supaguard checks run <checkId> [options]
FlagDescription
--region <region>Target region for execution
--jsonOutput as JSON

checks pause <checkId>

Pause (disable) a check.

supaguard checks pause <checkId> [--json]

checks resume <checkId>

Resume (activate) a paused check.

supaguard checks resume <checkId> [--json]

Modules

Shared modules let you reuse code across multiple checks.

modules list

List shared modules for the active organization.

supaguard modules list [--json]

modules push <file>

Upload a module file. The module path defaults to the filename but can be overridden.

supaguard modules push <file> [options]
FlagDescription
--path <module-path>Override the module import path
--jsonOutput as JSON

modules delete <moduleId>

Delete a module. Prompts for confirmation unless --force is passed.

supaguard modules delete <moduleId> [options]
FlagDescription
--forceSkip confirmation prompt
--jsonOutput as JSON

Alerts

alerts list

List alert policies for the active organization.

supaguard alerts list [--json]

alerts create

Create a new alert policy. In interactive mode, prompts for name and channel.

supaguard alerts create [options]
FlagDescription
--name <name>Policy name
--channel <type:target>Alert channel (e.g. slack:#monitoring, email:team@acme.com, webhook:https://...)
--jsonOutput as JSON

Claude Code Integration

init

Install the supaguard skill for Claude Code. This copies skill files into .claude/skills/supaguard/ in your project, enabling Claude Code to create and manage monitoring checks using the CLI.

supaguard init

See the Claude Code guide for full setup instructions including skill installation and usage.

Regions

Checks run from the following regions:

Region IDLocation
eastusUS East (Virginia)
northeuropeEU North (Ireland)
centralindiaIndia Central (Pune)

Pass one or more region IDs to --locations as a comma-separated list:

supaguard checks create test.spec.ts --locations eastus,northeurope

Schedules

In interactive mode, checks create presents schedule presets. You can also pass any cron expression via --cron:

PresetCron
Every 5 minutes*/5 * * * *
Every 10 minutes*/10 * * * *
Every 15 minutes*/15 * * * *
Every 30 minutes*/30 * * * *
Every hour0 * * * *
Every 6 hours0 */6 * * *
Every 12 hours0 */12 * * *
Every 24 hours0 0 * * *

JSON Mode

All commands support --json for structured output, suitable for scripting and CI/CD:

supaguard checks list --json

When --json is set, interactive prompts are disabled — all required options must be provided via flags.

Configuration

Credentials are stored in ~/.supaguard/config.json after login. This file contains your auth token, user info, and default organization. Run supaguard logout to clear it.

Environment Variables

VariableDescription
SUPAGUARD_API_URLOverride the API base URL (defaults to https://supaguard.app)

On this page