Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.runtools.ai/llms.txt

Use this file to discover all available pages before exploring further.

1. Create an API Key

Create an account at runtools.ai, open Dashboard -> API Keys, and create a key for local development.
export RUNTOOLS_API_KEY=rt_live_xxx
API keys are secrets. Keep them on the server side and never commit them to source control.

2. Use the CLI

The CLI package is not published to npm yet. During early access, run it from the repo:
cd runtools-cli
npm install
npm run build
node dist/index.js --help
If you are working inside the local repo, the development command is:
bun run src/index.ts --help

3. Sign In

runtools login

# Or store an API key for scripts and CI.
runtools auth set-key "$RUNTOOLS_API_KEY"
Check the active identity:
runtools auth status
runtools auth whoami

4. Create a Sandbox

runtools sandbox create --name my-first-sandbox --template base-ubuntu
runtools sandbox list
Run a command:
runtools sandbox exec my-first-sandbox "echo Hello from Runtools"
Connect with SSH:
runtools ssh-key add my-laptop --file ~/.ssh/id_ed25519.pub
runtools sandbox ssh my-first-sandbox

5. Add Persistent Files For Agents

If an agent should keep project state between runs, create a workspace and mount it into the sandbox. The mounted workspace is the agent’s persistent filesystem memory.
curl -X POST https://api.runtools.ai/v1/workspaces \
  -H "X-API-Key: $RUNTOOLS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"My Project","slug":"my-project"}'
Use the returned workspace ID when creating a sandbox:
runtools sandbox create \
  --name my-agent-sandbox \
  --template base-ubuntu \
  --mount 9b84ef42-9c3a-4930-9d4c-45c7f5c22d8e:/workspace
An agent linked to my-agent-sandbox can read and write /workspace. Those files remain available for future runs.

6. Use the SDK

The SDK package is also not published to npm yet. In this multi-repo workspace, link it locally or use the local file dependency used by the CLI.
import { RunTools } from '@runtools/sdk';

const rt = new RunTools({ apiKey: process.env.RUNTOOLS_API_KEY });

const sandbox = await rt.sandbox.create({
  name: 'sdk-demo',
  template: 'base-ubuntu',
});

await sandbox.waitForReady();

const result = await sandbox.exec('pwd && ls -la', { cwd: '/workspace' });
console.log(result.stdout);

await sandbox.destroy();

7. Expose a Dev Server

Start a server in the sandbox, then ask Runtools for the protected URL:
runtools sandbox exec my-first-sandbox "cd /workspace && npm run dev -- --host 0.0.0.0"
runtools sandbox url my-first-sandbox --port 3000 --open

8. Pause or Destroy

Pause keeps the environment available for later while stopping active compute use:
runtools sandbox pause my-first-sandbox
runtools sandbox resume my-first-sandbox
Destroy removes the sandbox:
runtools sandbox destroy my-first-sandbox --force

Next Steps

Sandboxes

Learn lifecycle, SSH, dev URLs, mounts, and monitoring.

Agents

Define and run agents.

Tool Hub

Install, execute, and publish tools.

CLI Reference

See every implemented command group.