Build apps for your API using AI

Deploy and govern AI agents across your organization in secure, isolated containers. Empower everyone to build apps.

openbox — zsh
$ openbox run --repo ./my-app --agent claude-code \       --prompt "Add rate limiting to /api/users"   ◆ Building image from agents/claude-code/Dockerfile... ◆ Copying workspace to /tmp/openbox-a3f9c2/ ✓ Box ready — box_a3f9c2   ● claude-code I'll add rate limiting using express-rate-limit...   ⚙ write_file  src/middleware/rateLimit.ts   ⚙ edit_file   src/routes/users.ts   ⚙ run_command npm install express-rate-limit   ✓ Done $0.018 · 3 files changed · 12 turns ? Sync changes to ./my-app? y
Works with
claude-code
codex
gemini
opencode
custom agents
Features

Isolated by default.
Powerful by design.

OpenBox manages containers, streams results, and tracks every change — so you just write the prompt.

Agent-agnostic

Bring any AI agent — Claude Code, Codex, Gemini, or your own. Just add a Dockerfile and an agent.yaml. No vendor lock-in.

Persistent boxes

Containers persist after the run. Browse the workspace, inspect diffs, resume where you left off, or cherry-pick changes on your terms.

Interactive REPL

Have a multi-turn conversation with your agent inside a live container. No cold starts, no context loss between prompts.

Context injection

Feed your agent OpenAPI specs, docs, or any reference file with --context. Bundled into the workspace so the agent can use them immediately.

Streaming SDK

Embed OpenBox in any Node.js app. Stream tool calls, token counts, and cost in real time. Stateless and dependency-injected — safe for concurrent server use.

API source sync

Point at a Postman collection or OpenAPI spec. When the API changes, openbox sync regenerates your client code automatically.

Web UI

A built-in Next.js dashboard with live chat, diff viewer, and file preview. Self-host it or run it locally.

How it works

From prompt to diff
in seconds

01

Box is created

OpenBox copies your local repo (or clones a GitHub URL) to an isolated temp workspace, then builds a Docker image from the agent's Dockerfile.

02

Agent runs inside

The container mounts the workspace, receives your prompt and context files, and runs the agent. Structured JSON events stream back in real time.

03

Inspect the diff

After the agent finishes, view a full git diff. The box persists — resume the session, run another prompt, or explore the workspace freely.

04

Sync on your terms

When satisfied, sync changes back to your source directory or open a GitHub PR. Clean up when you're ready.

API Maintenance

APIs change.
Your code
keeps up.

Every time a tracked API ships an update, OpenBox automatically runs an AI agent against your codebase and opens a pull request with the necessary changes — no manual work required.

  • 🔔
    Track any API spec Connect a Postman collection or OpenAPI spec. OpenBox monitors it for every new version.
  • 🤖
    AI analyses the diff An AI agent reads what changed, understands the impact, and writes the required code updates across your repo.
  • 🔀
    PR lands in your repos A descriptive pull request is opened in every affected repository — tested, explained, and ready for review.
MyService API v4 published
Pull request Open
🤖
openbox[bot] just now
chore: update MyService API v3 → v4 client bindings
MyService's API released v4. This PR updates:
  • Migrates MyService SDK to ^14.0.0
  • Updates PaymentIntent.create to new signature
  • Adds handling for new payment_failed error codes
src/payments/MyService.ts +24 −18
src/payments/webhooks.ts +8 −3
package.json +1 −1
Quick examples

CLI or SDK — your choice

Use the command line for one-off tasks or embed the SDK for automated workflows.

CLI
bash
# Run on a local repo
openbox run --repo ./my-app \
  --agent claude-code \
  --prompt "Migrate Express to Fastify"

# Multi-turn interactive session
openbox run --repo ./my-app \
  --agent claude-code \
  --interactive

# With OpenAPI context
openbox run --repo ./my-app \
  --context ./openapi.yaml \
  --prompt "Implement the /users endpoints"

# Manage existing boxes
openbox box list
openbox box diff box_a3f9c2
openbox box sync box_a3f9c2
SDK (TypeScript)
typescript
import { OpenBox } from "openbox";

const openBox = new OpenBox({
  env: { ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY! },
  defaultAgent: "claude-code",
});

const { result, box } = await openBox.run(
  {
    repo: { path: "/path/to/my-app" },
    prompt: "Add rate limiting to /api/users",
  },
  {
    onToolStart: (tool, id, input) =>
      console.log(`⚙ ${tool}`, input),
    onStdout: (data) => process.stdout.write(data),
  }
);

console.log(`$${result.costUsd} · ${result.numTurns} turns`);
await box.sync({ target: "/path/to/my-app" });
await box.destroy();
Documentation

Everything you need
to get started

Full CLI reference, SDK API docs, and agent guides — all in one place.

Ready to open the box?

Install in seconds. Your first agent run takes under a minute.

$ npm install -g openbox
View on GitHub