---
title: Download & Install Pulumi
url: /docs/install/
---


The latest version of Pulumi is **3.270.0**. For previous versions, see [Available versions](/docs/install/versions/). For a list of features, bug fixes, and more see the [CHANGELOG](https://github.com/pulumi/pulumi/blob/master/CHANGELOG.md).

By default, the Pulumi CLI stores state in [Pulumi Cloud](/docs/iac/guides/basics/pulumi-cloud-vs-oss/), our free, hosted state-management backend. Pulumi Cloud is free for individuals and is the recommended backend when you're learning Pulumi — no credit card required. If you'd rather host state yourself (S3, Azure Blob, GCS, or local), see [self-managed state backends](/docs/iac/concepts/state-and-backends/).

> **Note:** You don't need a Pulumi Cloud account to install the CLI. You'll be prompted to sign in (or to pick a self-managed backend) the first time you run `pulumi login`.

## Choose an operating system

<!-- chooser: os -->

<!-- option: macos -->
<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-package-regular"/></svg>
Homebrew package manager</h3>
```bash
$ brew install pulumi/tap/pulumi
```

<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-download-simple-regular"/></svg>
macOS binary download</h3>
[amd64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-darwin-x64.tar.gz)
[arm64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-darwin-arm64.tar.gz)
macOS Ventura (13) or later is required.

**Note:** Pulumi supports many clouds using the same languages, CLI, and deployment workflow. For a streamlined Pulumi walkthrough, including language runtime installation and cloud configuration, see the [Get Started](/docs/get-started) guides.

<!-- /option -->

<!-- option: linux -->

<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-package-regular"/></svg>
Install script</h3>
```bash
$ curl -fsSL https://get.pulumi.com | sh
```

<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-download-simple-regular"/></svg>
Linux binary download</h3>
[amd64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-linux-x64.tar.gz)

**Note:** Pulumi supports many clouds using the same languages, CLI, and deployment workflow. For a streamlined Pulumi walkthrough, including language runtime installation and cloud configuration, see the [Get Started](/docs/get-started) guides.

<!-- /option -->

<!-- option: windows -->
<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-package-regular"/></svg>
Windows Package Manager (winget)</h3>
```bash
> winget install --exact --id Pulumi.Pulumi
```

<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-package-regular"/></svg>
Installer (MSI)</h3>

[amd64](https://github.com/pulumi/pulumi-winget/releases/download/v3.270.0/pulumi-3.270.0-windows-x64.msi)

<h3 class="no-anchor pt-4">
<svg xmlns="http://www.w3.org/2000/svg" class="ph-icon ph-icon--regular pr-2" fill="currentColor" aria-hidden="true" focusable="false"><use href="/https/www.pulumi.com/icons/sprite.8a5c5cb3b24d4409c815bbda3711a212d8b4ecb896537b36600f91e09433004b.svg#p-download-simple-regular"/></svg>
Windows binary download</h3>

[amd64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-windows-x64.zip)

Windows 8 and later are supported.

**Note:** Pulumi supports many clouds using the same languages, CLI, and deployment workflow. For a streamlined Pulumi walkthrough, including language runtime installation and cloud configuration, see the [Get Started](/docs/get-started) guides.

<!-- /option -->

<!-- /chooser -->

## More installation methods

Pulumi also supports these installation methods:

<!-- chooser: os -->

<!-- option: macos -->

##### Official Pulumi Homebrew tap

You can install Pulumi through the [Homebrew package manager](https://brew.sh/) using our official
[Pulumi Homebrew tap](https://github.com/pulumi/homebrew-tap/).
```bash
$ brew install pulumi/tap/pulumi
```

This installs the `pulumi` CLI into your Homebrew prefix — `/opt/homebrew/bin/pulumi` on Apple silicon, `/usr/local/bin/pulumi` on Intel Macs — and adds it to your path.
Install subsequent updates the same way you update any other formula:
```bash
$ brew upgrade pulumi
```

##### Community Homebrew

A Pulumi formula is also available from the community Homebrew repository. If you do not have the Pulumi tap
installed, you can still install Pulumi with Homebrew:
```bash
$ brew install pulumi
```

##### MacPorts

You can install Pulumi through the [MacPorts package manager](https://www.macports.org/):
```bash
$ sudo port install pulumi
```

This installs the `pulumi` CLI to `/opt/local/bin/pulumi` and adds it to your path.
Install subsequent updates with the `upgrade outdated` command:
```bash
$ sudo port upgrade outdated
```

##### Installation script

Alternatively, you can run our installation script.
```bash
$ curl -fsSL https://get.pulumi.com | sh
```

This installs the `pulumi` CLI to `~/.pulumi/bin` and adds it to your path. When it can’t add `pulumi` to your path automatically, it prompts you to add it manually.
See [How to permanently set $PATH on Unix](https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix) for guidance.
Rerun the installer script to install later updates.

##### Manual installation

If you do not wish to use the previous options, you can install Pulumi manually.

Download [Pulumi 3.270.0 for macOS](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-darwin-x64.tar.gz). For prior versions and release notes, see the [Available versions](/docs/install/versions/) page.

Extract the tarball and move the binaries in the `pulumi` directory to a directory included in your system’s `$PATH`.

<!-- /option -->

<!-- option: linux -->

##### Installation script

To install, run our installation script:
```bash
$ curl -fsSL https://get.pulumi.com | sh
```

This installs the `pulumi` CLI to `~/.pulumi/bin` and adds it to your path. When it can’t add `pulumi` to your path automatically, it prompts you to add it manually.
See [How to permanently set $PATH on Unix](https://stackoverflow.com/questions/14637979/how-to-permanently-set-path-on-linux-unix) for guidance.

##### Manual installation

Alternatively, you can install Pulumi manually. We provide a prebuilt binary for Linux.

Download [Pulumi 3.270.0 for Linux x64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-linux-x64.tar.gz). For prior versions and release notes, see the [Available versions](/docs/install/versions/) page.

Extract the tarball and move the binaries in the `pulumi` directory to a directory included in your system’s `$PATH`.

<!-- /option -->

<!-- option: windows -->

##### Windows Package Manager (winget)

Install Pulumi using the [Windows Package Manager](https://learn.microsoft.com/windows/package-manager/winget/) (`winget`) CLI, which is included with Windows 11 and modern versions of Windows 10:
```bash
> winget install --exact --id Pulumi.Pulumi
```

This runs the standalone installer (MSI), which installs Pulumi machine-wide and adds it to your path. You don’t need an elevated shell, but Windows prompts you to approve the installation. If you don’t have administrator rights, use the installation script instead, which installs Pulumi for your user account only.
To update Pulumi to a more recent version:
```bash
> winget upgrade --exact --id Pulumi.Pulumi
```

##### Chocolatey

From an elevated (administrator) shell, install the `pulumi` package with the [Chocolatey package manager](https://chocolatey.org):
```bash
> choco install pulumi
```

This installs the `pulumi` CLI to `$($env:ChocolateyInstall)\lib\pulumi\tools\Pulumi\bin` and adds that directory to the system path.
Install subsequent updates the usual way:
```bash
> choco upgrade pulumi
```

##### Standalone installer (MSI)

Download the latest [Pulumi Installer for Windows x64](https://github.com/pulumi/pulumi-winget/releases/download/v3.270.0/pulumi-3.270.0-windows-x64.msi) and run it like any other installer. It will automatically add Pulumi to the path and make it available machine-wide.

##### Installation script

Open a new command prompt window (**WIN+R**: `cmd.exe`):

Run our installation script:

```bash
> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://get.pulumi.com/install.ps1'))" && SET "PATH=%PATH%;%USERPROFILE%\.pulumi\bin"
```

This installs the `pulumi.exe` CLI to `%USERPROFILE%\.pulumi\bin` and adds it to your path.

##### Manual installation

Alternatively, you can install Pulumi manually using binaries built for Windows x64.

Download [Pulumi 3.270.0 binaries for Windows x64](https://get.pulumi.com/releases/sdk/pulumi-v3.270.0-windows-x64.zip). For prior versions and release notes, see the [Available versions](/docs/install/versions/) page.

Unzip the file and extract the contents to a folder such as `C:\pulumi`.

Add `C:\pulumi\bin` to your path via **System Properties** -> **Advanced** -> **Environment Variables** -> **User Variables** -> **Path** -> **Edit**.

<!-- /option -->

<!-- /chooser -->

## Verify installation

After installing Pulumi, verify everything is in working order by running the `pulumi` CLI:

<!-- chooser: os -->

<!-- option: macos -->
```bash
$ pulumi version
```

<!-- /option -->

<!-- option: linux -->
```bash
$ pulumi version
```

<!-- /option -->

<!-- option: windows -->
```bash
> pulumi version
```

<!-- /option -->

<!-- /chooser -->

### Common errors and warnings

These are common installation-related errors or warnings you may encounter.

#### Pulumi not found error

If you get an error that `pulumi` could not be found, it means your path has not been configured correctly. Verify that your system's `$PATH` contains the directory containing the `pulumi` CLI installed earlier.

#### New version warning

If a new version of Pulumi is available, the CLI prints a warning like this one when you run any command:

<!-- chooser: os -->

<!-- option: macos -->
```
warning: A new version of Pulumi is available. To upgrade from version '2.17.26' to '3.270.0', run
   $ curl -sSL https://get.pulumi.com | sh
or visit https://pulumi.com/docs/reference/install/ for manual instructions and release notes.

```

<!-- /option -->

<!-- option: linux -->
```
warning: A new version of Pulumi is available. To upgrade from version '2.17.26' to '3.270.0', run
   $ curl -sSL https://get.pulumi.com | sh
or visit https://pulumi.com/docs/reference/install/ for manual instructions and release notes.

```

<!-- /option -->

<!-- option: windows -->
```
warning: A new version of Pulumi is available. To upgrade from version '2.17.26' to '3.270.0', run
   > "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://get.pulumi.com/install.ps1'))"
or visit https://pulumi.com/docs/reference/install/ for manual instructions and release notes.

```

<!-- /option -->

<!-- /chooser -->

> **Note:** If you're in an environment with no internet access, you may skip the Pulumi version update check by setting the environment variable `PULUMI_SKIP_UPDATE_CHECK` to `1` or `true`.

## Installing betas and previous versions

Most installation methods choose the latest version by default. To install a specific version, use the following commands. You can find the list of versions on the [Available versions](/docs/install/versions/) page.

<!-- chooser: os -->

<!-- option: macos -->

### macOS installation script

```bash
$ curl -fsSL https://get.pulumi.com | sh -s -- --version <version>
```

<!-- /option -->

<!-- option: linux -->

### Linux installation script

To install, run our installation script:
```bash
$ curl -fsSL https://get.pulumi.com | sh -s -- --version <version>
```

<!-- /option -->

<!-- option: windows -->

### Windows Package Manager (winget)

```bash
> winget install --exact --id Pulumi.Pulumi --version <version>
```

### Chocolatey

```bash
> choco install pulumi --version <version>
```

### Windows installation script

Open a new command prompt window (**WIN+R**: `cmd.exe`):

Run our installation script (replace <code><version></code> with the version number):

```bash
> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $version = '<version>'; iex ((New-Object System.Net.WebClient).DownloadString('https://get.pulumi.com/install.ps1')).Replace('${Version}', $version)" && SET "PATH=%PATH%;%USERPROFILE%\.pulumi\bin"
```

<!-- /option -->

<!-- /chooser -->

## Installing dev releases

Besides a specific version, you can also install the latest dev version automatically. This version contains the latest changes merged to the main development branch.

<!-- chooser: os -->

<!-- option: macos -->

### macOS installation script

```bash
$ curl -fsSL https://get.pulumi.com | sh -s -- --version dev
```

<!-- /option -->

<!-- option: linux -->

### Linux installation script

To install, run our installation script:
```bash
$ curl -fsSL https://get.pulumi.com | sh -s -- --version dev
```

<!-- /option -->

<!-- option: windows -->

### Windows installation script

Open a new command prompt window (**WIN+R**: `cmd.exe`):

Run our installation script:

```bash
> @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; & ([ScriptBlock]::Create((New-Object System.Net.WebClient).DownloadString('https://get.pulumi.com/install.ps1'))) -Version dev" && SET "PATH=%PATH%;%USERPROFILE%\.pulumi\bin"
```

<!-- /option -->

<!-- /chooser -->

## Minimum system requirements

<!--
## Rationale for Minimum System Requirements

Please see https://github.com/pulumi/pulumi-benchmarking where we have a benchmarking codebase to represent typical pulumi actions.

The results from this benchmark were 10% CPU utilization on a Apple M1 Pro for the apply and 20% CPU utilization for the destroy.
The memory usage for both was 1.5GB.

So the following recommendations were made to add some headroom for the typical pulumi actions, especially for larger projects.
-->

The following are general recommendations for minimum system requirements when using Pulumi. Actual performance varies with the SDK runtime, the providers you use, your operating system, and the size and complexity of your infrastructure deployments — but treat these figures as a floor for typical usage.

| Component      | Recommendation                                                                                                              |
|----------------|-----------------------------------------------------------------------------------------------------------------------------|
| **CPU**        | 2 GHz or faster processor (or equivalent vCPUs for cloud environments)                                                      |
| **RAM**        | 4 GB or more                                                                                                                |
| **Disk Space** | 1 GB or more free disk space (additional space may be required when using multiple runtimes, providers, or large codebases) |

> **Note:** System requirements vary widely with the providers you use and how you manage packages and plugins. Using multiple providers or large plugins may require additional disk space. Your SDK runtime (for example, Node.js, Python, or Go), your operating system, and how you manage packages in your development environment also affect performance. CPU and RAM requirements depend on the complexity of your infrastructure, the runtimes, the packages and plugins used, and how much of a `pulumi preview` or `pulumi up` operation can run in parallel.

## Enhance your AI coding assistant with agent skills

Skills are structured knowledge packages that follow the open [Agent Skills](https://agentskills.io) specification. They work across multiple AI coding platforms including Claude Code, GitHub Copilot, Cursor, VS Code, Codex, and Gemini CLI. When you install Pulumi skills, your AI assistant gains access to detailed workflows, code patterns, and decision trees for common infrastructure tasks.

### Claude Code plugin marketplace

For Claude Code users, the plugin system provides the simplest installation experience:

```bash
claude plugin marketplace add pulumi/agent-skills
claude plugin install pulumi-migration      # Install migration skills
claude plugin install pulumi                # Install Pulumi skills (overview + specialized)
claude plugin install pulumi-delegation     # Install delegation skills (Neo handoff)
```

You can install all plugin groups or choose only the ones you need.

### Universal installation

For Cursor, GitHub Copilot, VS Code, Codex, Gemini, and other platforms, use the universal [Agent Skills](https://agentskills.io) CLI. The universal installer does not read plugin marketplace manifests, so install each end-user skill group:

```bash
npx skills add pulumi/agent-skills/pulumi --skill '*'
npx skills add pulumi/agent-skills/migration --skill '*'
npx skills add pulumi/agent-skills/delegation --skill '*'
```

You can also connect your assistant to the [Pulumi MCP server](/docs/ai/mcp-server/) for live access to your Pulumi Cloud stacks, resources, and the Pulumi Registry.

## Uninstalling Pulumi

To uninstall Pulumi, use the uninstall command for the method you installed it with. If you installed Pulumi manually, delete the `pulumi` directory that you created. Then remove the `.pulumi` folder from your home directory, which holds plugins and other cached metadata.
