CCloud Releases
Home
Following

Cloud Releases

Service catalogues and updates come from each provider's public product listing and announcements.

Explore

  • Home
  • Latest updates
  • Following

About

  • About
  • Contact
  • Privacy Policy
  • Terms of Use

Providers

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud
  • Cloudflare

Not affiliated with any cloud provider. Product names and logos belong to their owners.

  1. Providers
  2. ›Cloudflare
  3. ›Durable Objects
  4. ›Update

Feature•Aug 25, 2026

Prevent Durable Object alarm retries when using `ctx.abort()`

Durable ObjectsCloudflare · Developer platform

By default, an alarm interrupted by ctx.abort() retries after the Durable Object resets. Pass { retryAlarm: false } when the alarm should stop instead:

src/index.js

import { DurableObject } from "cloudflare:workers"; export class CleanupTask extends DurableObject { async alarm() { await this.ctx.storage.deleteAll(); this.ctx.abort("Cleanup complete", { retryAlarm: false }); } }

src/index.ts

import { DurableObject } from "cloudflare:workers"; export class CleanupTask extends DurableObject { async alarm(): Promise<void> { await this.ctx.storage.deleteAll(); this.ctx.abort("Cleanup complete", { retryAlarm: false }); } }

For example, an alarm that deletes its storage can use this option to avoid repeating the cleanup or re-running the Durable Object constructor.

Alarms can run concurrently with other requests to the same Durable Object. If another request calls ctx.abort() while an alarm is running, the retryAlarm option on that call also controls whether the alarm retries.

The default retry prevents an unrelated request from permanently canceling the alarm. Set retryAlarm: false on every abort path that should stop an in-progress alarm, not only on calls from the alarm handler. Existing calls to ctx.abort() keep retrying alarms.

For local development, retryAlarm requires Wrangler 4.126.0 or later.

For more information, refer to ctx.abort().

Read the original announcement↗

More from Durable Objects

All Durable Objects updates →
  1. Pending I/O operations allow Durable Objects to continue long-running work without a connected client

    Durable Objects remain active while handling a request from a connected client. This change applies when no client is connected, such as when an agent continues a submitted job after its client disconnects.

    Durable Objects•Feature•Oct 1, 2026
  2. Durable Object name search now supports 128 characters

    Durable Object name searches in the Cloudflare dashboard now accept up to 128 characters, up from 20.

    Durable Objects•Feature•Sep 23, 2026
  3. Workers traces now automatically include JavaScript RPC session spans

    Workers traces can now follow JavaScript RPC calls across Worker boundaries and into Durable Objects. Previously, a trace stopped at the caller's RPC boundary.

    Durable Objects•Feature•Sep 17, 2026
  4. Durable Objects can use up to ten Dynamic Workers concurrently

    Durable Objects can have up to ten distinct Dynamic Workers with in-flight requests, increased from four. This limit applies across all concurrent requests to the same Durable Object because they share an input/output (I/O) context.

    Durable Objects•Feature•Aug 28, 2026
  5. View deployments for Durable Objects in the dashboard

    Durable Object namespaces now have a Deployments tab in the Cloudflare dashboard, showing the versions of the backing Worker that are currently live and the traffic split between them.

    Durable Objects•Feature•Aug 20, 2026