# Cloudflare Computer 0.7 lets agent code survive crashes and pause for approval — but replay can repeat writes

Cloudflare's October 26 Computer 0.7 release adds replay-based recovery and durable human approval gates to JavaScript agents running in Durable Objects. It can resume after deploys or crashes, but operators must guard side effects that might run twice.

Cloudflare Computer 0.7 makes agent code resumable and interruptible. The important catch: recovery replays code, and unrecorded external actions can be repeated even if they already succeeded.

- Status: Active
- Published: 2026-10-27T22:08:34+13:00
- Updated: 2026-10-27T22:08:34+13:00
- Categories: Artificial Intelligence, Cloud & Infrastructure, AI Agents, Cloud Platforms, Deployment & DevOps
- Tags: AI agents, Automation, Cloudflare, Durable Objects, reliability
- Canonical HTML: https://beyondthe.news/dossiers/cloudflare-computer-0-7-durable-agent-replay-human-approval-idempotency

## What changed

On October 26, 2026, Cloudflare released @cloudflare/computer v0.7.0 with replay recovery for WorkerJavaScriptBackend and human approval interrupts. Set onInterrupt: 'replay' to enable recovery after Durable Object restarts, deployments or crashes; completed call results are reused from recorded state, while unrecorded calls may execute again. Recovery normally begins at the next workspace.runtime invocation, or can be triggered with a Durable Object alarm. Custom modules can use ctx.interrupt() to pause until an external approval arrives. workspace.runtime.pending() lists pending calls and respond() supplies the decision; approval waits survive deploys and do not count toward the run timeout.

## Why it matters

Builders of agents that touch infrastructure, publishing, payments or production data need durable progress and explicit authorization, not just a prompt loop that disappears on restart. This release supplies two primitives for reliable workflows without a separate queue or bespoke checkpoint store. But replay is not exactly-once execution: if a side-effecting API call succeeds and the worker crashes before its result is recorded, the call may happen again. Operators need idempotency keys or unsafeToRepeat guards, and approvals should be enforced at the privileged action boundary.

## Replay resumes JavaScript after deploys or crashes

Cloudflare's WorkerJavaScriptBackend can now run with onInterrupt: 'replay'. The runtime restarts code from the beginning and reuses recorded results of completed calls, avoiding repeated output. It does not promise to resume from the exact instruction that stopped; unrecorded calls can be executed again. A Durable Object alarm can call workspace.runtime.recover() without waiting for the next user request.

## Approval interrupts survive deployment and do not consume the run timeout

A custom module function calls ctx.interrupt() with context, such as a proposed GitHub comment. The runtime suspends execution until the application calls pending() and respond() with an approval or rejection. Cloudflare's example passes an idempotency key to the downstream write, separating approval from the actual side effect.

## Recovery is not exactly-once execution

Cloudflare explicitly warns that a call may succeed externally but be replayed if the result was not recorded before interruption. Use idempotency keys for writes, unsafeToRepeat() for non-replayable operations, and read-back verification after ambiguous outcomes. A successful replay of code does not prove that an external payment, deployment or comment happened only once.

## Scope and operational caveats

The release applies to @cloudflare/computer's JavaScript backend in Durable Objects, not arbitrary existing Cloudflare Workers or every agent framework automatically. The Computer workspace stores files in Durable Object SQLite, and JavaScript execution uses a Dynamic Worker backend; developers must configure the required bindings and nodejs_compat. Independent failure-injection benchmarks and production reliability comparisons were not available in this research pass.

## Key details

- Released October 26, 2026 in @cloudflare/computer v0.7.0.
- onInterrupt: 'replay' enables JavaScript recovery after deployment or crash.
- Recovery restarts code and reuses recorded call results; an unrecorded successful call may run again.
- ctx.interrupt() pauses a custom module action for an external decision.
- workspace.runtime.pending() and respond() expose and resolve approval requests.
- Durable Object alarms can trigger recovery without incoming traffic.
- Approval waits survive deploys and are excluded from run timeout.
- Idempotency keys and unsafeToRepeat() are essential for side-effecting operations.

## Builder takeaways

- Add idempotency keys to all external writes that a replaying agent can trigger.
- Use human approval interrupts immediately before privileged operations; do not treat the model's plan as authorization.
- Test crash-after-success-before-recording scenarios, not just clean restarts.
- Use Durable Object alarms for jobs that must recover without another user request.
- Document which operations are safe to replay and which require explicit reconciliation.

## What to watch

- Independent failure-injection tests of recovery and duplicate side-effect handling.
- Expansion beyond the WorkerJavaScriptBackend and additional runtime guarantees.
- Operational observability for pending approvals, replay counts and failed recoveries.
- Version stability and migration guidance for existing Computer users.

## Uncertainties

- No independently reproduced production reliability or cost benchmarks were available.
- The changelog documents replay semantics, not exactly-once execution or universal agent durability.
- Exact billing and performance overhead for long-lived interrupted sessions were not quantified in the announcement.

## Sources

- [Cloudflare Computer now helps agents recover from interruptions and wait for approval](https://developers.cloudflare.com/changelog/post/2026-10-26-computer-durable-javascript/) — Cloudflare Developers · primary · 2026-10-26T00:00:00+13:00. Version 0.7, replay, pending/respond, interrupts, side-effect replay caveat.
- [Cloudflare Agents: File system and Computer workspace](https://developers.cloudflare.com/agents/tools/filesystem/) — Cloudflare Developers · primary · 2026-10-23T00:00:00+13:00. Persistent SQLite workspace, Dynamic Worker backend, setup and tool adapters.

