Repository navigation
Releases
GitOS 0.2.0
AI code review, everywhere you'd want a second opinion
GitOS 0.2.0 adds a code reviewer that runs on your AI — the Claude Code or Codex CLI you're already signed in to, or an Anthropic API key. No bot to install, no per-seat subscription, and your code never goes to a middleman service.
Review in four places
- Pull requests — Review with AI on any PR's detail pane. Findings appear inline: severity, confidence,
file:line, and a suggested fix. - Triage mode — a Full review link on every row, with a verdict chip (
1 blocker/reviewed ✓) so you can sweep a flooded queue. - Before you commit — Review Changes in the commit box reviews exactly what the commit would contain. Flagged files get a marker in the list; click a finding to jump to its diff.
- Any commit — Review Commit in the History tab, handy for auditing merged AI-generated work.
Built to be trusted
- Reviews see more than the diff: the full changed files, your repo's review rules (
.gitos/review.md,REVIEW.md,CLAUDE.md, orAGENTS.md), and the linked issue — so the verdict includes whether the change actually does what the issue asks. - Nits are collapsed by default. Noise is the enemy; blockers and warnings lead.
- Dismiss a finding once and GitOS won't raise it again in this repo.
- Fix with AI copies an agent-ready prompt for Claude Code or Codex. Post as PR Comment publishes the review to GitHub — only when you click it.
- Reviews are advisory. Nothing ever blocks your commit or merge, and nothing runs without you asking.
Also in this release
- Releases are now automated: merging a labeled PR to main builds, signs, and publishes automatically (
release:major/minor/patch/skip).
Install: download the DMG below, or brew tap dhunu/tap && brew install --cask gitos. Existing installs update in place via Sparkle. Requires macOS 27+ on Apple Silicon.
GitOS 0.1.6
Triage mode: for maintainers drowning in pull requests
New: Triage on the Pull Requests tab
Click Triage in the Pull Requests toolbar and the list reorganizes around review-worthiness instead of recency:
- Duplicate groups. Near-identical PRs (the same fix submitted by different people) are clustered. Review the best one, then close the rest with thanks in one action — each gets a polite comment naming the kept PR before it closes.
- Ranked, not chronological. Every PR gets a 0–100 score from cheap signals: CI state, whether it links an issue, the author's history with the repo, and whether the description matches the size of the diff. Hover the score for the reasons.
- AI pre-review, on demand. Your signed-in Claude Code or Codex CLI reads the diff and answers one question in a paragraph: does this change do what it claims? It starts with "Matches:", "Mismatch:" or "Unclear:" — a hint next to each PR, never a decision.
- Batch close with dignity. Select any set of PRs and close them with one editable comment, posted on every PR before it closes. No contributor gets a silent dismissal.
Nothing changes on GitHub without your click: scores, clusters and verdicts only reorder what you see.
Also
- Repo logos in the sidebar now ship for everyone (introduced in 0.1.5).
- GitOS can now be installed with Homebrew:
brew tap dhunu/tap && brew install --cask gitos.
Full Changelog: v0.1.5...v0.1.6
GitOS 0.1.5
Recognize your repos at a glance
New: repository logos in the sidebar
Each repository in the sidebar now shows a real logo instead of a plain initial, so you can spot the right repo instantly:
- Your repo's website icon. If the GitHub repository has a website set (the "homepage" field on the repo page), GitOS fetches that site's icon — a React repo shows the React atom, a Tailwind repo shows the Tailwind wave.
- Owner avatar as backup. If the repo has no website or the site has no icon, GitOS shows the owner's GitHub avatar instead, which makes organization repos easy to group visually.
- Initial tile as the fallback. Repos without a GitHub remote keep the familiar tinted initial tile.
Logos load once in the background and are cached on disk, so the sidebar stays fast and works offline. Private repositories use the account that GitOS already resolved for that repo, so their logos load too.
Tip: to give your own project a logo, set the Website field on its GitHub repository page and make sure that site serves a favicon or apple-touch icon.
Also in this release
- GitOS is officially MIT-licensed, with contributing, security and code-of-conduct guides for new contributors.
- GitOS has a website: https://gitos.angelsaikia.com — built in the app's own visual language, with every theme to try in the browser.
Full Changelog: v0.1.4...v0.1.5
GitOS 0.1.4
Themes, and updates that wait for you
New: 14 themes
Choose a theme in Settings › General › Appearance. Each one recolors the window, sidebar, inputs, diffs and commit graph, and switching is instant, so you keep your place and your commit draft.
Dark+, Monokai, Tokyo Night, Dracula, One Dark Pro, GitHub Dark, GitHub Light, Nord, Catppuccin Mocha, Night Owl, Gruvbox Dark, Rosé Pine, Solarized Dark and Solarized Light.
The original GitOS theme is still the default, and it follows your Mac's light or dark mode.
New: updates download in the background
- Automatic checks. GitOS checks for updates when it opens and every hour while it's running, then downloads them quietly.
- You choose when to install. When an update is ready, Restart to Update appears in the sidebar. Click Later to hide it, and it stays available in the GitOS menu and Settings › General.
- Quitting doesn't install. If you quit instead, GitOS cancels the install and downloads the update again next time you open it.
You can turn automatic checks off in Settings › General.
Good to know
- Save your commit message first. Restarting to update clears any message you're still typing.
- This update uses the old window. Updating from an earlier version shows the previous update window one last time. The new flow starts from the next update after this one.
- Force-quitting. If GitOS crashes or is force-quit while an update is ready, the update may still install.
- Selected rows. In the sidebar and lists, the selected row stays GitOS teal in a focused window, whichever theme you use.
Full Changelog: v0.1.3...v0.1.4
GitOS 0.1.3
Work with organization repositories, without waiting for approval
New: sign in with an access token
Organizations can block apps they haven't approved, and GitHub turns this on by default for new organizations. When that happens, their private repositories look like they don't exist to GitOS, even if your account has access and other apps work fine.
You can now add an account with a classic personal access token instead:
- Go to Settings › Accounts › + and click Use a Token…
- Click Create a Classic Token on GitHub. The permissions GitOS needs are already ticked.
- Paste the token and click Add Account.
If you've already added that account, the token replaces its existing sign-in. Your token is stored in your Keychain.
Good to know:
- Tokens don't need organization approval, unless the organization blocks classic tokens. If it does, an owner needs to approve GitOS.
- If the organization uses SSO, also click Configure SSO next to the token on GitHub.
- A classic token can reach everything your account can, so set an expiry date. When it expires, add a new one with Use a Token…
- Check your organization's rules before using a token on work code.
Fixed
- Misleading "Repository not found" advice. GitOS used to suggest you had the wrong account. For repositories you don't own, it now explains that the organization may need to approve GitOS.
- Faster way out of that error. The error now offers Use an Access Token… and Review Access on GitHub, so you can fix it from there.
Full Changelog: v0.1.2...v0.1.3
GitOS 0.1.2
Find every branch, and see everything GitHub has
New
- Searchable branch picker. Click the branch name in the toolbar and start typing. Use ↑ ↓ and Return to pick a branch.
- Remote branches are visible. Branches on GitHub that you've never checked out now appear in a Remote section. Choosing one creates a local branch that tracks it.
Fixed
- Branches missing from lists. Remote-only branches can now be used as a pull request base, merged, and opened in a new worktree.
- Pull Requests and Issues stopped at 50. Both lists now load up to 500 of the most recently updated items, and show a notice with a GitHub link if there are more. Pull requests no longer use up space in the Issues list.
- History stopped at 500 commits. A Load More button now appears when there are older commits.
- "Bad credentials" in Pull Requests and Issues. A rejected sign-in now shows the Reconnect banner on these tabs too.
- Confusing "Repository not found" errors. If the repository may belong to another account, or the account lacks permission, GitOS now suggests switching accounts.
- "Commit 0 files to main". The button now says "Stage changes to commit" or "Nothing to commit".
Full Changelog: v0.1.1...v0.1.2
GitOS 0.1.1
Bug fix: GitHub accounts signing out after a few hours
Reconnect your accounts once after installing 0.1.1: go to Settings › Accounts and click Reconnect… on each one. Keep your browser signed in to the account you're reconnecting. After that, you won't need to do this again.
What went wrong
A few hours after signing in, fetch, pull and push stopped working on private repositories with this error:
remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/…'
Public repositories kept working, because they don't need a sign-in. Reconnecting fixed it, but only for a few hours.
Cause
The GitOS OAuth app had GitHub's Token expiration feature turned on, so every sign-in lasted only 8 hours. GitHub also sends a refresh token for renewing a sign-in, but GitOS threw it away. Nothing was wrong with your Keychain, and your tokens weren't leaked or revoked.
The fix
- Sign-ins no longer expire. Token expiration is now off for the GitOS OAuth app, so new sign-ins from the built-in app keep working.
- GitOS can renew expiring tokens. If your own OAuth App has token expiration on (Settings › GitHub), GitOS keeps the refresh token and renews before expiry, on launch, when your Mac wakes, and once more if GitHub rejects a token.
- Clear message when a sign-in stops working. A banner names the account and offers Reconnect…, replacing the raw git error.
- No pointless retries. Background fetches for that account pause until it's reconnected, then resume automatically.
Updating from 0.1.0
0.1.0 includes auto-update, so you can use GitOS › Check for Updates…, or download the .dmg below. Either way, reconnect your accounts afterwards, because sign-ins from 0.1.0 don't renew.
Full Changelog: v0.1.0...v0.1.1
GitOS 0.1.0
Full Changelog: https://github.com/Dhunu/gitOS/commits/v0.1.0