Hosting Claude Code with bring-your-own-subscription
Users sign in with their own Claude account and the agent runs on their plan — what that takes on Cantelop.
Cantelop is in beta
The protocol is fully functional, but capacity to handle load is limited while the team refines the platform and prepares it to scale.
Service interruptions can happen without warning.
Each user gets an isolated workspace with persistent files and state, running Claude Code, Codex, or your own harness. Connect it to any frontend with one SDK. No servers, no sandboxes to manage.
Connect your own app, Slack, Telegram, or anything that can call an API. Every user's conversation lands in their own workspace, with your MCP servers and tools on hand.
See how it works


Cantelop can host unmodified versions of Claude Code and Codex, which lets users sign in and use their own subscriptions.
Read how it worksRun many sessions in parallel, all connected to the same workspace. Cantelop spins up a fully elastic sandbox for each session, so you never have to think about resource provisioning.
Read the architectureconst session = app
.workspace({ slug: userId })
.session({ id: sessionId, keepAliveSeconds: 300 });
for await (const event of session.stream({ signal })) {
send(event.data);
}
Users sign in with their own Claude account and the agent runs on their plan — what that takes on Cantelop.
Compute, host, network, resource, and lifecycle boundaries: how a sandbox keeps an agent useful and contained.
Minimal setup, any harness, Sessions as actors, and performance on the critical path.
Read the platform's source, open issues, and send pull requests on GitHub. The platform is AGPL-3.0; the SDK and starters stay MIT.
SDK 1.0
Define an App in code and call its Sessions from a typed backend client, with the same App running locally and in production.
See traffic, errors, and latency for each SDK command, then open a request to follow its message, sandbox, and logs.
First-time Workspace activation fell from 3.46 s to 0.99 s median in sequential benchmarks, measured through Session handler entry.
Sandboxes grow and shrink with what the agent is doing, so you never size them up front.
SDK 0.12
session.stop() releases the current sandbox right away; the Session stays reusable.
Every API route gets its own page: traffic and errors beside the outcome of the Sessions it started.
SDK 0.11
session.request() sends a message and waits for the Session's reply, beside fire-and-forget dispatch().
SDK 0.10
router.list() enumerates an API's routes, and each deployment publishes them for the console.
SDK 0.9
An opt-in onRecover hook resumes interrupted work on a replacement sandbox with the same workspace.
SDK 0.8.1
Run OpenCode inside a Cantelop Session alongside Claude Code, Codex, and Pi.
Cantelop opens to builders, with SDK 0.8 opening a Session straight from a workspace slug.