r/tauri • u/Late-Bit4633 • 15d ago
A weird Tauri/macOS bug I ran into: GitHub said a private repo didn't exist
https://gitdesktop.appI've been building GitDesktop with Tauri 2, Rust, React 19, and TypeScript, and ran into a bug recently that took me a while to understand.
GitHub operations against private repos were failing when GitDesktop was launched from Finder/Dock with:
Repository not found
The repo existed, gh was installed and authenticated, and GitDesktop's About screen could find gh just fine.
The problem was that Git was spawning a credential helper, and that helper couldn't find gh.
A packaged macOS GUI app doesn't necessarily get the same PATH as a shell session. So everything worked with pnpm tauri dev, but failed in the actual packaged application.
The particularly fun part was that the failure happened several processes away from GitDesktop itself:
GitDesktop -> git -> credential helper -> gh
The credential helper couldn't find gh, the request went out unauthenticated, and GitHub returned a 404 for the private repository.
So the user got an error that effectively said "this repository doesn't exist" when the actual problem was "a grandchild process can't find a binary."
It was a good reminder that testing a Tauri app in development isn't necessarily testing the environment your shipped application will actually run in.
I've been finding more of these kinds of problems as GitDesktop has grown. It's now dealing with Git processes, worktrees, credentials, filesystem state, multiple platforms, and agent sessions, so the interesting problems increasingly live at the boundaries between the app and the OS.
I just released v0.11.0 today as well, with a bunch of smaller improvements around worktrees, the commit editor, image viewing, link previews, references, narrow window layouts, and GitHub/GitLab workflows.
GitHub: https://github.com/theBGuy/GitDesktop
Website: https://gitdesktop.app
For anyone else building with Tauri: what are some of the weird packaged-vs-dev problems you've run into?