Install

PwrGit ships as a signed macOS app, a signed Windows installer, and native Linux packages. It carries its own Git and Git LFS, so nothing else has to be installed first. Pick your platform, then read First launch — PwrGit does nothing useful until it knows which folders your repositories live in.

Pick your platform

Every release is published to GitHub Releases on pwrdrvr/PwrGit. Each one carries a version-stamped file and a stable-name copy of the same bytes, so the links below always fetch the current stable build.

Platform Download Notes
macOS 13+, Apple silicon PwrGit-arm64.dmg Native build, the smaller download
macOS 13+, Intel or not sure PwrGit.dmg Universal — runs natively on both
macOS, Homebrew brew install --cask pwrdrvr/tap/pwrgit Same signed app, Apple silicon or universal
Windows 10/11, x64 PwrGit.Setup.exe Per-user install, no administrator rights
Linux, x64 or arm64 DEB, RPM, pacman, or .tar.gz See Linux

macOS

  1. Download the DMG for your Mac: PwrGit-arm64.dmg on Apple silicon (M1 and later), PwrGit.dmg otherwise.
  2. Open it and drag PwrGit onto Applications.
  3. Launch it from Applications.

Both builds are signed with a Developer ID and notarized by Apple, so first launch is a single Gatekeeper confirmation — no right-click-Open, no trip to System Settings.

macOS 13 (Ventura) is the floor. If you installed the universal build on an Apple silicon Mac, the next update moves it to the Apple silicon build on its own; there is nothing to reinstall.

Homebrew. The cask lives in the PwrDrvr tap:

brew install --cask pwrdrvr/tap/pwrgit

It installs the same signed app as the DMG, and is published when a release is promoted to Stable. PwrGit still updates itself from inside the app; brew upgrade --cask --greedy pwrdrvr/tap/pwrgit also works if you would rather Homebrew did it.

PwrGit asks for no system permissions on macOS. It reads and writes the folders you point it at and nothing else.

Windows

  1. Download PwrGit.Setup.exe.
  2. Run it. It installs per user, so it does not prompt for administrator rights, and it lets you change the install directory.
  3. Launch PwrGit from the Start menu.

The installer and the app are code-signed, and the publisher name is checked on the signed binary before a release ships, so SmartScreen should not interrupt you.

Each release also carries a PwrGit-windows-SHA256SUMS file. It lists the version-stamped installer, PwrGit-<version>-windows-x64-setup.exe — PwrGit.Setup.exe is the same bytes under a stable name, but only the versioned name appears in the checksum file.

Windows builds are x64 only. There is no native Arm64 build, so Arm devices run the x64 build under emulation.

Linux

Four formats, each for x64 and arm64:

Format For Stable-name download (x64)
DEB Debian, Ubuntu and derivatives PwrGit-linux-x64.deb
RPM Fedora, RHEL, openSUSE PwrGit-linux-x64.rpm
pacman Arch and derivatives PwrGit-linux-x64.pacman
tar.gz Anywhere; no package manager PwrGit-linux-x64.tar.gz

For arm64, replace -linux-x64. with -linux-arm64. in every name and command on this page.

Debian / Ubuntu

base=https://github.com/pwrdrvr/PwrGit/releases/latest/download
curl -fLO $base/PwrGit-linux-x64.deb
sudo apt install ./PwrGit-linux-x64.deb

Fedora / RHEL (zypper install takes the same URL on openSUSE)

base=https://github.com/pwrdrvr/PwrGit/releases/latest/download
sudo dnf install $base/PwrGit-linux-x64.rpm

Arch

base=https://github.com/pwrdrvr/PwrGit/releases/latest/download
sudo pacman -U $base/PwrGit-linux-x64.pacman

The packages are named pwrgit, install the app under /opt/PwrGit, and add PwrGit to your desktop’s application menu with its icon at the standard desktop-theme sizes (from 0.32.0; earlier packages could show a blank launcher icon). They depend on nothing outside the package for Git: the bundled Git and Git LFS come with it.

Portable archive. Download PwrGit-linux-x64.tar.gz, extract it wherever you keep applications, and run pwrgit from the extracted directory. An archive cannot update itself — see Updates on Linux.

Checksums. Each architecture has its own PwrGit-linux-<arch>-SHA256SUMS, listing both the versioned and the stable-name files:

base=https://github.com/pwrdrvr/PwrGit/releases/latest/download
curl -fLO $base/PwrGit-linux-x64-SHA256SUMS
sha256sum --check --ignore-missing PwrGit-linux-x64-SHA256SUMS

Release CI installs, launches and removes the DEB on Ubuntu, x64 and arm64, with Electron’s sandbox left on. The RPM and pacman payloads are validated on Ubuntu too; installing them on Fedora or Arch is checked by hand rather than in CI.

Package filenames on the release page are versioned per format — amd64 / arm64 for DEB, x86_64 / aarch64 for RPM, x64 / aarch64 for pacman. The stable names above are always x64 / arm64.

First launch

