Skip to content

macOS

System requirements

Two things decide whether GitAegis runs: your operating system, and your Git. GitAegis is a macOS application. There is no Windows or Linux build. The Git floor is not negotiable: 2.38.0 or newer, already installed.

macOS 12 or later · Apple Silicon and Intel, one universal build · Requires system Git 2.38.0+ · No network required

Supported platforms

One platform, four releases of it, both architectures native.

macOS releases GitAegis supports, by architecture.
VersionApple SiliconIntelNotes
macOS 15 SequoiaSupportedSupported
macOS 14 SonomaSupportedSupported
macOS 13 VenturaSupportedSupported
macOS 12 MontereySupportedSupportedThe Command Line Tools ship Git 2.37.1: below the floor. Install a newer Git first.
macOS 11 Big Sur and earlierNot supportedNot supportedBelow the platform floor. The application will not launch.
  • Supported
  • Not supported

One universal disk image contains both architectures, native. There is nothing to choose between and no Rosetta translation involved.

There is no Windows build and no Linux build. The application has one bundle target, and the filesystem watcher that feeds the Flight Recorder is built on macOS file-system events. This page does not print a support matrix for platforms the application has never been compiled for.

Git 2.38.0 or newer, already installed

GitAegis does not bundle Git and never downloads one. It runs the Git on your machine, with your SSH configuration and your keychain credentials.

  1. Check.

    shell
    git --version

    2.38.0 or higher and you are finished. Below it, GitAegis names the newest Git it found and the path it found it at, and refuses to open a repository rather than starting an operation it cannot complete safely.

  2. macOS 12: the Command Line Tools gotcha.

    Monterey’s Command Line Tools ship Git 2.37.1. One patch release below the floor. Git is installed, Git works, and Git is still too old. This is the single most common reason a first launch fails.

    shell
    brew install git
    git --version
  3. Where GitAegis looks.

    Four absolute paths, in a fixed order (the figure shows them) taking the first Git at or above the floor.

    Your PATH is not consulted, and there is no setting that names a binary. That is why brew install git is enough on macOS 12 with no shell changes, and why a Git that lives only under a version manager is invisible to GitAegis.

  4. Why 2.38.0.

    The floor is set by the Git plumbing GitAegis depends on to read and write repository state safely, and by behaviour it needs to be deterministic. Running below it would mean either silently degrading recovery or discovering the gap during an operation. Neither is acceptable, so the check happens at launch.

At launch: probe four absolute paths, in order

  1. /usr/bin/git
  2. /opt/homebrew/bin/git
  3. /usr/local/bin/git
  4. /opt/homebrew/opt/git/bin/git

PATH is never consulted. The first Git at or above 2.38.0 wins.

Found one

GitAegis runs that Git, with your SSH configuration and your keychain credentials.

Found none at or above the floor

GitAegis says so on startup, naming the newest Git it found and the path it found it at. No repository opens.

The check runs at launch, before any repository opens, never partway through an operation.

Git LFS is a separate install

GitAegis reads LFS status, accounts for missing objects, reads locks, and fetches LFS content. It does not ship git-lfs, and Git does not include it.

Without git-lfs present, the LFS surfaces say LFS is not installed rather than showing nothing or showing wrong numbers. Repositories using LFS still open; pointer files appear as pointer files.

Locks are read-only in GitAegis. It shows you who holds one. It does not take or release locks: use the git lfs command line for that.

shell
brew install git-lfs
git lfs install

Hardware

The floor is modest. The number that matters is disk, and it tracks your uncommitted work rather than your repository.

Memory
4 GB of RAM will run GitAegis. 8 GB is the sensible floor for a working machine, and 16 GB is what you want if your repositories are large or you keep several open. GitAegis’s own footprint is small; Git’s is not, and a large diff is Git’s memory, not ours.
Disk: capsules
This is the number that matters. A capsule holds refs, the index, staged changes, working changes, untracked files, and operation state, so its size tracks the size of your uncommitted work rather than the size of the repository. On a normal working repository, capsules are small. On a repository with a large untracked build directory that is not in .gitignore, they are not: putting build output in .gitignore shrinks them immediately.
Disk: free space
Keep at least 2 GB free. If a capsule cannot be written, the operation is refused: that is the guarantee working correctly, but a full disk turns it into a wall.
Display
1280 × 800 or larger. The interface is laid out for a 1280-wide window and works down to 1024 with panels collapsed. The UI scales 80–200% independently of your system setting.
Accessibility
Full keyboard navigation, visible focus, VoiceOver support, and prefers-reduced-motion respected.

Network requirements

None. Not “mostly none”, and not “only for telemetry”.

GitAegis local Git work needs no account and no service. If you choose to sign in, the app contacts only its configured GitAegis account gateway; Git traffic still goes directly to the remotes you configured.

So there is no host to allow-list, no proxy to configure, and no licence check that could fail and stop you committing. GitAegis works permanently offline because it has no other mode.

Git’s own traffic is separate from all of this. fetch, pull, push, and clone reach the remotes you configured, using your credentials, over your network. That is Git, not GitAegis.

What there is to configure

Hosts to allow-list
None
Proxy settings
None
Licence check
None
Update or telemetry endpoint
None

Known unsupported configurations

Stated here so you find out now rather than during an operation.

Not supported

Operating systems below the floor
macOS 11 and earlier. There is also no Windows or Linux build, not an older one, not a beta one, none.
32-bit anything
The build is 64-bit only, Apple Silicon and Intel.
Git below 2.38.0
Detected at launch and refused, including macOS 12's Command Line Tools Git 2.37.1. GitAegis names the newest Git it found and the path it found it at, rather than starting an operation it cannot finish safely.
A Git that is not in one of the four probed locations
A Git installed by Nix, asdf, mise, or into a custom prefix is not found, because GitAegis resolves an absolute path rather than reading your PATH, and there is no setting to name one. Install a Git into one of the probed locations.
Headless and remote-desktop use
GitAegis is a desktop application and needs a graphical session. There is no server mode, no web mode, and no command-line companion.
Repositories on network filesystems and cloud-sync folders
SMB, NFS, Dropbox, iCloud Drive, OneDrive and Google Drive are not supported for active repositories. File watching is unreliable across those boundaries, so the Flight Recorder misses changes, and their file-locking semantics can break Git's own atomicity assumptions. GitAegis will open such a repository and will warn you. Recovery is weaker there, and saying so is better than implying otherwise.
Case-conflicting paths on a case-insensitive filesystem
A repository containing paths that differ only by case behaves the way Git behaves on macOS: badly. GitAegis does not fix this and does not pretend to.
Hooks you rely on, during a repair
Hooks run as Git runs them in normal operation. In Safe Mode, core.hooksPath is pinned to /dev/null, so hooks do not run while you repair a repository. .gitattributes content filters cannot be wholesale disabled at all.
Very large working trees
GitAegis delegates to your Git, which is as fast as your Git is. But capsule capture time tracks the size of your working tree, so a repository with an enormous number of untracked files makes every risky operation wait longer. That is the design working as intended, and it is worth knowing before you rebase a 40 GB checkout.

Compatibility questions

Free edition · No account required

A recovery capsule before every risky Git operation.

You see the exact commands before they run, and the operation is refused if the capsule cannot be written.

Requires Git 2.38.0 or newer, already installed.

Every risky operation, in this order

  1. Previewthe exact commands, shown before anything runs
  2. Capsulerefs, index, staged and working changes, untracked files, operation state: written to disk first
  3. Executethe commands as shown, or not at all
  4. Journalplan, commands, capsule id, outcome
No capsule, no operation. Restore plans, previews, and takes its own capsule.