Skip to main content
ClaudeWave

TypeScript client library for the Burrowbox API

SubagentsOfficial Registry0 stars0 forks● TypeScriptMITUpdated yesterday
ClaudeWave Trust Score
87/100
✓ Trusted
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Documented (README)
Last scanned: 10/5/2026
Install as a Claude Code subagent
Method: Clone
Terminal
git clone https://github.com/burrowbox/burrowbox-js && cp burrowbox-js/*.md ~/.claude/agents/
1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
2. Start a new Claude Code session to load the agents.
3. Delegate work to them with the Task/Agent tool or by name.
Use cases

Subagents overview

# burrowbox-js

TypeScript client library for the [Burrowbox](https://burrowbox.dev) API: persistent Linux computers for AI agents, each with a desktop, a browser that stays signed in, a credential vault and its own MCP endpoint.

**[→ Start using Burrowbox](https://burrowbox.dev)** · [API docs](https://burrowbox.dev/docs)

## Install

```bash
bun add burrowbox
```

npm (`npm install burrowbox`) and pnpm (`pnpm add burrowbox`) work too. No runtime dependencies. Works anywhere with a global `fetch`: Bun, Node 18+, Deno, Cloudflare Workers. Keep API keys on your server.

## Quickstart

Create an API key under **Account → API keys** and export it:

```bash
export BURROWBOX_KEY=tmk_...
```

Create a machine and connect an agent to it over MCP:

```ts
import { Burrowbox, toAgentSdkMcpServers } from "burrowbox";
import { query } from "@anthropic-ai/claude-agent-sdk";

const bb = new Burrowbox(); // reads BURROWBOX_KEY

// Boots in a few seconds. It turns itself off (keeping its state) after an hour.
const machine = await bb.machines.create({ name: "research-bot", size: "tiny", ttlMinutes: 60 });

// MCP URL + the machine's scoped token (tmm_…), which only works on this machine.
const mcp = await bb.machines.mcp(machine);

for await (const msg of query({
  prompt: "Open news.ycombinator.com and summarise the top 5 stories.",
  options: { mcpServers: toAgentSdkMcpServers(mcp) },
})) {
  if (msg.type === "result" && msg.subtype === "success") console.log(msg.result);
}

await bb.machines.stop(machine); // files, apps, logins and open windows are kept
```

`mcp` is plain data (`{ name, url, token, headers }`), so it works with any Streamable HTTP MCP client. `toMessagesApiMcpServer(mcp)` gives the Anthropic Messages API MCP connector shape, and `toClaudeCodeCommand(mcp)` prints a `claude mcp add` command.

## Features

- **Machines:** create, list, start, stop, resize, schedule and destroy, plus screenshots, apps and windows.
- **MCP:** connection details for each machine's endpoint and for the platform endpoint.
- **Live view:** signed links to embed a machine's screen in your product. You choose whether viewers can take control.
- **Vault:** store logins in a machine. Agents can use them without ever seeing them.
- **Warm pools:** keep machines booted and set up from a template, then claim one instantly for a customer.
- **Automations:** cron jobs and webhooks that run commands, MCP tools or HTTP calls inside a machine.
- **Event webhooks:** signed notifications when machines change state, plus `verifyWebhookSignature()`.
- **Billing and VPN:** balance, usage per customer, and residential VPN locations.
- **Typed errors** (`NotFoundError`, `InsufficientCreditError`, `RateLimitError`…), timeouts, and automatic retries for idempotent requests.

```ts
const bb = new Burrowbox({
  apiKey: process.env.BURROWBOX_KEY, // or a machine token (tmm_…) for MCP and live-view only
  baseUrl: "https://burrowbox.dev",
  timeoutMs: 60_000,
  maxRetries: 2,
  fetch: customFetch, // optional
});
```

### Verify event webhooks

```ts
import { constructWebhookEvent } from "burrowbox";

// Pass the raw body, not re-serialized JSON. Throws WebhookSignatureError if it doesn't verify.
const event = await constructWebhookEvent(await req.text(), req.headers.get("burrowbox-signature"), process.env.BURROWBOX_WEBHOOK_SECRET!);
if (event.type === "machine.stopped") console.log(event.data.machine.id, event.data.detail);
```

It uses Web Crypto, so the same code runs in Bun, Node, Deno, Workers and edge runtimes.

The full surface is in [API.md](./API.md).

## Development

The repo uses [Bun](https://bun.sh) for installs and scripts. Tests run on Vitest, the build on tsup (ESM + CJS + types).

```bash
bun install
bun run typecheck && bun run test && bun run build
bun run smoke   # import the built package from Node (ESM and CJS)
```

## License

MIT

What people ask about burrowbox-js

What is burrowbox/burrowbox-js?

+

burrowbox/burrowbox-js is subagents for the Claude AI ecosystem. TypeScript client library for the Burrowbox API It has 0 GitHub stars and its last recorded update is dated 2026-10-03.

How do I install burrowbox-js?

+

You can install burrowbox-js by cloning the repository (https://github.com/burrowbox/burrowbox-js) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is burrowbox/burrowbox-js safe to use?

+

Our security agent has analyzed burrowbox/burrowbox-js and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains burrowbox/burrowbox-js?

+

burrowbox/burrowbox-js is maintained by burrowbox. The last recorded GitHub activity is dated 2026-10-03, with 0 open issues.

Are there alternatives to burrowbox-js?

+

Yes. On ClaudeWave you can browse similar subagents at /categories/agents, sorted by popularity or recent activity.

Deploy burrowbox-js to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: burrowbox/burrowbox-js
[![Featured on ClaudeWave](https://claudewave.com/api/badge/burrowbox-burrowbox-js)](https://claudewave.com/repo/burrowbox-burrowbox-js)
<a href="https://claudewave.com/repo/burrowbox-burrowbox-js"><img src="https://claudewave.com/api/badge/burrowbox-burrowbox-js" alt="Featured on ClaudeWave: burrowbox/burrowbox-js" width="320" height="64" /></a>

More Subagents

burrowbox-js alternatives