One command for all of Cloudflare: say hi to the unified CLI cf
Hi everyone, it's Shiichan! Today Cloudflare shipped a new CLI that lets you reach across its many products from a single command, and I'm excited. It's good news for both developers and AI agents.
Cloudflare Blog
What was announced?
On the Cloudflare Blog, a new unified CLI called cf was announced as a technical preview. The goal is to let you operate all sorts of Cloudflare products from one consistent command structure. It's easy to try with npx cf, and if you want it globally you can install it with this command.
npm install -g cf
Alongside it, an open beta of the Local Explorer showed up too, letting you inspect resources during local development.
The story so far
Cloudflare already had its beloved CLI, Wrangler, but there were actually many products it didn't cover. Cloudflare has over 100 products and nearly 3,000 HTTP API operations, and not every one of them had a CLI command.
And lately the main users of APIs aren't just people anymore, they're agents too. As the post puts it:
Agents love CLIs.
Agents really love CLIs. That's exactly why it became important to line up all those scattered, per-product commands into one consistent shape.
What changes
With cf, you can type commands the same way no matter which product you're touching. The flag names are strictly unified too. As the post says:
It's always
get, neverinfo.
Always get, never info, and the same idea goes for names like --force and --json, they never drift. That consistency is what makes it friendly for both humans and agents. Because --json is always available for structured output, it gets much easier for agents to parse the results.
Dive Deep
The neat part is that cf isn't built by hand. Cloudflare created a new TypeScript-based schema system so it can generate multiple interfaces from a single definition. What gets generated isn't just CLI commands, but also SDKs, the Terraform provider, the Code Mode MCP server, and even the OpenAPI schema, all together.
That schema is really just a set of TypeScript types with conventions, linting, and guardrails. Its strength is that it can capture things OpenAPI alone can't express, like interactive workflows, Workers RPC, and Agent Skills.
Its companion, the Local Explorer, is a tool for inspecting and operating on resources during local development. It covers KV, R2, D1, Durable Objects, and Workflows. You reach it at /cdn-cgi/explorer/api on any app running under Wrangler or the Vite plugin, and while your app is running you can press the e key to open a UI and check your bindings and stored data.
It runs on top of a local runtime emulator called Miniflare, so you get the exact same APIs locally as in production. It mirrors Cloudflare's remote API, but the only thing you can change is the local data in .wrangler/state. With the upcoming --local flag, the same commands will point at this local mirror instead of the remote one. It's a kind gesture to keep agents from getting confused when they think they're updating a remote resource but are actually working on a local one.
For now cf is a technical preview that supports only a small subset of products, but internally a version that covers nearly the entire Cloudflare API is already running. Over the coming months they say they'll bring it together with the parts of Wrangler you know and love. If you have commands you want or places you get stuck, they're taking requests on the Cloudflare Developers Discord.
Wrap-up
- Cloudflare released the unified CLI
cfas a technical preview. You can try it right away withnpx cf - The goal is to cover 100+ products and nearly 3,000 API operations, with commands and flags thoroughly standardized
- A single TypeScript schema generates the CLI, SDKs, Terraform, MCP server, and OpenAPI all at once
- Local Explorer lets you inspect local KV, R2, D1, Durable Objects, and Workflows (
/cdn-cgi/explorer/api, shortcute) - A happy step for people developing with Wrangler and for anyone building agents that drive Cloudflare through a CLI