A new profile opens on a short setup wizard. It does not scan your disk uninvited — the third step is where you tell it where to look. Skip setup (or Escape) closes it at any step, and Help → Replay First-Run Setup… brings it back later.

  1. Identity. The author name and e-mail your commits from this profile carry. Both are prefilled from git config --get user.name / user.email. Saving writes them to the PwrGit profile only; ~/.gitconfig is not edited. If your global config sets a different identity for some folders with includeIf, the wizard says so, and commits there keep that identity.
  2. Forges. GitHub, GitLab and GitCafe, each with its live state. A signed-out forge shows the exact command to run in a terminal (gh auth login, glab auth login), and the row updates itself once you have. This step is optional — without a forge, PwrGit still finds, branches, commits and pushes. See Forges.
  3. Repo folders. Add the folders your code lives in. Adding ~/github once covers ~/github/org/repo. The scan looks five levels down for a .git entry and stops at each repository it finds; it never opens folders whose names start with a dot (.ssh, .aws, .gnupg), and skips node_modules, dist, out, build, target, vendor, .cache and macOS Library. It reads directory names, not file contents. Adding your home folder works, but the wizard advises against it: the walk passes thousands of directories that are not code on every rescan.
  4. Review. What was found — repositories, worktrees, folders — and what each sidebar lens will show once you start working. Start working closes the wizard.
The first-run setup wizard on step 3, Repo folders: Which folders hold your repositories? Steps 1 and 2 are checked, with the author name and GitHub · GitCafe. The list holds /Users/huntharo/Developer with a remove button, then + Add a folder…. Below: Skip setup, Back, and Scan 1 folder.
Step 3 of the setup wizard. The folder you add becomes a group heading in the sidebar.

Per-repository state — ahead, behind, uncommitted — is read when you first open or fetch a repository, not during the scan, which is why the Focused, Behind and Stale lenses start empty. The sidebar rescans on its own once a day.

If you work under more than one identity — a company address and a personal one — make a profile for each rather than switching git config by hand. Each profile gets its own window, and Command+1 through Command+9 (Ctrl+1–Ctrl+9) switch between the first nine. See Profiles.

New worktrees are created under ~/wt/<repo>/<branch>. Worktrees you created yourself elsewhere are found and listed wherever they are — see Worktrees.

Updates

PwrGit checks for updates on its own — about ten minutes after a first launch, then hourly — and downloads them in the background. Help → Check for Updates asks now: it opens a card with the download’s progress and size and a Cancel button, then offers Restart when the build is ready. Check for Update in Settings → Updates does the same and answers inline.

On macOS and Windows a downloaded update installs when you press Restart to Update (<version>), or the next time you quit normally. Until then nothing is replaced.

Two independent choices decide which builds reach you:

Choice Options What it means
Release train Stable, Beta Stable is the smoke-checked train. Beta builds come off main.
Update track Latest, Prerelease Latest is smoke-checked within its train. Prerelease is newer and may not install. Beta · Prerelease also picks up Stable candidates that are ahead of Stable · Latest, so it never trails the Stable line.

That is four slots, and Settings → Updates shows the version currently published in each one, with a link to its release notes, so you can see what a switch would move you to. A slot reading Unavailable has nothing published yet; Beta stays selectable regardless. Until you pick a slot, PwrGit follows the build you installed — a stable version follows Stable · Latest. Picking a slot, or a newer release turning up in it, starts the download right away.

Stable · Latest is the right answer unless you have a reason to want otherwise.

The request budget. Release checks read GitHub’s public API, which allows 60 anonymous requests an hour per IP address — shared by every machine behind that address. PwrGit keeps a persistent budget in its data folder: at most one automatic release check an hour, held across restarts and channel changes, backing off after failures and honoring GitHub’s rate-limit reset. A manual check skips the hourly cadence but still waits out a known rate-limit reset.

Updates on Linux

DEB, RPM and pacman installs check for and download updates in-app, like the other platforms. Installing is different: a Linux update only installs when you press Restart, which asks for administrator authorization to install the package. An ordinary quit never installs anything. If authorization is canceled or the install fails, the downloaded update stays offered and Restart can be tried again.

When an update cannot install, Settings → Updates and the Check for Updates card show a terminal command to do it by hand, with Copy update command. It downloads the matching package and runs sudo apt install, sudo rpm -Uvh --oldpackage or sudo pacman -U on it — close PwrGit first.

The .tar.gz archive cannot update itself. PwrGit says so in the same places. To update, download the new archive for your architecture, close PwrGit, and replace the extracted directory. If you want in-app updates, install a native package instead.

Uninstall

macOS — quit PwrGit and drag it from Applications to the Trash. Homebrew installs: brew uninstall --cask pwrgit.

Windows — uninstall PwrGit from Settings → Apps → Installed apps, or from Add or Remove Programs.

Linux — remove the package with the same tool that installed it:

sudo apt remove pwrgit       # Debian / Ubuntu
sudo dnf remove pwrgit       # Fedora / RHEL
sudo zypper remove pwrgit    # openSUSE
sudo pacman -R pwrgit        # Arch

For the archive, delete the extracted directory.

None of these removes your data. PwrGit keeps its index, settings and logs in its own application-data folder:

Platform Data Log
macOS ~/Library/Application Support/PwrGit/ ~/Library/Logs/PwrGit/main.log
Windows %APPDATA%\PwrGit\ %APPDATA%\PwrGit\logs\main.log
Linux ~/.config/PwrGit/ ~/.config/PwrGit/logs/main.log

The data folder holds pwrgit.db (the repository and worktree index), settings.json, the update-check budget, the generated config for the bundled Git, local agent authorizations, and caches such as commit author avatars. Delete it to remove every trace; keep it to preserve your profiles and pins across a reinstall.

Your repositories and worktrees are untouched by any of this. They are ordinary directories that PwrGit indexed — removing the app removes the index, not the checkouts. If you want the worktrees gone too, remove them from inside PwrGit first (see Remove a worktree), because deleting the directories by hand leaves stale administrative entries in each repository’s .git.

Not yet