Free · GPL-3.0 · no account, no telemetry

Download platypusgit

Prebuilt binaries for macOS, Windows and Linux on every release. Pick a platform — yours is already selected.

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.

brew install --cask jonassaa/platypusgit/platypusgit

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.

Disk image

No Homebrew? Drag-install the universal build.

Download .dmg

PlatypusGit_universal.dmg

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.

Download .msi

PlatypusGit_x64.msi

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.

scoop bucket add platypusgit https://github.com/jonassaa/scoop-platypusgit
scoop install platypusgit

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:

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://apt.platypusgit.com/key.gpg \
  | sudo tee /etc/apt/keyrings/platypusgit.gpg > /dev/null
sudo chmod 0644 /etc/apt/keyrings/platypusgit.gpg
sudo tee /etc/apt/sources.list.d/platypusgit.sources > /dev/null <<EOF
Types: deb
URIs: https://apt.platypusgit.com
Suites: stable
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/platypusgit.gpg
EOF
sudo apt update && sudo apt install platypusgit

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.

AppImage

Fedora, Arch, and anything not Debian-based.

x86_64 (Intel/AMD)

Download .AppImage

PlatypusGit_amd64.AppImage

chmod +x PlatypusGit_amd64.AppImage
./PlatypusGit_amd64.AppImage

arm64 (aarch64)

Download .AppImage

PlatypusGit_arm64.AppImage

chmod +x PlatypusGit_arm64.AppImage
./PlatypusGit_arm64.AppImage

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.

Debian package, by hand

For an air-gapped box, or a one-off.

x86_64 (Intel/AMD)

Download .deb

PlatypusGit_amd64.deb

sudo apt install ./PlatypusGit_amd64.deb

arm64 (aarch64)

Download .deb

PlatypusGit_arm64.deb

sudo apt install ./PlatypusGit_arm64.deb

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.

Windows PowerShell

irm https://www.platypusgit.com/install-pgit.ps1 | iex

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.

# Prerequisites: Node 22+, pnpm, Rust stable
#   macOS:   xcode-select --install
#   Linux:   libwebkit2gtk-4.1-dev build-essential libssl-dev
#   Windows: WebView2 + MSVC Build Tools

git clone https://github.com/jonassaa/platypusgit.git
cd platypusgit
pnpm install
pnpm tauri build   # produces .dmg / .msi / .deb / .AppImage