Skip to main content

CLI

Set up and deploy your first Worker with Wrangler, the Cloudflare Developer Platform CLI.

This guide will instruct you through setting up and deploying your first Worker.

Prerequisites

  1. Sign up for a Cloudflare account.
  2. Install Node.js.

Node.js version manager

1. Create a new Worker project

Open a terminal window and run C3 to create your Worker project. C3 (create-cloudflare-cli) is a command-line tool designed to help you set up and deploy new applications to Cloudflare.

npm create cloudflare@latest -- my-first-worker
yarn create cloudflare my-first-worker
pnpm create cloudflare@latest my-first-worker

For setup, select the following options:

  • For What would you like to start with?, choose Hello World example.
  • For Which template would you like to use?, choose Worker only.
  • For Which language do you want to use?, choose JavaScript.
  • For Do you want to use git for version control?, choose Yes.
  • For Do you want to add an AGENTS.md file to help AI coding tools understand Cloudflare APIs?, choose Yes.
  • For Do you want to deploy your application?, choose No (we will be making some changes before deploying).

Now, you have a new project set up. Move into that project folder.

cd my-first-worker

What files did C3 create?

What if I already have a project in a git repository?

2. Develop with Wrangler CLI

C3 installs Wrangler, the Workers command-line interface, in Workers projects by default. Wrangler lets you to create, test, and deploy your Workers projects.

After you have created your first Worker, run the wrangler dev command in the project directory to start a local server for developing your Worker. This will allow you to preview your Worker locally during development.

npx wrangler dev

If you have never used Wrangler before, it will open your web browser so you can login to your Cloudflare account.

Go to http://localhost:8787 to view your Worker.

Browser issues?

3. Write code

With your new project generated and running, you can begin to write and edit your code.

Find the src/index.js file. index.js will be populated with the code below:

Original index.js
export default {
	async fetch(request, env, ctx) {
		return new Response("Hello World!");
	},
};

Code explanation

Replace the content in your current index.js file with the content below, which changes the text output.

index.js
export default {
	async fetch(request, env, ctx) {
		return new Response("Hello Worker!");
	},
};

Then, save the file and reload the page. Your Worker's output will have changed to the new text.

No visible changes?

4. Deploy your project

Deploy your Worker via Wrangler to a *.workers.dev subdomain or a Custom Domain.

npx wrangler deploy

If you have not configured any subdomain or domain, Wrangler will prompt you during the publish process to set one up.

Preview your Worker at <YOUR_WORKER>.<YOUR_SUBDOMAIN>.workers.dev.

Seeing 523 errors?

Next steps

To do more: