Skip to content

Instantly share code, notes, and snippets.

@liliankasem
Created May 29, 2026 22:17
Show Gist options
  • Select an option

  • Save liliankasem/37b147689edbe18ae4af506f90018898 to your computer and use it in GitHub Desktop.

Select an option

Save liliankasem/37b147689edbe18ae4af506f90018898 to your computer and use it in GitHub Desktop.

Introducing the Azure Functions CLI (preview)

We're excited to announce the public preview of the Azure Functions CLI, the next generation of func. It's the same tool you know from Azure Functions Core Tools, rebuilt around a new workload model that makes installing, updating, and running Functions locally faster, smaller, and a lot less fiddly.

What's new

A new name.

Azure Functions Core Tools is becoming the Azure Functions CLI. The command is still func, your projects don't change, and Core Tools v4 keeps shipping.

Workloads instead of one giant install.

The CLI is now composed of small, independently versioned pieces: the host, extension bundles, language stacks (python, node, dotnet, go), workers (python-worker, node-worker, ...), and templates (python-templates, node-templates, ...). You install only what you need, and each piece updates on its own cadence.

One command to get started.

func setup <feature> installs everything required for your language in a single step:

func setup --features python

That gives you the host, bundles, the Python stack and worker, and Python templates, ready to func init and func run.

A guided first run.

The new func quickstart command walks you through picking a template, scaffolding a project, and (optionally) generating the infrastructure-as-code to deploy it.

func quickstart

Prefer to browse first? func quickstart list shows the catalog, and func quickstart info <id> gives you the details on any template.

Profiles that match the cloud.

This is the big one. Azure Functions runs on multiple SKUs (Flex Consumption, Linux Premium, Windows Consumption, ...), and each ships its own host version on its own cadence. Until now, func start ran whatever host Core Tools happened to bundle, which meant "works locally, breaks in cloud" was a real risk.

The new CLI introduces profiles: named constraint sets that pin the host version, extension bundle range, and feature toggles to match a target environment. Built-in profiles like flex and windows-consumption track the cloud automatically. You can extend them with your own project- or user-level profiles to pin a staging build or test a preview channel.

func run --profile flex

Local now actually matches Flex. Run two profiles side by side to compare behavior before you migrate. Commit a project profile to source control so the whole team gets the same setup. See the profiles guide for the full design.

Install

See the installation guide for the full instructions on Windows, macOS, and Linux.

See the CLI docs for the full complete command reference.

Try it and tell us what's broken

This is a preview, and your feedback shapes what ships. Hit a bug, want a command, or think something's missing? File an issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment