A native macOS git client (SwiftUI, macOS 27+) in the spirit of GitHub Desktop, with multiple GitHub accounts that switch automatically per folder or repo. See SPEC.md for decisions and the roadmap.
Website: gitos.angelsaikia.com
Download the latest GitOS .dmg from the
Assets section of the release page. You don't need to clone this repo or install any developer tools
beyond git.
Requirements: macOS 27 or later on Apple Silicon (M-series; Intel Macs aren't supported), and git.
If you don't have git, run xcode-select --install in Terminal.
Or install with Homebrew:
brew tap dhunu/tap
brew install --cask gitos- Open the
.dmgand drag GitOS onto Applications. - Open GitOS from Applications. macOS blocks it the first time because the app isn't notarized by Apple. Click Done (don't move it to the Trash).
- Go to System Settings › Privacy & Security, scroll down, and click Open Anyway next to the GitOS message. Confirm with your password.
You only need to do this once per version. If macOS says the app is damaged instead, run this and open it again:
xattr -dr com.apple.quarantine /Applications/GitOS.app- Nothing to configure for GitHub sign-in: GitOS ships with a built-in OAuth Client ID. To use your own
OAuth App (homepage and callback
http://localhost, Enable Device Flow ticked), paste its Client ID into Settings › GitHub. - Settings › Accounts › + for each GitHub account. Keep the browser signed into the account you're adding; use a private window for the second one. If an organization hasn't approved GitOS, its private repositories show as "not found", even though your account has access. You can ask the organization to approve GitOS, or click Use a Token… when adding the account and paste a classic personal access token. Tokens don't need organization approval unless the organization blocks them. If it uses SSO, also choose Configure SSO next to the token on GitHub.
- Settings › Folder Rules: e.g.
~/Work→ work account. Everything else uses the default account. The account button in a repo's toolbar overrides it per repo.
Settings › General has themes (Monokai, Tokyo Night, Dracula, One Dark Pro, GitHub, Nord, Catppuccin, Solarized
and more), background fetch, notifications, the menu bar icon, and
Install gitos Command (then gitos . in any repo opens it in GitOS).
✨ commit messages (⌘⇧G) and PR descriptions use whichever you pick in Settings › AI: the
Claude Code or Codex
CLI you're already signed in to, with no API key needed, or an Anthropic API key. To sign in, run claude
or codex login in Terminal.
Tokens live in the macOS Keychain. Account switching is done with per-command -c flags, so
~/.gitconfig and your existing keychain entries are never modified.
GitOS checks for new versions when it opens and every hour while it's running, and downloads them in the background. When an update is ready, Restart to Update appears in the sidebar, the GitOS menu and Settings › General. Nothing installs until you click it: if you quit instead, the update downloads again next time. You can turn the automatic check off in Settings › General, or check yourself with GitOS › Check for Updates…. Your accounts and settings are kept. After an update, macOS may ask to let GitOS read its saved tokens from the Keychain: click Always Allow.
You can also download the new .dmg from Releases and drag
GitOS to Applications, choosing Replace.
- Delete
GitOS.appfrom Applications. - Delete
~/Library/Application Support/GitOSto remove your settings. - In Keychain Access, delete the items named GitOS GitHub token.
- If you installed the
gitoscommand, delete it from/opt/homebrew/bin,/usr/local/binor~/.local/bin.
./scripts/build-app.sh # → build/GitOS.app
./scripts/build-app.sh --install # also copies to /Applications
./scripts/make-dmg.sh # → build/GitOS-<version>.dmg to share
./scripts/make-icon.sh # re-renders Resources/AppIcon.icns
./scripts/release.sh 0.2.0 # publishes a GitHub Release that installed apps update to
swift test # parser + real-git integration testsContributions are welcome. See the contributing guide to get started, and SECURITY.md to report a security problem.
GitOS is available under the MIT License.