Workflow/actions status badge giving 404 on private repo in an organization

I tried to put a GitHub Actions workflow badge ony a private repo, however, it’s always giving me 404


Don’t badges work on private repos?
The workflow’s file is correct.


Hey @siedlerchr,

Thanks for reaching out and for taking the time to submit this report, our engineering team is working on it and I’ll post an update here once I have some news.


There is no any information about badges works on private repos or not on Docs. And currently it returns 404


Try replacing: 


With the name of your workflow.

Path is only used on workflows that don’t have a name.

Sorry that’s confusing. We’ll be adding a button to autogenerate these URLs for you in the near future.


I tried it today and it works.
Except for linking, it would be nice if a click on the badge would lead to the actions tab.


Recently I ran into a similar problem (tried to use the path syntax for a named workflow).

But is there a specific reason why we can’t we use the path syntax for a named workflow? Some workflows have names with non-English-based, URL-unfriendly characters, and there are cases where path-based URLs look cleaner.


I would request to be able to use both name or file path. The name of the workflow might change due to stylistic reasons but the path will most likely (or might) stay the same.


This solution didn’t work for me, I have a private repository that uses the named workflow:

[![Actions Status](<MY_USERNAME>/<REPOSITORY_NAME>/workflows/Semantic%20release/badge.svg)](<MY_USERNAME>/<REPOSITORY_NAME>/actions)

The badge is being displayed, but it always shows “no status”.



It takes some time until the badge is generated with the correct value.

For me it works now in a private repo


@siedlerchr works for you by replacing


with the name of the workflow as @mscoutermarsh suggested? 


Action Status


Doesn’t seem to work for me (displaying badges for a private repo).<org>/<repo>/workflows/<workflow-name>/badge.svg

Works as long as I open it in a browser that has Github session open. If I open up the above link in the incognito mode, it returns 404 error.

I couldn’t find any way to add some authentication / token to that request. Similar issue on SO: github - Getting the status of a badge from a private repository - Stack Overflow.

What I want to achieve is to have an internal developer portal app that displays CI status of each app. I could probably integrate it using API, but badges seem to be simple and do what I want. Perhaps they were not designed for such use cases.


Hi @mscoutermarsh,

Not working for me either using the path or name for a private repo. The name URL works where there is a GitHub session, but not in an “incognito window”.

Also asked here continuous integration - Does Github support anonymous access to workflow status badges for private repositories? - Stack Overflow.

1 Like


Working well in browser, but, if I use the badge_url from the API inside my html github dashboard, I always get the 404 (using the same browser where github is logged in). It doesn’t make sense.

In the HTML I got the 404 icon, but when I click the 404 icon and click “Open image in a new tab” it works as expected.

And this only happens for private repos.

Can you give some advice? Thanks.