Cloudflare bought Deno on October 9, and the Deno runtime has one year of patches left. Ryan Dahl wrote the announcement himself. The whole team moves to Cloudflare. Deno gets monthly bug fix and security releases for twelve months, then Cloudflare stops developing it. Deno Deploy shuts down in six months. JSR keeps running on Cloudflare hardware. Terms were not disclosed.

Read that again if you host anything on Deploy. You have until roughly April 2027.

What is shutting down, and when

The announcement lists four commitments. I'll put them in order of how much they should worry you.

  1. Deno Deploy runs for six months, then shuts down. Paying customers get migration help moving to Cloudflare Workers. Free tier users get nothing beyond the notice.
  2. The Deno runtime gets monthly releases with bug fixes and security updates for one year. After that, Cloudflare ends its development. The code stays MIT licensed and Dahl says he welcomes others who want to keep it going.
  3. JSR, the package registry Deno launched in 2024, continues operating with its infrastructure moving to Cloudflare.
  4. rusty_v8, the Rust bindings for V8 that Deno built, continues, and the team will work toward integrating it into workerd.

The Deploy timeline is the painful one. Deno shut down Deploy Classic on July 20, 2026 and pushed everyone to the new Deploy, which runs in two regions, US and EU. That migration finished less than three months ago. Now the destination is closing too. Anyone who did the work in June gets to do it again, this time to a different vendor's platform with a different config format.

Deploy had been shrinking for a while. Dahl wrote in May 2025 that Deploy started in 2021 with 25 regions, grew to 35, and was down to six. He blamed cost and low usage of the extra regions. Most apps talked to a single database anyway, so edge regions sat idle and then hit capacity during traffic spikes. The Deploy that replaced Classic, with its two regions, was already an admission that the global edge story didn't pay.

Why Dahl says he did it

Deno raised $21 million in a Series A led by Sequoia in June 2022, on top of a $4.9 million seed. Total funding was about $26 million. That was four years ago. The New Stack reported that Deno had no path to another round, which Dahl didn't confirm, but a company that just sold its whole team and killed its two products was not negotiating from strength.

Dahl's stated reason has nothing to do with money. Deno spent years chasing Node compatibility because users wanted Deno's tooling without leaving npm. In an interview with The New Stack he said that growing compatibility had left Deno maintaining another implementation of the same technology. Simon Willison quoted him more bluntly: Deno "has been sucked into the gravity well of node compatibility," and "Why reimplement Node? It works."

I agree with him, and I think it's the right lesson for anyone building an alternative runtime. Deno's original pitch was a clean break: URL imports, no package.json, a permission system that fenced off files and network hosts. Every one of those ideas got walked back or bolted onto Node. Node added a permission model in v20 and declared it stable in v22.13.0 in January 2025. Node runs TypeScript files now. Once the differentiators are copied, you're left maintaining a second implementation of a very large API surface, and the only people who notice are the ones hitting the gaps.

Bun is in a similar spot, and the HN thread noticed. Anthropic bought Bun in December 2025 and committed to keeping it open source and under development. Cloudflare bought Deno and committed to ending it. Two independent JavaScript runtimes started this decade; both now belong to companies that use them as a means to something else.

The thing Cloudflare wanted is celld

Cloudflare bought celld and got a runtime team with it. Kenton Varda and Dahl's joint post opens with "The Deno team is joining Cloudflare, and we're merging workerd and celld!" and the Deno runtime barely appears after that.

celld is the project Deno released in August 2026. It runs Cloudflare Workers applications, including Durable Objects, on your own machines. One Rust binary, Apache 2.0 licensed, with an S3-compatible bucket as the only external dependency. Each Durable Object is a named server with its own SQLite database. Ownership of an object is claimed by a conditional write to the bucket, so there is no control plane and no consensus service. Nodes find each other through bucket leases and replicate SQLite writes to peers before uploading. It deploys from the wrangler.json you already have. The README lists Workers, Durable Objects, KV, Queues, D1, R2, Workflows, Cron Triggers and static assets as supported.

The Register covered it on August 12 and quoted Dahl's estimate that 100 resident Durable Objects cost $415 a month on Cloudflare versus about $49 a month on a DigitalOcean droplet plus a bucket. Cloudflare disputed the comparison, saying objects that sleep would cost about $20.65. Two months later Cloudflare hired the people who wrote the cheaper version.

Varda's post explains why. workerd, the open source Workers runtime Cloudflare released in 2022, implements Durable Objects "only in a single-instance way, good enough for local testing, but unable to scale." Cloudflare's production routing for Durable Objects is built for hundreds of locations with many internal dependencies, and nobody outside Cloudflare could run it. Varda admits he tried to build a version people could host themselves last spring and it didn't work. He also wrote, in a line I didn't expect from a vendor, that Cloudflare released the runtime "and then we sort of just hoped the community would step in and start adapting it to every possible environment."

Dahl and Bert Belder will lead the merge of celld into workerd. Dahl told The New Stack the combined project should stay Apache 2.0 and that "running a fleet of Workerd instances will require only an industry-standard object storage bucket for coordination and storage."

What this does for people who run infrastructure

If the merge lands, Cloudflare Workers becomes a programming model you can run anywhere, with the same API on Cloudflare's network or on a rack of your own boxes. Varda's framing is that an escape hatch is good business. In 2022 Shopify and others said they'd only build on Workers if the runtime was open source. Some of those customers later left using workerd. He's betting that more companies will commit to the model if leaving is cheap.

I've run hosting for 25 years and I've never seen a vendor make lock-in easier to escape without a reason. The reason here is competitive. AWS Lambda has no equivalent of Durable Objects, and the pattern (one object per chat room or per agent session, each on a single thread with its own SQLite file) is a good fit for agent harnesses. Dahl says so directly: the properties agents need are cheap serverless execution, persistent state, WebSockets and a JavaScript interface, and Durable Objects have all four. If self-hosted workerd ships, Cloudflare gets to be the standard for that pattern whether or not the bytes run on its network.

There are open questions a release note can't answer. celld's README warns that peer traffic runs over a private network with HMAC signing, and TLS termination is left to the operator. It says mixed versions cannot share a fleet. A single node writes slowly because every commit waits on the bucket. None of that is disqualifying for a 0.x project, but the README also says pull requests are disabled and patches go by email, which tells you how small the team is today. Merging that into workerd, a C++ codebase with its own release cadence, is a year of work before anyone should run it in production.

For Deno users, the practical advice is short. If you're on Deploy, start the Workers migration this quarter, because six months goes fast and the migration help is for paying customers. If you ship Deno as a runtime for CLI tools or servers, you have a year of security updates and then you're on a community fork or Node. Node's compatibility work has made that move smaller than it was in 2022. Pin your Deno version, test under Node 24 with type stripping, and find out now what breaks.

Dahl ended his post asking anyone building agents at scale on their own infrastructure to email him. The runtime he started in 2018 to fix Node ends as a footnote in a post about Cloudflare's distributed storage layer. I'd call that a loss for runtime diversity and a win for anyone who wanted Durable Objects without a Cloudflare bill. The merged workerd will tell us within a year which one mattered more.