Cloud agent · real sandbox · state that outlives the container

A cloud coding agent
that never loses its place.

It boots a real Linux sandbox when there is something to execute, and keeps every file, memory and skill in SQLite that outlives it. Close the tab — the turn keeps going, and tomorrow it still knows you.

queue-module · session
Durable Object SQLite · sandbox attached
Write codeMemorySkillsShellSchedule

| Fix the retry backoff in the queue module and prove it with tests.

rememberprefers strict TypeScript9ms
write_file/src/queue.ts12ms
edit_file/src/queue.ts · +6 −18ms
save_skillbuild-tested-module5ms

Booting sandbox · warm in 1.9s …

Agent reasoning path

  1. 01Read queue.ts:44 — backoff is linear, not exponential
  2. 02Rewrote retry schedule; added 3 regression cases
  3. 03npm test — 7 passed, 7 total, exit 0

Drafting the pull request body …

Turn cost $0.0142 · session idles at $0

About Durable Agent

Most agents keep their memory in the box that dies, so every session starts from zero.

This one splits the two apart. Execution is disposable — a container rented for the seconds a command takes. State is not: files, revisions, memory, skills and schedules are rows in SQLite sitting with the agent at the edge, costing nothing while nobody is looking.

Five Durable Objects, one stateless Worker, zero servers
$0
Between turns

A session that is not being used is a few rows in a database. It wakes on request, does the work, and goes back to costing nothing — with everything still there tomorrow.

Cloudflare WorkersDurable ObjectsSQLiteHonoNext.jsLinux sandboxMongoDBExpress
Capabilities

Built for work that keeps going without you.

Each capability exists because there was somewhere durable to put things — which is why they shipped instead of becoming a roadmap.

A real Linux sandbox

Install packages, run the suite, read the exit code. It boots in about two seconds, streams output line by line while it works, and is torn down when the turn ends.

Issue, branch, pull request

Pick a GitHub issue and it goes the whole way — edits, commits, and a PR body citing every command it ran with its exit code. You press the button that opens it.

Versioned workspace

Every write is a new revision, so a review-ready diff between any two versions is two rows compared. No git server sitting behind it.

Memory that carries over

What it learns about you and your codebase survives into an empty new session — no tool call, it simply already knows. Skills are procedures saved once and replayed.

Inside the agent

A workspace where the agent shows its working.

Get started
durable-agent » working issue #14
PLAN

Extract retry policy

3 files · 184 lines

SANDBOX

npm test

7 passed · exit 0 · 4.1s

AWAITING YOU

Open the pull request

branch pushed · body drafted

Process

From an open issue to a pull request that proves itself.

  1. $ attach github.com/you/queue-module
      fetching tarball ......... 100%
      unpacking into SQLite .... 4,289 files
      indexing symbols ......... done
      issue #14 selected
    01

    Connect

    Point it at a repository. It is pulled as a single tarball and unpacked into SQLite — one request, not one per file — then an open issue becomes the task.

    repo attached · 4,289 files indexed
  2. Update retry policy

    backoff is linear at queue.ts:44

    Run the suite

    7 passed · exit 0

    02

    Collaborate

    It reads, plans and edits while you watch. Every tool call and every line of command output streams to the browser in the order it happened — and it takes notes as it goes.

    Drafted planWrote 4 filesRemembered 2 facts
  3. 03

    Ship, then keep reviewing

    Branch, commit, and a pull request whose body is the proof. An alarm then wakes the session to poll the review thread — days later, with the tab closed and the container long gone.

    PR #2 · Cyber-UPS

Where it stops: It can write, test, commit and push. Opening the pull request is a button you press. Nothing reaches someone else's repository without a person deciding it should.

Who it's for

Built for people who ship between other things.

Solo builders

Hand it an issue and close the laptop. It works the task through a real test suite and has the branch waiting, without a machine of yours left running.

Maintainers

Background agents wake on a schedule, triage what came in overnight, and answer the review threads on their own pull requests without being asked.

Platform engineers

Five Durable Objects, one stateless Worker, a sandbox per command. Every piece of state is addressed by name, so a session belongs to a user by arithmetic.

Proof

No testimonials yet — so here is the record instead.

“An alarm woke the session days after the container that built it was destroyed. It rebuilt the diff, addressed the review comment, and pushed — nobody watching.”

SchedulerDO · alarm runctx.storage.setAlarm(), no cron service