Automatic fork creation when you can’t push

One of the most common ways to get stuck is cloning a repository you don’t have write access to, then trying to push your work. Before GitHub Desktop 2.3, that meant either copying all of your changes to a new fork or manually reworking the Git configuration. That friction commonly trips up new open-source contributors, but it’s not limited to them; anyone juggling several repositories can accidentally land in the same spot.

GitHub Desktop 2.3 detects this situation the moment you try to push. Instead of failing, it explains that you don’t have push access to the cloned repository and offers to create a fork for you automatically. Your changes are then moved to that fork with a single click—there’s no need to produce a separate fork first or run a series of Git commands to move branches. The goal is to make the common path for starting an open-source contribution match the way people expect it to work.

Early warning for protected branches

Working on a protected branch is another easy trap: you start a fix, go several commits deep, and then discover that the branch is locked down and you can’t push. Getting out of that situation usually takes a handful of Git commands and some careful thinking about where each commit needs to end up.

GitHub Desktop 2.3 heads that off before you even commit. It now communicates permission and branch-protection information from GitHub.com to your local machine, so when you begin changes on a branch you’re not allowed to push to, it shows the warning while the fix is still easy—at the very beginning. You can create a new branch right away and keep working without losing any of your progress.

Bringing GitHub.com state to your desktop

Together, the two features in GitHub Desktop 2.3 share one idea: the permission rules that live on GitHub.com should also inform the code you write locally. When the desktop app knows about your rights ahead of time, it can steer you onto a valid path instead of letting you find out after the fact. That removes two recurring sources of friction and the workarounds people memorized for them, freeing you to focus on building rather than on Git cleanup.

This pattern—using GitHub.com data to guide desktop actions—sets the stage for future releases that make the line between the remote repository and your local work even easier to ignore.