Skip to content

Releases: Azure/azure-functions-core-tools

v5.0.0-preview.2

02 Jun 20:58
b3ae8cb

Choose a tag to compare

v5.0.0-preview.2 Pre-release
Pre-release

Azure Functions CLI

What's changed since preview.1

  • Fix func run failing to resolve installed prerelease worker workloads against built-in profile ranges (e.g. node [3.13.0] now accepts 3.13.0-preview.1). (#5286)

New to v5?

This is a preview of the v5 CLI rebuild. See the v5.0.0-preview.1 release notes for the full overview, or jump in below.

⚠️ Preview. Not production-ready, not at v4 feature parity.

Install

PowerShell (Windows, macOS, Linux):

iex "& { $(irm https://aka.ms/func-cli/install.ps1) } -Prerelease"

Bash (macOS, Linux):

curl -sSL https://aka.ms/func-cli/install.sh | bash -s -- --prerelease

You maybe need to run with -Force (pwsh) | --force (bash) if you are upgrading.

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

2. Create a project

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.

v5.0.0-preview.1

02 Jun 17:03
4f92d34

Choose a tag to compare

v5.0.0-preview.1 Pre-release
Pre-release

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):

iex "& { $(irm https://aka.ms/func-cli/install.ps1) } -Prerelease"

Bash (macOS, Linux):

curl -sSL https://aka.ms/func-cli/install.sh | bash -s -- --prerelease

You maybe need to run with -Force (pwsh) | --force (bash) if you are upgrading.

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.

4.12.0

28 May 19:31
21d180f

Choose a tag to compare

Azure Functions CLI 4.12.0

Host Version

  • Host Runtime Version: 4.1048.200
  • In-Proc CLI:
    • CLI Version: 4.5.0
    • Host Runtime Version: 4.48.100 (includes 4.848.100, 4.648.100)

Changes

  • Fix HttpsProxyAgent is not a constructor error in install.js when installing behind a proxy (https-proxy-agent v9 requires a named import).
  • Remove azure-functions-core-tools from the devDependencies of generated function app templates (package-js.json, package-js-v4.json, package-ts.json, package-ts-v4.json). Users get the CLI from their system install; pulling it in again via npm install doubled disk usage and made every project's install fragile to Core Tools postinstall regressions.
