Quickstart

View as Markdown

Get a running session in under a minute. You need an API key from the Chaser dashboard.

Download the CLI

$curl -fsSL https://get.chaser.sh | sh

Or install via npm:

$npm i -g @chaser.sh/cli
$chaser --version

Login

$chaser login

Use the CLI

Install the CLI and work interactively:

$# Create a sandbox and get the session ID
$SID="$(chaser sandbox --ephemeral --json | jq -r '.id')"
$
$# Open an interactive shell
$chaser shell "$SID"
$
$# Or run a one-shot command
$chaser shell "$SID" -c "ls -la"

Add persistence with workspaces

Create a named workspace so your files survive across sessions:

$# Create a workspace
$chaser workspaces create --session-type sandbox --name my-project --json
$
$# Create a session attached to it
$chaser sandbox --workspace my-project --json
$
$# Run commands against it -- Chaser reuses the existing session
$curl -sS "$CHASER_API_URL/v1/exec" \
> -H "Authorization: Bearer $CHASER_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"workspace": "my-project", "command": "pwd && ls /workspace"}' | jq

Using the REST API

$export CHASER_API_URL="https://api.chaser.sh"
$export CHASER_API_KEY="sk_your_key_here"

Create a browser session

Spin up an ephemeral Chromium instance and connect with Playwright:

$curl -sS "$CHASER_API_URL/v1/sessions" \
> -H "Authorization: Bearer $CHASER_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{"session_type": "browser", "ephemeral": true}' | jq

The response includes a endpoints.control URL. Connect to it with any CDP client:

1import { chromium } from "playwright";
2
3const browser = await chromium.connectOverCDP("https://<session_id>.chaser.sh/");
4const page = await browser.newPage();
5await page.goto("https://example.com");
6console.log(await page.title());
7await browser.close();

Create a sandbox session

Spin up a Linux environment and run a command:

$curl -sS "$CHASER_API_URL/v1/exec" \
> -H "Authorization: Bearer $CHASER_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "ephemeral": true,
> "command": "uname -a && python3 --version"
> }' | jq

This auto-provisions a sandbox, runs the command, and returns the output. No session management required.

Use MCP tools

For AI agent integration, use the MCP endpoint with the high-level terminal and browser tools:

$curl -sS "$CHASER_API_URL/v1/mcp" \
> -H "Authorization: Bearer $CHASER_API_KEY" \
> -H "Content-Type: application/json" \
> -d '{
> "jsonrpc": "2.0",
> "id": 1,
> "method": "tools/call",
> "params": {
> "name": "terminal",
> "arguments": {
> "workspace": "my-project",
> "command": "echo hello from MCP"
> }
> }
> }' | jq

Install local MCP server entries for agents

Keep credentials in environment variables (no secrets written to config files):

$export CHASER_API_KEY=\"sk_your_key_here\"
$export CHASER_API_URL=\"https://api.chaser.sh\"

Install MCP configuration for Codex, Claude Code, and OpenCode in one step:

$chaser mcp install --agent all

You can also run the stdio bridge directly with npm:

$npx chaser-mcp --help