Install Wrangler
Pick your agent. Every command is ready to paste.
npx skills add cloudflare/skills --skill wranglerThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads wrangler when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the wrangler skill”. In Codex, type $wrangler.
The skill itself
SKILL.md
Wrangler CLI
Use this skill only when the project has wrangler.jsonc, wrangler.json, or wrangler.toml and no cloudflare.config.ts, or when the user asks for Wrangler. For a new project, a project with cloudflare.config.ts, or a project with no Cloudflare configuration, use the Cloudflare CLI (cf) instead: load the cf-cli skill if it is installed, or follow Use cf with coding agents. Do not add Wrangler to those projects.
Use the project's Wrangler version and retrieve the relevant documentation before writing commands or configuration. CLI flags and configuration fields change; do not rely on memorized examples.
Inspect the Project
- Find the package manager, installed Wrangler version, package scripts, framework, and Wrangler config. Run commands through the project's scripts or package manager so they use its local version. Install dependencies using the existing lockfile when needed; do not silently upgrade Wrangler to match current docs. If the project has a Wrangler configuration file but Wrangler is not a dependency, follow the installation guide to add it locally.
- Identify the config used by the build or deploy command, including framework-generated config. Edit its source rather than generated output.
- Establish the target account, Worker, environment, and resource before running commands that change them. For data operations, determine whether the target is local or remote.
Retrieve What the Task Needs
Use the Cloudflare MCP docs tool if available, or fetch the relevant linked page directly. Follow links to the specific command or product involved; avoid loading the entire reference. If a page moves, rediscover it through the Wrangler command index or Cloudflare docs search.
| Task | Source |
|---|---|
| Discover commands and flags, including resource management, deployments, rollback, and diagnostics | Project-local wrangler --help and wrangler <command> --help; command reference |
| Edit config or add a binding | Installed wrangler/config-schema.json (usually under node_modules); configuration reference |
| Deploy a framework application | Framework guides; follow the guide for the project's existing framework and adapter |
| Migrate an application to Workers when requested | Pages to Workers; Vercel to Workers |
| Configure staging or production | Environments |
| Set secrets locally, in CI, or on a deployed Worker | Secrets |
| Generate binding and runtime types | TypeScript |
| Run locally or choose a testing approach | Local development; testing |
| Choose roles, scopes, or API token permissions for Wrangler | Roles and permissions; Workers roles and permissions |
| Create or manage a branch or pull request environment | Previews overview; get started; configuration |
| Decide whether Preview resources are isolated or shared | Resources and isolation, including its current limitations |
| Configure Preview URLs, access, debugging, or CI | Custom domains; test and debug; examples |
| Choose between Previews, Version URLs, and Wrangler environments | Compare workflows |
| Diagnose authentication or select an account | General commands, including whoami; authentication profiles |
| Deploy an unauthenticated prototype | Claim deployments for eligibility, expiry, and claim URL handling; use a permanent account for production or CI |
Use installed help and schema to check whether documented features exist in the project's version. If a required feature needs an upgrade, make that dependency explicit. If retrieval is unavailable, state the gap and use available local evidence rather than inventing syntax.
Apply the Change
- Prefer
wrangler.jsoncfor new config. Set a new project's compatibility date to today; review runtime changes and test when advancing an existing project's date. Preserve existing project conventions and avoid incidental format migrations. - Check environment inheritance before adding bindings or variables. Some fields must be specified separately for each environment; a working default config does not establish that staging is configured.
- With the Cloudflare Vite plugin, select the environment via
CLOUDFLARE_ENVat dev or build time. Deploy the resulting build; setting an environment at deploy time does not retarget its flattened config. See Vite environments. - Reconcile dashboard changes with the config before deploying: Wrangler can overwrite dashboard variables and routes. When binding existing resources, verify their identifiers; omitted identifiers can trigger automatic provisioning.
- Distinguish local simulation from remote bindings during development. A locally running Worker can still access real resources; check the selected bindings before testing writes.
- Before a remote command, identify the authenticated member or API token and retrieve the current role and scope required for the exact operation. Prefer the narrowest scope that satisfies the user's intent. The
wrangler loginOAuth flow does not support granular authorization; use an account-owned API token when granular access is required, and never ask the user to paste its value into chat. - Keep secret values out of command arguments, source code, and logs. Use the documented interactive input or protected file/stdin mechanism for the command. Local secret files must be ignored by version control and are not automatically uploaded as deployed secrets. For missing local secrets, check file precedence and any
secrets.requireddeclaration in the secrets docs. - Treat
wrangler secret putandsecret deleteas deployments: they create a version and deploy it immediately. Use the documentedwrangler versions secretworkflow when the change must be staged. - Before a rollback, check rollback limitations: connected resources and their data are not rolled back with Worker code.
Work with Workers Previews
- Workers Previews requires project-local Wrangler 4.135.0 or later; project commands do not use a newer global installation. Check the project's pinned version and make any required dependency upgrade explicit.
- Use Previews for branch and pull request environments under the same Worker. Use Version URLs to inspect a specific uploaded version with production resources, and Wrangler environments for persistent, separately deployed Workers. Follow Compare workflows rather than adapting an older aliased Version URL workflow.
- First inspect how the user manages production configuration and deployments. Configure Preview domains through the same configuration system as production, such as Wrangler, the dashboard, or Terraform. Run Preview deployments through the user's existing path, such as the local CLI, Workers Builds, or external CI, unless the user requests a different workflow. Mirror the management approach, not production resource bindings or data.
- Before deploying, follow the current configuration placement table and resource matrix and limitations. Do not infer isolation from the Preview name or allow writes to production resources unless the user explicitly intends to share them.
- Tell the user that Preview URLs are public unless access controls are configured, then let them decide whether to protect the URLs. Follow the custom domain and access guidance for the chosen setup.
- Confirm which Worker or Wrangler environment the user intends to target. When targeting a Wrangler environment, pass the same
--envvalue to every Preview command; omitting it targets the top-level Worker.
Validate
After changing config or bindings in a TypeScript project, regenerate types with the project's wrangler types command rather than hand-editing generated declarations. Run the relevant existing typecheck or tests.
For deployment changes, use the project's build workflow and wrangler deploy --dry-run where supported, with the intended config and environment. A successful dry run checks the build and packaging; it does not prove remote resources or runtime behavior work. Use task-specific local or remote checks as appropriate to the requested work.
For Previews, a returned URL does not validate behavior that depends on bindings Wrangler reports as missing. Validate the behavior the user requested, using Preview-specific logs and configuration when needed. Writes to production resources, destructive testing, and deletion of named Previews must match the user's explicit intent.
Report what changed, the target environment, checks performed, and any unresolved validation gaps. Link the documentation used when the result depends on current command or configuration behavior.
Skill feedback
If the user reports that this skill gave incorrect or outdated guidance, or is missing information, read references/skill-feedback.md.
Tips for Wrangler
- • Start a fresh session after installing so your agent picks up the new skill.
- • It bundles reference files. The agent reads them only when needed, so they cost no context until then.
- • It is part of a pack with 22 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Wrangler
What does the Wrangler skill do?
Run or troubleshoot Wrangler CLI commands in projects that have a wrangler.jsonc, wrangler.json, or wrangler.toml file, including local development, Previews, deployment, and resource management. For new projects and projects without a Wrangler configuration file, use the cf CLI instead.
How do I install Wrangler?
Run "npx skills add cloudflare/skills --skill wrangler" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Wrangler work in Cursor and Codex?
Yes. Wrangler uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Wrangler free?
Wrangler is open source on GitHub under the Apache-2.0 license. It is free to install; check the license before commercial use.
Who made Wrangler?
Wrangler is published by Cloudflare in the cloudflare/skills repository, together with 21 other skills.

