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.

Sign in to Cantelop

Cantelop is now open source

Give every user their own agent.

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.

Read the docs
user Auser BYour appWorkspace (user A)Workspace (user B)scalable agent runtimeSandboxSandboxSandbox

Plug into any frontend

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

Let users bring their own Claude / Codex subscriptions

Cantelop can host unmodified versions of Claude Code and Codex, which lets users sign in and use their own subscriptions.

Read how it works
Coding agent
Runs Claude Code in a sandbox on your own Claude subscription
Claude Fable 5.1Claude Opus 5.5Claude Sonnet 5
Live demo: unmodified Claude Code, running on your own Claude subscription.

Infrastructure that scales with your users

Run 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 architecture
GET /events
const session = app
  .workspace({ slug: userId })
  .session({ id: sessionId, keepAliveSeconds: 300 });

for await (const event of session.stream({ signal })) {
  send(event.data);
}

From the blog

All posts

Changelog

  1. Open source

    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.

  2. SDK 1.0

    Typed Apps

    Define an App in code and call its Sessions from a typed backend client, with the same App running locally and in production.

  3. SDK command traces

    See traffic, errors, and latency for each SDK command, then open a request to follow its message, sandbox, and logs.

  4. Faster Session activation

    First-time Workspace activation fell from 3.46 s to 0.99 s median in sequential benchmarks, measured through Session handler entry.

  5. Fully elastic sandboxes

    Sandboxes grow and shrink with what the agent is doing, so you never size them up front.

  6. SDK 0.12

    Stop a Session's sandbox

    session.stop() releases the current sandbox right away; the Session stays reusable.

  7. Platform observability upgrade

    Every API route gets its own page: traffic and errors beside the outcome of the Sessions it started.

  8. SDK 0.11

    Synchronous messages

    session.request() sends a message and waits for the Session's reply, beside fire-and-forget dispatch().

  9. SDK 0.10

    Route discovery

    router.list() enumerates an API's routes, and each deployment publishes them for the console.

  10. SDK 0.9

    Session recovery

    An opt-in onRecover hook resumes interrupted work on a replacement sandbox with the same workspace.

  11. SDK 0.8.1

    OpenCode harness

    Run OpenCode inside a Cantelop Session alongside Claude Code, Codex, and Pi.

  12. First official release

    Cantelop opens to builders, with SDK 0.8 opening a Session straight from a workspace slug.