Git Hooks Finally Work Properly
GitHub Desktop has struggled with Git hooks compatibility for years, particularly on Windows where the application ships with an embedded Git installation isolated from your shell environment. This prevented hooks from accessing critical dependencies like Node version managers (nvm), environment-specific configuration, or tools not bundled with Desktop. Additionally, hook failures were indistinguishable from other Git errors, and terminal escape codes rendered as garbled text.
What's New in 3.5.5
Hooks now have full access to your shell environment by sourcing configuration files like .bash_profile or .zshrc. This resolves the majority of compatibility issues with version managers and environment-dependent scripts. Key improvements include:
- Environment variable support: Hooks can now access all variables from your shell configuration
- Real-time output with proper formatting: Terminal colors and formatting now display correctly
- Hook control: Enable/disable hooks in Settings > Git > Hooks
- Bypass options: Skip commit hooks preemptively via the gear icon, or bypass a failed hook without aborting your commit
Additional Improvements
Beyond hooks support, version 3.5.5 includes:
- Warp terminal support for Windows
- Open repositories in different editors without changing default preferences
- Quick GitHub viewing for branches via right-click menu
- Fixed crashes when Git output contains emoji or multibyte characters
- Resolved repository state issues when switching branches with submodules
- Copilot-authored commits now display the Copilot avatar
Getting Started
Automatic updates are rolling out progressively, or download v3.5.5 directly from the GitHub Desktop releases page. Report issues or provide feedback on the GitHub Desktop issue tracker.