Version Control problems

How to resolve “refusing to allow an integration to create or update .github/workflows/main.yml” on GitHub Desktop?

This post was most recently updated on November 12th, 2019.

< 1 min read.

Ran into this one when trying to push my merge from upstream. I was adhering to my own instructions (see below for a link), but got the error (further below) that stopped me from using GitHub Desktop to push (sync) at all.

So, the error I ran into:

! [remote rejected] master -> master (refusing to allow an integration to create or update .github/workflows/main.yml)
error: failed to push some refs to [repositoryname]

This was take weird – I hadn’t made any changes to said file, and I don’t think anyone else had, either.

This is likely an unintended feature of GitHub, and GitHub Desktop can’t do anything about it. However, there’s a nifty workaround available!


Table of Contents

A number of GitHub issues propose that this issue can be circumvented by actually committing a change removing the yaml file in question from the repository. However, if you’re merging from an upstream repository, you don’t usually want to do this! So we need to find another way.

Whereas GitHub Desktop is using OAuth, and running into this issue, Git Bash (the console application you use to merge upstream in my earlier example as well) doesn’t. And it’s also free from this issue, as it’s not considered “an integration”, and whatever it’s trying to do (or not do) to the yaml file just works.

So, in short – instead of using GitHub Desktop, open Git bash and run this:

cd [yourprojectpath] # after this, make sure the command line shows the right branch name!
git push

Et voila! You should be good.


0 0 votes
Article Rating
Notify of

most voted
newest oldest
Inline Feedbacks
View all comments