Your Claude subscription,
as a local API.
Run npx otterly serve on your machine. Point any OpenAI SDK at localhost:11434. Free with your Claude Code subscription. No API key. No per-token bill.
$ npx otterly serve otterly v0.4.1 ───────────────────────────────────── API localhost:11434 Playground localhost:11434/playground Claude claude-sonnet-4-20250514 Queue 0 / 5 Ready. Point any OpenAI client at it. $
your machine · right now
Three integration shapes. One subscription.
As a library
Import. Call. Done.
Drop otterly into any Node script. Runs in-process: no daemon, no port, no network. Perfect for agents, build tools, and weekend hacks.
import { claude } from "otterly";
const result = await claude.run(
"Fix the failing tests in ./app",
{ cwd: "./app" }
);
console.log(result.text);
console.log(result.cost); // tracked from your subscription
console.log(result.tools); // every tool Claude usedAs a server
Like ollama serve, but Claude.
One command spins up an OpenAI-compatible server on localhost:11434. Same port as Ollama. Point any tool, any language, any SDK at it. Designed for your own machine. Running it on a server or sharing it with a team has nuances; read the FAQ first.
$ npx otterly serve
otterly v0.4.1
─────────────────────────────────────
API localhost:11434
Playground localhost:11434/playground
Ready. Point any OpenAI client at it.
# now from anywhere:
$ curl localhost:11434/v1/chat/completions \
-d '{"model":"claude-sonnet-4-20250514", ...}'As embedded
Inside your own app.
Run the full HTTP + WebSocket server programmatically from your own Node process. Bundle it into Electron, Tauri, a CLI, a dev tool: anything.
import { startApiServer } from "otterly";
const handle = await startApiServer({
port: 11434,
workingDir: "./my-project",
maxConcurrent: 5,
});
// handle.server, handle.wss, handle.port
// handle.shutdown(10_000) for graceful drain“Claude Code subscribers can no longer use their Claude subscription limits for third-party harnesses including OpenClaw.”
Get OpenClaw back on your subscription.
On April 4, 2026 Anthropic cut OpenClaw off from Claude Code subscriptions. Heavy users saw bills jump up to 50×. otterly routes around the cut. Every call lands on the subscription you already pay for.
Stop paying twice.
Run npx otterly serve. Point any OpenAI client at localhost:11434. That's the whole setup.