---
next_cursor: eyJzY29yZSI6MCwic2VxIjo4OTgsInNpbmNlIjpudWxsLCJ0b29sIjoiY2YiLCJ2IjoxfQ
has_more: true
next: https://sincecutoff.com/v1/changes.md?tool=cf&score=0&cursor=eyJzY29yZSI6MCwic2VxIjo4OTgsInNpbmNlIjpudWxsLCJ0b29sIjoiY2YiLCJ2IjoxfQ
items: 10
---
# sincecutoff.com changes: cf

## cf deploy workflows accept --worker for Build Output selection (cf, 2026-09-25)
Published 2026-10-13
- slug: cf-deploy-workflows-accept-worker-for-build-output-selection-fcb7b8d9d90d
- score: 0.98

How to use it:

When Build Output contains multiple Workers, pass `--worker <name>` to select the Worker whose configured name matches; otherwise, `cf` uses the default Worker.

Examples:

```
cf deploy --worker <name>
```

```
cf workers check --worker <name>
```

- why_it_matters: Deploy or check a named Worker from the Build Output.
- before: Without `--worker`, the command used the default Worker from Build Output.
- sources: <https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md#100-beta1>, <https://developers.cloudflare.com/cf/projects/>
- gotchas: "Version: 1.0.0-beta.1"; "--worker <name>: Selects a Worker from Build Output instead of the default Worker. Use the Worker's configured name."; "Prerequisite: Build Output is written to `.cloudflare/output/v0/`; `cf workers check` builds unless `--prebuilt` is passed."; "Prerequisite: `cf deploy` requires sign-in with `cf auth login` or `CLOUDFLARE_API_TOKEN`."; "The selected name must match the Worker's configured name."

## cf access tcp proxies connections through Access (cf, 2026-09-27)
Published 2026-10-13
- slug: cf-access-tcp-proxies-connections-through-access-c40b81aead5d
- score: 0.97

How to use it:

When proxying TCP, SSH, RDP, or SMB through Access, run `cf access tcp`. Service-token secrets are passed to `cloudflared` through its environment, not its arguments.

- why_it_matters: Proxy a TCP, SSH, RDP, or SMB connection through Access.
- sources: <https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md#100-beta2>
- gotchas: "Version: 1.0.0-beta.2"; "Supported connection types stated are TCP, SSH, RDP, and SMB."; "Service-token secrets are passed to cloudflared through its environment rather than its arguments."

## cf cli search discovers CLI commands (cf, 2026-09-27)
Published 2026-10-13
- slug: cf-cli-search-discovers-cli-commands-a55379f4e3af
- score: 0.93

How to use it:

When you need to find a Cloudflare CLI command for a task, run `cf cli search` with the task in quotes, then inspect the chosen generated API command with `cf schema`.

Examples:

```
cf cli search "<task description>"
```

```
cf schema <product> <command>
```

```
cf <command> --help
```

- why_it_matters: Find the appropriate cf command and inspect its request requirements while working in a repository.
- sources: <https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md#100-beta2>, <https://developers.cloudflare.com/cf/agents/>
- gotchas: "Version: 1.0.0-beta.2"; "<task description> (required): Pass the whole task as one quoted argument; search runs locally without credentials."; "<product> <command> (required): Identify the generated API command whose request schema to inspect."; "Prerequisite: Install `cf` to run these commands. Search runs locally and needs no credentials; `cf schema` covers generated API commands."; "Search results contain five ranked JSON matches."; "The catalogue includes hidden commands."; "Agent-specific discovery guidance appears when an agent is detected."

## cf init creates and sets up Worker projects (cf, 2026-09-27)
Published 2026-10-13
- slug: cf-init-creates-and-sets-up-worker-projects-73f22863bdc9
- score: 0.93

How to use it:

When creating a Worker in a new or empty directory, run `cf init <directory>`; after setup, enter the project and run `cf dev`.

Examples:

```
cf init my-worker
cd my-worker
cf dev
```

```
cf init my-worker --no-install
cd my-worker
npm install
cf dev
```

