Installation instructions on how to install PowerShell on macOS 10.12 and higher.
---
title: Installing PowerShell Core on macOS
subtitle: Information about installing PowerShell Core on macOS
author: Microsoft
date: August 5, 2018
source: https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-powershell-core-on-macos?view=powershell-6
notoc: false
---
PowerShell Core supports macOS 10.12 and higher. All packages are available on
our GitHub [releases] page. Once the package is installed, run `pwsh` from a
terminal.
## Installation of latest stable release via Homebrew on macOS 10.12 or higher
[Homebrew][brew] is the preferred package manager for macOS. If the `brew` command is not found, you need to install Homebrew following [their instructions][brew].
Now, you can install PowerShell:
```bash
brew cask install powershell
```
Finally, verify that your install is working properly:
```bash
pwsh
```
When new versions of PowerShell are released, simply update Homebrew's formulae and upgrade PowerShell:
```bash
brew update
brew cask upgrade powershell
```
> [!NOTE]
> The commands above can be called from within a PowerShell (pwsh) host,
> but then the PowerShell shell must be exited and restarted to complete the upgrade
> and refresh the values shown in $PSVersionTable.
[brew]: http://brew.sh/
## Installation of latest preview release via Homebrew on macOS 10.12 or higher
[Homebrew][brew] is the preferred package manager for macOS. If the `brew` command is not found, you need to install Homebrew following [their instructions][brew].
Once you've installed Homebrew, installing PowerShell is easy. First, install [Cask-Versions][cask-versions] which lets you install alternative versions of cask packages:
```bash
brew tap homebrew/cask-versions
```
Now, you can install PowerShell:
```bash
brew cask install powershell-preview
```
Finally, verify that your install is working properly:
```bash
pwsh-preview
```
When new versions of PowerShell are released, simply update Homebrew's formulae and upgrade PowerShell:
```bash
brew update
brew cask upgrade powershell-preview
```
> [!NOTE]
> The commands above can be called from within a PowerShell (pwsh) host,
> but then the PowerShell shell must be exited and restarted to complete the upgrade.
> and refresh the values shown in $PSVersionTable.
## Installation via Direct Download
Download the PKG package `powershell-6.1.0-osx-x64.pkg` from the [releases][] page onto your macOS machine.
You can double-click the file and follow the prompts, or install it from the terminal:
```bash
sudo installer -pkg powershell-6.1.0-osx-x64.pkg -target /
```
## Binary Archives
PowerShell binary `tar.gz` archives are provided for the macOS platform to enable advanced deployment scenarios.
### Installing binary archives on macOS
```bash
# Download the powershell '.tar.gz' archive
curl -L -o /tmp/powershell.tar.gz https://github.com/PowerShell/PowerShell/releases/download/v6.1.0/powershell-6.1.0-osx-x64.tar.gz
# Create the target folder where powershell will be placed
sudo mkdir -p /usr/local/microsoft/powershell/6.1.0
# Expand powershell to the target folder
sudo tar zxf /tmp/powershell.tar.gz -C /usr/local/microsoft/powershell/6.1.0
# Set execute permissions
sudo chmod +x /usr/local/microsoft/powershell/6.1.0/pwsh
# Create the symbolic link that points to pwsh
sudo ln -s /usr/local/microsoft/powershell/6.1.0/pwsh /usr/local/bin/pwsh
```
## Uninstalling PowerShell Core
If you installed PowerShell with Homebrew, uninstallation is easy:
```bash
brew cask uninstall powershell
```
If you installed PowerShell via direct download, PowerShell must be removed manually:
```bash
sudo rm -rf /usr/local/bin/pwsh /usr/local/microsoft/powershell
```
To remove the additional PowerShell paths, please see the [paths](#paths) section in this document and remove the desired the paths using `sudo rm`.
> [!NOTE]
> This is not necessary if you installed with Homebrew.
## PowerShell Paths
* `$PSHOME` is `/usr/local/microsoft/powershell/6.1.0/`
* User profiles will be read from `~/.config/powershell/profile.ps1`
* Default profiles will be read from `$PSHOME/profile.ps1`
* User modules will be read from `~/.local/share/powershell/Modules`
* Shared modules will be read from `/usr/local/share/powershell/Modules`
* Default modules will be read from `$PSHOME/Modules`
* PSReadline history will be recorded to `~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt`
The profiles respect PowerShell's per-host configuration.
So the default host-specific profiles exists at `Microsoft.PowerShell_profile.ps1` in the same locations.
PowerShell respects the [XDG Base Directory Specification][xdg-bds] on macOS.
Because macOS is a derivation of BSD, the prefix `/usr/local` is used instead of `/opt`. Thus, `$PSHOME` is `/usr/local/microsoft/powershell/6.1.0/`, and the symlink is placed at `/usr/local/bin/pwsh`.
## Additional Resources
* [Homebrew Web][brew]
* [Homebrew Github Repository][GitHub]
* [Homebrew-Cask][cask]
[brew]: http://brew.sh/
[Cask]: https://github.com/Homebrew/homebrew-cask
[cask-versions]: https://github.com/Homebrew/homebrew-cask-versions
[GitHub]: https://github.com/Homebrew
[releases]: https://github.com/PowerShell/PowerShell/releases/latest
[xdg-bds]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html