github Azure/azure-functions-core-tools v5.0.0-preview.1

latest releases: v5.0.0-preview.2, python-worker/v4.43.0-preview.2
pre-release5 hours ago

Azure Functions CLI

⚠️ Preview release. This is the first public preview of the Azure Functions CLI. It is not production-ready and is not at feature parity with Core Tools (v4). Expect breaking changes before GA. For stable workflows, keep using Core Tools.

This release is a ground-up rebuild designed around a small core func binary plus on-demand workloads (host, language stacks, templates, extension bundle).

What's new in v5

  • New architecture. Small core binary built on System.CommandLine, Spectre.Console, and .NET 10. The Functions host, language stacks, templates, and the extension bundle ship as separate workloads installed on demand.
  • Per-stack workloads. Install only what you need: dotnet, node, python, or go (more coming soon).
  • Decoupled host. The Functions host is no longer baked into the CLI. It's a workload of its own, so you can install, update, or pin host versions independently of the CLI version, and run multiple host versions side by side.
  • Profiles. Pin the host (and other workload versions) to match a specific Azure Functions environment, so your local install lines up with what Azure is running.
  • Interactive func run dashboard. When attached to a TTY, func run (alias func start) renders a live dashboard: a sticky header showing the host status and list
  • Rebranded. The product is now Azure Functions CLI. The legacy "Core Tools" name is being phased out in v5.

Install

Because this is a preview, you must opt in to prereleases when installing.

PowerShell (Windows, macOS, Linux):

& ([scriptblock]::Create((irm https://aka.ms/func-cli/install.ps1))) -Prerelease

Bash (macOS, Linux):

curl -sSL https://aka.ms/func-cli/install.sh | PRERELEASE=true bash

Both scripts auto-detect your OS and architecture, download this release from GitHub, and install to ~/.azure-functions. The install directory is added to your PATH automatically (run source ~/.bashrc or open a new shell on Linux/macOS to pick it up).

Getting started

The CLI ships with just the core commands. Before you can create or run a Functions app, you need to install the workloads for your stack. The easiest way to do that is func setup.

1. Set up your machine

Run func setup on its own to get an interactive multi-select prompt for the stacks you want:

func setup

Prefer non-interactive? Pass the stack directly with --features:

func setup --features dotnet     # .NET
func setup --features node       # Node.js
func setup --features python     # Python
func setup --features go         # Go

Or set up multiple stacks at once (comma-separated or repeated):

func setup --features node,python

Either way, func setup installs the Functions host, the worker for each selected stack, templates, and the extension bundle.

2. Create a project

Two scaffolding entry points, depending on what you want:

  • func quickstart: scaffolds a complete, ready-to-run sample app (trigger code, host config, optional IaC) from a curated catalog. Best when you want a working starting point.
  • func init + func new: build a project from scratch. func init creates an empty project; func new is the template engine for adding individual functions by trigger (HTTP, Timer, Blob, Queue, Cosmos DB, Durable, etc.).
func quickstart                  # complete sample app
# or
func init                        # initalize an empty project

Add individual Function templates via

func new

3. Run it locally

func run

Feedback

File issues at https://github.com/Azure/azure-functions-core-tools/issues and tag with v5.

Don't miss a new azure-functions-core-tools release

NewReleases is sending notifications on new releases.