- why_it_matters: Create and set up a hello-world Worker in a new or empty project directory.
- sources: <https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md#100-beta2>, <https://developers.cloudflare.com/cf/get-started/first-worker/>, <https://github.com/cloudflare/cf/blob/main/packages/cli/README.md>
- gotchas: "Version: 1.0.0-beta.2"; "Availability: Uses `@cloudflare/vite-plugin` v2 beta."; "Requires The command installs dependencies with the package manager you pick unless `--no-install` is used."; "directory: Target directory; if omitted, cf prompts for one. For hello-world creation it must be new or empty (only `.git` may exist)."; "--no-install: Skips dependency installation; run a package manager's install command in the project before `cf dev`."; "Prerequisite: Install `cf`; the official CLI README requires Node.js 22 or newer."; "Prerequisite: You do not need to sign in until deployment."; "A new or empty directory is required for hello-world Worker creation; a `.git` directory is allowed."; "Directories that already contain files are configured with autoconfig instead."; "Without `--no-install`, dependencies are installed with the selected package manager."; "With `--no-install`, `cf dev` or the project's `typecheck` script generates `.cloudflare/types/index.d.ts` later."; "The default initializer `cf init workers [directory]` currently behaves the same way."

## cf tunnels tail streams remote connector logs (cf, 2026-09-27)
Published 2026-10-13
- slug: cf-tunnels-tail-streams-remote-connector-logs-7be25d2f2115
- score: 0.94

How to use it:

When debugging a tunnel, run `cf tunnels tail` to stream structured logs from remote cloudflared connectors. Filter by connector, event, level, or sampling as needed, and provide the management token through `TUNNEL_MANAGEMENT_TOKEN`.

Examples:

```
cf tunnels tail
```

- why_it_matters: Inspect structured logs from remote cloudflared connectors while debugging a tunnel.
- sources: <https://github.com/cloudflare/cf/blob/main/packages/cli/CHANGELOG.md#100-beta2>
- gotchas: "Version: 1.0.0-beta.2"; "Logs are from remote cloudflared connectors."; "Filtering is available for connectors, events, levels, and sampling."; "Management tokens can be supplied through `TUNNEL_MANAGEMENT_TOKEN` to keep them out of long-lived cf process arguments."

## cf initializes and deploys Workers projects (cf, 2026-09-28)
Published 2026-10-13
- slug: cf-initializes-and-deploys-workers-projects-36a93c761311
- score: 0.95

How to use it:

