Claude Code as a service

Claude Code, as a service.

All the power of the Claude Code SDK over plain HTTP. No SDK install, no session management, no per-machine sandbox to operate.

Three lines instead of fifty. You bring your Anthropic key. We bring the sandbox, the git push, and the streaming event protocol.
typescript · SDK directPOST a task → get a PR
// With the Claude Code SDK directly
import { query, type SDKMessage } from '@anthropic-ai/claude-code';
import { spawn } from 'child_process';
import { mkdtempSync, rmSync } from 'fs';
import { tmpdir } from 'os';
import { join } from 'path';

// You own: ephemeral sandbox, git clone, branch policy, commit + push,
// streaming protocol, retry on 429, multi-provider routing, abort
// handling, cost accounting, MCP server config, working-dir lifecycle.
const dir = mkdtempSync(join(tmpdir(), 'task-'));
spawn('git', ['clone', repoUrl, dir]).on('exit', () => { /* … */ });

for await (const m of query({ prompt, options: { cwd: dir /* + everything else */ } })) {
  // 30+ lines just to render tool calls, accumulate text deltas,
  // commit changes, push the branch, surface auth errors…
}
typescript · OrchestraCodePOST a task → get a PR
// With OrchestraCode
const stream = await fetch('https://api.orchestracode.dev/v1/tasks', {
  method: 'POST',
  headers: {
    'authorization':   `Bearer ${ORCH_KEY}`,
    'x-github-token':  GH_TOKEN,
    'x-model-key':     ANTHROPIC_KEY,
  },
  body: JSON.stringify({ repo, branch, task, model: 'claude-sonnet-4-6' }),
});
// → stream of typed events: status / assistant / tool_use / tool_result / git / result

What you don't have to operate.

Sandbox lifecycle

A fresh, per-task working directory with node, npm, git, jq, ripgrep. Booted before the agent's first tool call.

Git plumbing

Clone-with-token, feature-branch policy, atomic commit-then-push, retry on transient auth, friendly error if the token rotated.

Retry and backoff

429 with Retry-After, 5xx with exponential backoff, timeout and network drop retries. All wrapped around the SDK call.

Streaming protocol

A typed event stream (status / assistant / tool_use / tool_result / git / result) that survives client disconnects.

Multi-provider

Same payload routes Sonnet, GPT, GLM, DeepSeek, Qwen. Switch by changing `model`, no per-provider plumbing.

Per-task receipts

Prompt tokens, completion tokens, cache reads, dollar cost. Itemised so you can pass-through bill.

Honest framing: we're a wrapper around the Claude Code SDK and a few peer model providers. The SDK is great; running it in production is the part that bites. We're the part that bites, so you don't.

Pricing

Pay per task. Bring your own key.

Every plan is BYOK. Your Anthropic, OpenAI, or open-weights key. We charge for the agent loop, the sandbox, and the git push. Model tokens are billed by your provider, never marked up.

Hobby

$0/month

For trying it out on a side project.

  • 20 tasks per month
  • Bring your own model key
  • 1 user
  • GitHub and Bitbucket
  • Community support
Request access
Most popular

Solo

$39/month

For one developer shipping serious work.

  • 500 tasks per month
  • BYOK or pooled model credits
  • 1 user
  • Webhook and streaming events
  • Per-task receipts (token and dollar cost)
  • Email support
Request access

Team

$149/month

For small teams building with the API in production.

  • 5,000 tasks per month
  • Up to 10 users
  • White-label per-request creds
  • Org-level usage dashboards
  • Priority support
Request access

Scale

Custom

For high-volume API embeds and enterprise contracts.

  • Unlimited tasks
  • Dedicated infra option
  • Self-host option (EU or US)
  • SSO and audit logs
  • SLA and named contact
Talk to us
Request access

Tell us what you'd build.

Tell us how you'd use the Claude Code SDK if the infra was already handled. We'll send back an API key and a working example for your stack.

No autoresponder. A human replies.