Overview

cf vs Wrangler: what changes?

cf brings API-wide command discovery and TypeScript configuration. Wrangler remains a valid choice while the new CLI is in beta.

Beta tooling changes quickly. Examples are checked against cf 1.0.0-beta.5 and @cloudflare/config 0.20.0. See the sources below.

The short answer

Use Wrangler for an established deployment that already works. Try cf in a separate branch when you want its new configuration model or API command discovery. A working production project does not need an immediate CLI migration.

Terminal
# Check which versions you are comparing
cf --version
npx wrangler --version

# Discover a task instead of guessing a command
cf cli search "create a D1 database"

What is different?

Concern Wrangler cf open beta
Primary scope Workers and related developer workflows Commands generated from the wider Cloudflare API, plus project workflows
Configuration wrangler.jsonc, wrangler.json or wrangler.toml cloudflare.config.ts with typed helpers
Development Wrangler bundling or framework integrations Framework detection and delegation through cf dev
Deployment Wrangler’s deployment workflow Build Output produced by a supported build integration
Finding commands Wrangler documentation and help Intent search, per-command help and API schema inspection

cf command names often follow an API resource hierarchy. Replacing the word wrangler with cf is not a reliable conversion strategy. Our command reference distinguishes documented workflows from API operations.

Configuration changes

The new format groups bindings under worker.env. Helpers such as bindings.d1() describe the binding; the key in that object is the name your application receives on env.

cloudflare.config.ts
import { bindings, defineConfig } from "cf/config";

export default defineConfig({
  worker: {
    name: "notes-worker",
    compatibilityDate: "2026-09-29",
    entrypoint: "./src/index.ts",
    env: {
      DB: bindings.d1({ name: "notes-db" }),
    },
  },
});

This is an ordinary Worker example, not a Nuxt entrypoint. Framework adapters own their build output and may need different integration steps.

When to keep Wrangler

Keep your existing workflow if the framework integration you need has an unresolved cf issue, your CI depends on Wrangler-specific flags, or you cannot yet validate parity for your bindings and deployment targets. Beta status is a reason to test deliberately, not a reason to assume either tool is unusable.

For example, the Nuxt mode issue affects a specific build delegation path in cf 1.0.0-beta.5. It does not prove that every Nuxt deployment fails.

A practical migration path

Create a branch, save your current configuration and run cf migrate --dry-run. Review the planned edits before applying them. Then check local behavior, generated configuration, scripts and deployment targets.

Follow the migration guide and the configuration guide. Keep the original workflow available until your migrated project has passed its own checks.

Sources & verification

cf CLI source and READMECloudflare configuration types and helpersCloudflare cf launch announcement