When creating a Workers project, install `cf` globally and run `cf init <project-dir>`; then use `cf dev`, `cf build`, and `cf deploy` to develop, build, and deploy it. Sign in with `cf auth login` before deploying. [Install and sign in](https://developers.cloudflare.com/cf/get-started/)

Examples:

```
npm install --global cf
cf auth login
cf init <project-dir>
cd <project-dir>
cf dev
cf build
cf deploy
```

- why_it_matters: Create, develop, build, or deploy a Workers project from a repository.
- sources: <https://developers.cloudflare.com/changelog/post/2026-09-28-cloudflare-cli-beta/>, <https://developers.cloudflare.com/cf/get-started/first-worker/>, <https://developers.cloudflare.com/cf/get-started/>, <https://developers.cloudflare.com/cf/projects/cloudflare-config/>
- gotchas: "Availability: Beta; commands, configuration, and Build Output can change before the stable release."; "Requires Install globally with `npm install --global cf`, `yarn global add cf`, `pnpm add --global cf`, or `bun add --global cf`."; "<project-dir>: Directory for the new project; if omitted, `cf init` prompts for one."; "--package-manager <manager>: Select `npm`, `pnpm`, `yarn`, or `bun` for dependency installation; defaults to npm unless cf was run through another package manager."; "--no-install: Skip dependency installation; install dependencies before running `cf dev`."; "--no-browser: For `cf auth login`, print the sign-in link without opening a browser; useful on remote machines, SSH, or containers."; "Prerequisite: Install `cf` globally; the docs show `npm install --global cf`."; "Prerequisite: Loading `cloudflare.config.ts` requires Node.js 22.18 or later; set `\"type\": \"module\"` in the project's `package.json`."; "Prerequisite: Sign in is not needed until deployment. `cf deploy` resolves credentials and account; authenticate with `cf auth login`."; "The typed configuration file is `cloudflare.config.ts`."

## cf deploy supports --no-provision (cf, 2026-10-07)
Published 2026-10-13
- slug: cf-deploy-supports-no-provision-d9e04d3164d1
- score: 0.98

How to use it:

When deploying a Worker, pass `--no-provision` to make bindings without required resource identifiers fail instead of creating resources. Provisioning remains enabled by default.

Examples:

```
cf deploy --no-provision
```

- why_it_matters: Deploy a Worker without automatically creating resources for bindings that lack required resource identifiers.
- before: `cf deploy` could provision missing resources for bindings that omit resource identifiers; provisioning is enabled by default.
- sources: <https://github.com/cloudflare/cf/releases/tag/cf%401.0.0-beta.13>, <https://developers.cloudflare.com/cf/projects/>
- gotchas: "Version: 1.0.0-beta.13"; "--no-provision: Disables automatic resource provisioning; bindings without required resource identifiers fail."; "Prerequisite: Sign in with `cf auth login` or set `CLOUDFLARE_API_TOKEN` before deploying."

## cf tunnels quick-start supports email protection (cf, 2026-10-07)
Published 2026-10-13
- slug: cf-tunnels-quick-start-supports-email-protection-02f46554b4e2
- score: 0.98

How to use it:

When sharing a temporary tunnel to a local development server with access limited to specified email recipients, run `cf tunnels quick-start` with `--allowed-mail` and the origin URL. The option accepts email addresses or wildcard domains and may be repeated or comma-separated; use `cloudflared` 2026.9.2 or later for protected tunnels.

Examples:

```
cf tunnels quick-start http://localhost:3000 --allowed-mail "alice@example.com,*@example.org"
```

- why_it_matters: Share a temporary tunnel to a local development server with access limited to specified email recipients.
- sources: <https://github.com/cloudflare/cf/releases/tag/cf%401.0.0-beta.13>, <https://github.com/cloudflare/cf/releases/tag/cf@1.0.0-beta.13>, <https://github.com/cloudflare/cloudflared/blob/master/cmd/cloudflared/tunnel/cmd.go>, <https://github.com/cloudflare/cloudflared/blob/master/RELEASE_NOTES>
- gotchas: "Version: 1.0.0-beta.13"; "<origin-url> (required): Local service URL to expose; example uses `http://localhost:3000`."; "--allowed-mail <recipient> (required): Allowed email address or wildcard domain for a protected Quick Tunnel; may be repeated or comma-separated."; "Prerequisite: Protected Quick Tunnels require `cloudflared` 2026.9.2 or later."; "Prerequisite: The `cloudflared` command documents `--allowed-mail` as repeatable or comma-separated."; "Protected tunnels require `cloudflared` 2026.9.2 or later."; "For older or unrecognised `cloudflared` versions, cf reports an upgrade error."

## cf hand-written commands add --dry-run (cf, 2026-10-09)
Published 2026-10-13
- slug: cf-hand-written-commands-add-dry-run-735d333b84dc
- score: 0.95

How to use it:

When validating a hand-written `cf` command, pass `--dry-run` to validate its arguments and preview effects without running its handler. Commands with an existing dry-run implementation keep their command-specific preview.

- why_it_matters: Validate the arguments for a hand-written cf command and preview its effects without running its handler.
- sources: <https://github.com/cloudflare/cf/releases/tag/cf%401.0.0-beta.14>, <https://github.com/cloudflare/cf/releases/tag/cf@1.0.0-beta.14>
- gotchas: "Version: 1.0.0-beta.14"; "--dry-run: For hand-written commands, validate arguments and preview effects without executing the handler. The release note does not document command-specific arguments or preview output."; "Applies to hand-written commands."; "Commands with existing dry-run implementations retain their command-specific previews."; "Every hand-written command must declare a dry-run strategy and option during generation."

## cf docs search searches live Cloudflare documentation (cf, 2026-10-13)
Published 2026-10-13
- slug: cf-docs-search-searches-live-cloudflare-documentation-02db0f32d7db
- score: 0.98

How to use it:

When you need Cloudflare guidance and have no Cloudflare login, run `cf docs search "schedule a worker"`; use a result URL with `Accept: text/markdown` to fetch the complete page.

Examples:

```
cf docs search "schedule a worker"
```

```
curl -H 'Accept: text/markdown' '<result-url>'
```

- why_it_matters: Find current Cloudflare guidance while implementing or debugging code without Cloudflare credentials.
- sources: <https://github.com/cloudflare/cf/releases/tag/cf%401.0.0-beta.15>, <https://github.com/cloudflare/cf/commit/2c98450072c46c4bd14eb0b8fc5f13c3f8fc31b9>
- gotchas: "Version: 1.0.0-beta.15"; "search query (required): Text to search Cloudflare guides and examples; the documented example is `schedule a worker`."; "Accept: text/markdown (required): Request complete page content as Markdown from a returned URL."; "Prerequisite: No Cloudflare credentials or login are needed."; "Search covers guides, tutorials, and examples."; "The command does not require a Cloudflare login."

Next: https://sincecutoff.com/v1/changes.md?tool=cf&score=0&cursor=eyJzY29yZSI6MCwic2VxIjo4OTgsInNpbmNlIjpudWxsLCJ0b29sIjoiY2YiLCJ2IjoxfQ
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
