Builds are early but usable — expect frequent releases and rough edges. We have not bought a signing certificate, so most of these need one extra step on first launch on macOS and Windows; each panel says which. The one exception is the Microsoft Store build, which Microsoft signs on our behalf.
macOS
Apple Silicon & Intel, one universal build.
Recommended
Homebrew
One command to install, one to update, and no Gatekeeper detour.
Taps the cask and installs the universal build straight into /Applications, and the pgit command with it. The app is ad-hoc signed but not notarized — the cask clears the macOS Gatekeeper quarantine flag on install, so it launches with no “unidentified developer” prompt and there is nothing to run by hand.
Updating and removing
Homebrew owns updates on macOS — there is no in-app self-update. Every release bumps the cask, so upgrading is:
brew update
brew upgrade --cask platypusgit
brew update refreshes the tap, brew upgrade fetches the new build and replaces the app. Quit platypusgit first so the running app isn’t swapped underneath it. Check what you have with brew info --cask platypusgit, and remove it with brew uninstall --cask platypusgit.
Drag platypusgit.app into /Applications. Updates are then manual — repeat the download for every release — and because a drag-install runs no code, the pgit command is a separate one-liner.
First launch warning
The .dmg isn’t notarized, so macOS may say the app is damaged or from an unidentified developer. Clear the quarantine flag — Homebrew installs never hit this:
xattr -cr /Applications/platypusgit.app
Or: System Settings → Privacy & Security → Open Anyway.
Windows
The Store, an installer, or one line with Scoop.
Recommended
Microsoft Store
The signed build. No SmartScreen warning, Windows keeps it up to date, and it is the only package that runs natively on Arm.
One package for x64 and Arm64, so this is the route for a Copilot+ PC or any other Windows-on-Arm machine — the .msi below is x64 only. You get the app and the pgit command together, and because Microsoft re-signs everything it distributes, nothing warns you on first launch.
Updating and removing
The Store owns updates on this install, and the app knows it — the in-app updater is switched off here, the same way it is under Scoop, so the two can never disagree about which copy you are running. Windows updates Store apps on its own; to do it now, open the Store and choose Library → Get updates.
Every release goes through Microsoft's certification before it appears here, so this channel can trail a brand-new version by a little. If you want a release the day it ships, take the .msi below instead.
Removing it is Settings → Apps → platypusgit → Uninstall. An MSIX is a sealed package Windows manages rather than an installer that scatters files, so nothing is left behind.
WebView2, and what this package cannot do for you
Like the Scoop build, the Store package does not carry the WebView2 bootstrapper — a Store app is not allowed to run one. Windows 11 ships WebView2 and Windows 10 gets it with Edge, so it is almost certainly already there; if no window appears, install the Evergreen WebView2 Runtime from Microsoft.
Installer
No Store, or you want each release the day it ships? Download the 64-bit installer and run it.
Installs the app and the pgit command together, and putspgit on your PATH. WebView2 is already present on Windows 11; on Windows 10 the installer pulls it in if it is missing. This is the route that updates itself — platypusgit offers the new version in-app and installs it for you, with no wait for certification. x64 only.
First launch warning
The installer isn’t code-signed yet, so Windows SmartScreen shows a warning. ClickMore info → Run anyway to proceed. The Store build above is the one that avoids this entirely.
Scoop
Already using Scoop? Two lines, no admin prompt, and scoop update for every release after.
Installs per-user, so nothing asks for elevation andscoop uninstall platypusgit removes every trace. You get the app with a Start Menu shortcut, and pgit shimmed onto your PATH by Scoop itself. Needs Scoopfirst — if you don’t have it, take the installer above instead.
Updating and removing
Scoop owns updates on this install, and the app knows it — the in-app updater is switched off here, so the two can never disagree about which copy you are running. Upgrading is:
scoop update platypusgit
Quit platypusgit first so the running app isn’t swapped underneath it.
WebView2, and what this package cannot do for you
Scoop installs a portable build rather than running the .msi, which is what makes it per-user and cleanly removable — but it also means it cannot install the WebView2 runtime the way the installer can. Windows 11 ships WebView2 and Windows 10 gets it with Edge, so it is almost certainly already there; if no window appears, install the Evergreen WebView2 Runtime from Microsoft.
Other routes
No winget or Chocolatey package yet.
winget is waiting on code signing — an unsigned installer means SmartScreen warnings and a harder time through winget’s review, so it is a certificate away rather than a build away. Chocolatey isn’t planned. If you would rather not run the installer at all, build from source — the standard Tauri toolchain produces the same .msi.
Linux
One-line apt install, or a portable AppImage.
Recommended
One-line install
Debian, Ubuntu and derivatives. One command to install, and apt for every release after.
curl -fsSL https://www.platypusgit.com/install-platypusgit.sh | sh
Adds our signed APT repository and installs the app. The package ships/usr/bin/pgit, so the pgit command works straight away, and webkit2gtk 4.1 comes with it as a dependency. The signing key is served pre-dearmored, so you need no gnupg — this works on a bare container or cloud image. On a system without apt, or on an architecture we don’t build yet, it says so and stops rather than quietly installing something else.
Updating and removing
Your package manager owns updates once the repository is added — a .debcannot replace its own files, so there is no in-app self-update here. Every release publishes to the repository, so upgrading is:
sudo apt update && sudo apt upgrade platypusgit
Quit platypusgit first so the running app isn’t swapped underneath it. The package is called platypusgit — that is the name apt search,apt remove and dpkg -l use. apt install platypusgitworks too, because the package declares that name as well, but platypusgitis the one to remember. Remove it with sudo apt remove platypusgit.
The same thing, spelled out
The one-liner does exactly this. Run it yourself if you would rather not pipe a URL into a shell:
Signed-By: scopes the key to this one repository — neverapt-key add, which is deprecated and gone on current Debian and Ubuntu. Verify the key before you trust it: its fingerprint is 294C261A1641704535EAC137DDA53BD2C15FB1FB.
Read the installer first, or dry-run it
Piping a URL into a shell runs whatever that URL returns, soinstall-platypusgit.sh is plain text meant to be read first — and the same bytes live in the repo underscripts/, because the site serves a build-time copy of exactly that file. Or download, inspect, then run:
curl -fsSL https://www.platypusgit.com/install-platypusgit.sh -o install-platypusgit.sh
less install-platypusgit.sh # read it, then run it
sh install-platypusgit.sh
It also takes a dry run that prints what it would do and changes nothing:curl -fsSL … | sh -s -- --dry-run.
Download, make it executable, run — nothing is installed.This is the only Linux build that updates itself: an AppImage can replace its own file, so platypusgit offers the update in-app, which is exactly what the.deb cannot do. Because nothing is installed and no hook executes, thepgit command is a separate one-liner. Not sure which one you want? uname -m printsx86_64 or aarch64.
The same package the repository serves, installed straight from the file. Updates are then manual — repeat the download for every release, because apt has no repository to upgrade from. platypusgit notices, and offers you the one-liner above rather than pretending apt upgrade will work. dpkg --print-architecturenames the one your machine takes.
Command line
The pgit command
pgit . opens the repository you are standing in and hands the prompt straight back. pgit log, pgit commit and pgit branches open onto that screen; a path opens the repository containing it.
Most installs already have it
ChannelShips pgitNotes
Homebrew caskYesRemoved again on uninstall
Disk image (.dmg)NoA drag-install runs no code
Microsoft StoreYesRegistered as an app alias
Installer (.msi)YesAdded to your PATH
ScoopYesScoop shims it for you
APT repositoryYesShips /usr/bin/pgit
Debian package (.deb)YesSame package, same shim
AppImageNoPortable, executes no hook
Check with pgit --help in a new terminal. The two channels that run no install code need the one-liner below, or Settings → Command line inside the app.
macOS .dmg & Linux AppImage
curl -fsSL https://www.platypusgit.com/install-pgit.sh | sh
Links pgit to the app you already installed, from a directory you own — nosudo. If Homebrew or the .deb already put a pgit on your PATH, the script says so and exits without touching it.
For the Windows installs the .msi does not cover: a build from source, an unpacked layout, or an .msi whose PATH change has not reached the shell you are in. Writes pgit.cmd into %LOCALAPPDATA%\PlatypusGit\bin and appends that directory to your user PATH — no admin rights.
Read it before you run it
Piping a URL into a shell runs whatever that URL returns, so both scripts are plain text meant to be read first — install-pgit.sh andinstall-pgit.ps1 open in the browser, and the same files live in the repo under scripts/(the site serves a build-time copy of exactly those bytes). Or download, inspect, then run:
curl -fsSL https://www.platypusgit.com/install-pgit.sh -o install-pgit.sh
less install-pgit.sh # read it, then run it
sh install-pgit.sh
Windows PowerShell:
irm https://www.platypusgit.com/install-pgit.ps1 -OutFile install-pgit.ps1
notepad install-pgit.ps1 # read it, then run it
powershell -ExecutionPolicy Bypass -File .\install-pgit.ps1
Both take a dry run that prints what would happen and changes nothing:curl -fsSL … | sh -s -- --dry-run, or -DryRun for the PowerShell script.
From source
Build it yourself
Standard Tauri toolchain. Works on all three platforms, and produces the same artifacts the release workflow publishes.