Edit

Share via


Installing PowerShell on macOS

PowerShell 7 or higher requires macOS 13 and higher. All packages are available on the GitHub releases page for PowerShell. After the package is installed, run pwsh from a terminal. Before installing, check the list of Supported versions.

Note

PowerShell 7.4 is an in-place upgrade that removes previous versions of PowerShell 7. You can install preview versions of PowerShell side-by-side with other versions of PowerShell. If you need to run PowerShell 7.4 side-by-side with a previous version, reinstall the previous version using the binary archive method.

Note

The installation commands in this article are for the latest stable release of PowerShell. To install a different version of PowerShell, adjust the command to match the version you need. The following links direct you to the latest release page for each version on GitHub.

Download links for every package are found in the Assets section of the Release page. The Assets section may be collapsed, so you may need to click to expand it.

Install the latest stable release of PowerShell

There are several ways to install PowerShell on macOS. Choose one of the following methods:

Install using Homebrew

If the brew command isn't found, you need to install Homebrew following their instructions.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Once brew is installed, install PowerShell.

The following command installs the latest stable release of PowerShell:

brew install --cask powershell

Verify the installation is working correctly:

pwsh

When new versions of PowerShell are released, update Homebrew's formulae and upgrade PowerShell:

brew update
brew upgrade powershell

Note

You can call the previous commands from within a PowerShell (pwsh) session, but then you must restart the PowerShell session to complete the upgrade and refresh the values shown in $PSVersionTable.

Install the latest preview release of PowerShell

The following command installs the latest preview release of PowerShell:

brew install powershell/tap/powershell-preview

Run the following command to start the preview version of PowerShell:

pwsh-preview

When new preview versions of PowerShell are released, update Homebrew's formulae and upgrade to the latest preview version of PowerShell:

brew update
brew upgrade powershell-preview

Note

You can call the previous commands from within a PowerShell (pwsh) session, but then you must restart the PowerShell session to complete the upgrade and refresh the values shown in $PSVersionTable.

Install the latest LTS release of PowerShell

The following command installs the latest LTS release of PowerShell:

brew install powershell/tap/powershell-lts

Verify your installation:

pwsh-lts

When new LTS versions of PowerShell are released, run the following commands to update Homebrew's formulae and upgrade to the latest LTS version of PowerShell:

brew update
brew upgrade powershell-lts

Note

When updating to a newer version of PowerShell, use the same method, cask or the tap, that you used to perform the initial install. If you use a different method, opening a new pwsh session continues to use the older version of PowerShell.

If you decide to use different methods, there are ways to correct the issue using the Homebrew link method.

Installation via Direct Download

Starting with version 7.2, PowerShell supports the Apple M-series Arm-based processors. Download the install package from the releases page onto your Mac. The links to the current versions are:

There are two ways to install PowerShell using the Direct Download method.

Using Finder

Install PowerShell using Finder:

  1. Open Finder
  2. Locate the downloaded package
  3. Double-click the file
  4. Follow the prompts

You might receive the following error message when installing the package:

"powershell-7.5.1-osx-arm64.pkg" cannot be opened because Apple cannot check it for malicious software.

To work around this issue using Finder:

  1. Locate the downloaded package in Finder
  2. Control-click (click while pressing the Control (or Ctrl) key on the package
  3. Select Open from the context menu

Using Terminal

Install PowerShell from the terminal. Change the filename to match the package you downloaded.

sudo installer -pkg ./Downloads/powershell-7.5.1-osx-arm64.pkg -target /

You might receive the following error message when installing the package:

"powershell-7.5.1-osx-arm64.pkg" cannot be opened because Apple cannot check it for malicious software.

There are a few different ways to work around this issue from the command line:

  • Run the installer command with the allowUntrusted flag:

    `sudo installer -allowUntrusted -pkg ./Downloads/powershell-7.5.1-osx-arm64.pkg -target /`
    
  • Or install the package as you normally would after running one of the following commands:

    • Run sudo xattr -rd com.apple.quarantine ./Downloads/powershell-7.5.1-osx-arm64.pkg.
    • Use the Unblock-File cmdlet if you're using PowerShell. Include the full path to the .pkg file.

Install as a .NET Global tool

If you already have the .NET Core SDK installed, it's easy to install PowerShell as a .NET Global tool.

dotnet tool install --global PowerShell

The dotnet tool installer adds ~/.dotnet/tools to your PATH environment variable. However, the currently running shell doesn't have the updated PATH. Start PowerShell from a new shell by typing pwsh.

Binary archives

PowerShell binary tar.gz archives are provided for the macOS platform to enable advanced deployment scenarios. When you install using this method, you must also manually install any dependencies.

Note

You can use this method to install any version of PowerShell including the latest:

Installing binary archives on macOS

Download the install package from the releases page onto your Mac. The links to the current versions are:

Use the following commands to install PowerShell from the binary archive. Change the download URL to match the version you want to install.

# Download the powershell '.tar.gz' archive
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v7.5.1/powershell-7.5.1-osx-arm64.tar.gz

# Create the target folder where powershell is placed
sudo mkdir -p /usr/local/microsoft/powershell/7

# Expand powershell to the target folder
sudo tar zxf /tmp/powershell.tar.gz -C /usr/local/microsoft/powershell/7

# Set execute permissions
sudo chmod +x /usr/local/microsoft/powershell/7/pwsh

# Create the symbolic link that points to pwsh
sudo ln -s /usr/local/microsoft/powershell/7/pwsh /usr/local/bin/pwsh

Uninstalling PowerShell

If you installed PowerShell with Homebrew, use the following command to uninstall:

brew uninstall --cask powershell

If you installed PowerShell via direct download, PowerShell must be removed manually:

sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell

To remove the extra PowerShell paths, refer to the paths section in this document and remove the paths using sudo rm.

Note

This process isn't necessary if you installed with Homebrew.

Paths

  • $PSHOME is /usr/local/microsoft/powershell/7
    • The macOS install package creates a symbolic link, /usr/local/bin/pwsh that points to pwsh in the $PSHOME location.
  • User profiles are read from ~/.config/powershell/profile.ps1
  • Default profiles are read from $PSHOME/profile.ps1
  • User modules are read from ~/.local/share/powershell/Modules
  • Shared modules are read from /usr/local/share/powershell/Modules
  • Default modules are read from $PSHOME/Modules
  • PSReadLine history is recorded to ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt

PowerShell respects the XDG Base Directory Specification on macOS.

Supported versions

Microsoft supports PowerShell until PowerShell reaches end-of-support or the version of macOS reaches end-of-support.

  • macOS 15 (Sequoia) x64 and Arm64
  • macOS 14 (Sonoma) x64 and Arm64
  • macOS 13 (Ventura) x64 and Arm64

Apple determines the support lifecycle of macOS. For more information, see the following:

Installation support

Microsoft supports the installation methods in this document. There might be other methods of installation available from other sources. While those tools and methods might work, Microsoft can't support those methods.

Additional resources