Preview Feature
  • Add preview Go language support to func init, func start, func pack, and func publish (#4875, #4892, #4943). Behaviour, build/publish flags, and deployment layout may change before GA.

4.11.0

26 May 20:12
58202a9

Choose a tag to compare

Azure Functions CLI 4.11.0

Host Version

  • Host Runtime Version: 4.1048.200
  • In-Proc CLI:
    • CLI Version: 4.5.0
    • Host Runtime Version: 4.48.100 (includes 4.848.100, 4.648.100)

Changes

  • Fix func pack throwing cryptic Unsupported runtime: None when local.settings.json is absent and FUNCTIONS_WORKER_RUNTIME is not set (#4829)
  • Mark Node.js 24 as GA in stacks.json (add Flex Consumption SKU) (#4867)
  • Surface SSL/TLS certificate errors clearly when SSL inspection proxies intercept connections (#4857)
  • Fix func kubernetes deploy race condition where kubectl rollout status ran before the Deployment was registered (#4919)
  • Fix func kubernetes delete to honor --no-docker instead of failing on registry auth (#4919)
  • Add McpPromptTrigger template for dotnet-isolated func new (#4891)
  • Fix func azure storage fetch-connection-string failing with "Cannot find storage account" due to ARM eventual consistency (#4884)
  • Remove gozip binaries from the CLI (#4959)

4.10.0

29 Apr 22:46
2ced9a8

Choose a tag to compare

Azure Functions CLI 4.10.0

Host Version

  • Host Runtime Version: 4.1048.200
  • In-Proc CLI:
    • CLI Version: 4.5.0
    • Host Runtime Version: 4.48.100 (includes 4.848.100, 4.648.100)

Changes

  • Fixed func pack --python stripping .dist-info directories from packaged dependencies (#4853)
  • Add support for PowerShell 7.6 (#4866)

4.9.0

02 Apr 01:15
29aeab5

Choose a tag to compare

Azure Functions CLI 4.9.0

Host Version

  • Host Runtime Version: 4.1047.100
  • In-Proc CLI:
    • CLI Version: 4.4.0
    • Host Runtime Version: 4.46.100 (includes 4.846.100, 4.646.100)

Changes

  • Fix AzureFunctionsJobHost__logging__logLevel__Function override from local.settings.json being ignored due to the host pre-setting the environment variable before user configuration was loaded (#4815)
  • Fix ArgumentNullException: Value cannot be null. (Parameter 'input') during func azure functionapp publish for non-.NET runtimes (PowerShell, Node.js, Python, Java) on Windows function apps (#4822)

4.8.0

10 Mar 01:21
ec58eb7

Choose a tag to compare

Azure Functions CLI 4.8.0

Host Version

  • Host Runtime Version: 4.1046.100
  • In-Proc CLI:
    • CLI Version: 4.4.0
    • Host Runtime Version: 4.46.100 (includes 4.846.100, 4.646.100)

Breaking Changes

  • Python 3.7 and 3.8 are no longer supported. These versions have reached end-of-life. Please upgrade to Python 3.9 or later to continue using Azure Functions Core Tools. (#4756)

Changes

  • Added end-of-life warnings for all runtime versions during func azure functionapp publish. (#4760)
  • Reduced console output noise by moving informational messages to verbose logging. (#4768)
  • Fixed an issue where creating an MCP Tool trigger function would fail with "Unknown template 'McpToolTrigger'" error. (#4768)
  • Added new func bundles commands for managing extension bundles (#4769)
    • func bundles download - Download the extension bundle configured in host.json with optional --force flag to re-download
    • func bundles list - List all downloaded extension bundles
    • func bundles path - Get the path to the downloaded extension bundle
    • func bundles add - Add extension bundle configuration to host.json with --channel flag to select GA (default), Preview, or Experimental bundles
    • Support for custom bundle download paths via AzureFunctionsJobHost__extensionBundle__downloadPath environment variable
  • Added --bundles-channel option to func init command to specify extension bundle channel (GA, Preview, or Experimental) during project initialization
  • Added global --offline variable to run in offline mode (#4772)
  • Fallback to cached bundles if there is no network connection during func start (#4772)
  • Enable offline support for func init and func new (#4775)
  • Improved error message for func azure functionapp publish when the connection fails due to networking restrictions, with a link to networking options documentation. (#4807)

4.7.0

17 Feb 19:44
af9404f

Choose a tag to compare

Azure Functions CLI 4.7.0

Host Version

  • Host Runtime Version: 4.1045.200
  • In-Proc CLI:
    • CLI Version: 4.3.0
    • Host Runtime Version: 4.44.100 (includes 4.844.100, 4.644.100)

Changes

  • Added end-of-life warnings for all runtime versions during func azure functionapp publish. (#4760)
  • Reduced console output noise by moving informational messages to verbose logging. (#4768)
  • Fixed an issue where creating an MCP Tool trigger function would fail with "Unknown template 'McpToolTrigger'" error. (#4768)
  • Added new func bundles commands for managing extension bundles (#4769)
    • func bundles download - Download the extension bundle configured in host.json with optional --force flag to re-download
    • func bundles list - List all downloaded extension bundles
    • func bundles path - Get the path to the downloaded extension bundle
    • func bundles add - Add extension bundle configuration to host.json with --channel flag to select GA (default), Preview, or Experimental bundles
    • Support for custom bundle download paths via AzureFunctionsJobHost__extensionBundle__downloadPath environment variable
  • Added --bundles-channel option to func init command to specify extension bundle channel (GA, Preview, or Experimental) during project initialization

Notes

  • APT is still in progress.

4.6.0

15 Dec 22:56
ab90faa

Choose a tag to compare

Azure Functions CLI 4.6.0

Host Version

  • Host Runtime Version: 4.1045.200
  • In-Proc CLI:
    • CLI Version: 4.3.0
    • Host Runtime Version: 4.44.100 (includes 4.844.100, 4.644.100)

Changes

  • Fix .gitignore to allow PowerShell module bin folders (#4574)
  • Refactor to use msbuild for determining .NET target framework & add support multiple TFMs (#4715)
    • When using func init --docker-only on a .NET project with multiple target frameworks, the CLI will now
      prompt the user to select which target framework to use for the Dockerfile.
  • Enhanced dotnet installation discovery by adopting the same Muxer logic used by the .NET SDK itself (#4732)
  • Update .NET templates package version to 4.0.5337 (#4728)
  • Fix func pack --build-native-deps failure on Windows for Python 3.13+ (#4742)
  • Add deprecation warning for extension bundles during function app publish (#4700)
  • Update the TypeScript project template to improve interoperability (#4739)
    • Upgrade typescript from ^4.0.0 to ^5.0.0
    • Add "esModuleInterop": true option to tsconfig.json
  • Cleaned up func --help output and fixed validation errors when using the --help flag for specific commands (#4748)
  • Improved func init --help output to better display options for each worker runtime (#4748)
  • Fix F# project & template initialization via func init | new (#4749)
  • Log a warning if remote build is used for Python 3.14 flex app (#4755)

4.5.0

14 Nov 23:10
e74aae2

Choose a tag to compare

Azure Functions CLI 4.5.0

Host Version

  • Host Runtime Version: 4.1044.400
  • In-Proc CLI:
    • CLI Version: 4.3.0
    • Host Runtime Version: 4.44.100 (includes 4.844.100, 4.644.100)

Changes

  • Add updated Durable .NET templates (#4692)
  • Adding the MCP Tool Trigger Templates for the Node/Typescript (#4651)
  • Set AzureWebJobsStorage to use the storage emulator by default on all platforms (#4685)
  • Set FUNCTIONS_WORKER_RUNTIME to custom if the EnableMcpCustomHandlerPreview feature flag is set (#4703)