CLI reference
Command reference for the Webskillet CLI.
Run Webskillet tasks from your terminal. The CLI ships with the webskillet npm package.
# Run without installing
npx webskillet <command>
# Or install globally
npm install -g webskilletAuthentication
The CLI authenticates with your Webskillet account in one of two ways:
- Browser login —
webskillet auth loginopens your browser and stores credentials in~/.webskillet/credentials.json - API key — set the
WEBSKILLET_API_KEYenvironment variable, or enter a key manually duringauth login
When WEBSKILLET_API_KEY is set, it takes precedence over stored credentials.
auth login
webskillet auth loginPrompts you to authenticate with your browser (recommended) or by entering an API key. Grab a key from the sidebar in the Webskillet app.
auth logout
webskillet auth logoutClears stored credentials. If WEBSKILLET_API_KEY is still set, you remain authenticated through it until you unset it.
run
webskillet run <task> [options]Starts a run and waits for the result, polling until the run is completed or canceled.
| Option | Description |
|---|---|
--start-url <url> | URL the agent should start from; omit to let it decide |
--parameters <json-or-file> | Structured inputs as a JSON string or a path to a JSON file |
--output-schema <json-or-file> | JSON Schema (draft 2020-12) for the result shape, as a JSON string or file path |
--skillet-id <id> | Reuse a saved skillet's code and knowledge instead of starting fresh |
--model <model> | Agent model: gpt-5.6-luna (default), haiku, sonnet, or opus |
--wait [duration] | Stop waiting after a duration (for example 30s, 10m, 2h); waits indefinitely by default |
--json [filename] | Output as JSON; pass a filename to write the result to a file |
webskillet run "Extract the title, points, and URL for the top stories" \
--start-url https://news.ycombinator.com \
--skillet-id hacker-news-top-stories \
--output-schema ./schema.json \
--wait 10mIf the run fails or the --wait deadline passes before it finishes, the CLI exits with a nonzero status. On timeout it prints the run ID so you can check back later with result.
start
webskillet start <task> [options]Starts a run and returns immediately with the run ID — the fire-and-forget version of run. Accepts the same options as run except --wait.
webskillet start "Extract the title" --start-url https://example.comRun started
Run ID: ru_7Km2pQr9Vx4Nz8Lc1Hd6B
Status: pending
Run 'webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B' to check status.result
webskillet result <run-id>Gets a run's status and result.
| Option | Description |
|---|---|
--json [filename] | Output as JSON; pass a filename to write the result to a file |
list
webskillet list [options]Lists recent runs, newest first.
| Option | Description |
|---|---|
-l, --limit <number> | Maximum number of runs to return (default 20) |
-o, --offset <number> | Number of runs to skip (default 0) |
--json [filename] | Output as JSON |
JSON output
Every command accepts --json for machine-readable output. Pass it alone to print JSON to stdout, or with a filename to write to a file:
webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B --json
webskillet result ru_7Km2pQr9Vx4Nz8Lc1Hd6B --json result.jsonThe JSON shapes match the HTTP API responses.
Exit codes
| Code | Meaning |
|---|---|
0 | Command succeeded |
1 | Command failed, the run failed, or run timed out before a terminal status |
Configuration
| Variable | Purpose |
|---|---|
WEBSKILLET_API_KEY | API key; takes precedence over stored credentials |
WEBSKILLET_API_BASE_URL | API origin override |
WEBSKILLET_SETTINGS_PATH | Credentials directory override (default ~/.webskillet) |