Power BI Desktop Won't Publish - A Field Guide to the Usual Suspects
There's a specific flavour of frustration reserved for finishing a Power BI report at 4:45pm on a Friday, hitting Publish, and watching it fail with an error that tells you precisely nothing. "Something went wrong." Thanks. The report is done, the data is right, the stakeholders are waiting, and the last step - the one that's supposed to be a single button - is the one that's broken.
We support Power BI across a lot of Australian organisations, and publishing failures are one of the most common "quick call" requests we get, partly because the error messages are vague and partly because the real cause is almost never where people first look. Microsoft's troubleshooting documentation for Desktop publishing covers the official list, and it's worth a read, but after years of these calls I can tell you the failures cluster into a handful of patterns. Here they are, roughly in order of how often we see them.
Start with the boring one - sign-in state
A surprising share of publish failures are authentication problems wearing a disguise. Desktop caches your sign-in, and that cached token can go stale in ways that produce misleading errors, especially after a password change, a conditional access policy update, or IT doing something to your account overnight.
The fix takes thirty seconds: sign out of Power BI Desktop completely (File, then your account, then sign out), close Desktop, reopen, sign back in, try again. Do this before anything else. I'd estimate it resolves a quarter of the publish problems we get called about, and it's mildly embarrassing how often a "we've been blocked all morning" escalation ends there.
The related trap is being signed into the wrong account. Consultants and anyone with guest access to other tenants hit this constantly - you're signed in with your account in Tenant A, trying to publish to a workspace in Tenant B. Desktop will happily let you attempt it and the failure won't clearly say why. Check the account name in the top-right corner matches the tenant that owns the destination workspace.
Workspace permissions, and the read-only surprise
To publish to a workspace, you need the Contributor role or better. Viewer isn't enough, and Member of the underlying Microsoft 365 group isn't automatically enough either, depending on how the workspace was set up. The classic scenario: someone shares a workspace with a new analyst, the analyst can see everything and assumes they can publish, and the publish fails. From the analyst's side it looks like a technical fault. It's an access request.
There's a nastier variant. If the semantic model already exists in the workspace and someone has taken over ownership of it, or it's been configured in ways that conflict with your local copy, the overwrite can fail even though your permissions look fine. Which brings us to the biggest category.
The "report with that name already exists" family
When you publish a file whose name matches something already in the workspace, the service wants to replace it. Several things can block that, and this family of failures produces the most confusing errors.
The most common blocker in modern tenants: the existing semantic model has a different configuration than your local one. If someone has enabled the large semantic model format, set up incremental refresh, or the model was published from a newer version of Desktop with features your copy doesn't have, the overwrite can be rejected. Incremental refresh is a particular trap - once a model with incremental refresh has been refreshed in the service, it contains partitioned data that your local .pbix simply doesn't have, and Desktop versions historically couldn't overwrite it without either dropping that data or refusing outright. The modern answer for models like that is deployment via XMLA endpoint or deployment pipelines rather than the Publish button. If your team has reached the incremental refresh stage, honestly, you've outgrown click-to-publish for that model and it's time for proper deployment tooling - the kind of setup our Power BI consultants put in place as a standard engagement.
Then there's the renamed file trick, which catches everyone eventually. Publishing matches on name. If you rename your local file from "Sales Report" to "Sales Report v2" and publish, you don't update the existing report - you create a second one, and now the workspace has two reports, one stale, and half the business is looking at the wrong one. Not technically a failure, but it generates more support tickets than most genuine errors. Agree on file naming and never version reports by filename.
Size limits
A .pbix upload is capped at 1 GB for Pro workspaces, and 10 GB on Premium/Fabric capacity. If your publish fails partway with a size-related complaint, or just times out, check the file size.
But here's the consulting opinion: if your .pbix is anywhere near 1 GB, the size limit is not your problem, your model is. A file that large almost always means imported columns nobody uses, no aggregations, datetime keys with second-level precision destroying compression, or raw transactional grain where a summarised grain would serve every visual. We've taken 900 MB files down to 80 MB in a day just by removing unused columns and fixing granularity, and the report got faster too. The publish failure was the symptom that finally got someone to look at the model. Treat it that way.
Network, proxy and the corporate firewall
Publishing uploads your file to the Power BI service, which means it has to get through whatever your organisation puts between you and the internet. SSL inspection appliances, aggressive proxies and VPN split-tunnelling rules all interfere with publishes, usually as timeouts or generic failures on large files while small files sail through.
Diagnostics that actually work here: try publishing a tiny test .pbix (a single card visual, no data). If small succeeds and large fails, it smells like a proxy or timeout issue rather than permissions. Try from a different network - a phone hotspot is the classic control test. If it publishes fine from the hotspot, take that evidence to your network team, and be specific: Power BI needs the endpoints Microsoft documents in the Power BI URL allowlist, and SSL inspection on those endpoints causes intermittent upload failures. Network teams respond much better to "these documented endpoints need bypass" than "Power BI is broken".
Tenant settings and information protection
Two quieter causes worth checking when everything above comes up clean.
Sensitivity labels: if your organisation uses Microsoft Purview information protection, a label on the .pbix can block publishing, particularly if the label applies encryption and the service-side configuration doesn't line up, or if you don't have rights to the labelled content you inherited from someone else's file. The error messages here have improved but are still cryptic. If a file was originally created by someone in a different department and won't publish for you, check the label.
Admin blocks: tenant admins can disable publishing to specific workspaces, block export/publish for certain user groups, or restrict My Workspace usage. If one specific person can't publish while colleagues can, and sign-in state is clean, it's usually a group membership or tenant policy matter, not a Desktop problem. Loop in your Power BI admin early rather than reinstalling Desktop, which fixes approximately nothing but consumes an afternoon. People still do it. The urge to reinstall is strong. Resist.
Version mismatch, the quiet one
Power BI Desktop updates monthly and the service moves continuously. Publishing from a Desktop version that's more than a few months old into a service expecting newer model features produces odd failures, and the reverse happens too - a colleague on the latest Desktop publishes a model using a new feature, and now your older Desktop can't overwrite it.
The fix is organisational, not technical: keep Desktop current across the whole team, ideally through the Microsoft Store version or managed deployment so it updates itself. Mixed Desktop versions across a team is a slow leak of weird problems, publishing being just one of them.
A short diagnostic routine
When a publish fails, run this order and you'll resolve most cases in under fifteen minutes: sign out and back in. Confirm the destination workspace and your role in it. Check whether a same-named item already exists and how it's configured, especially incremental refresh and large model format. Check the file size. Test with a tiny file, then from another network. Then check labels and tenant policy with your admin.
And if publishing failures are a recurring theme rather than a one-off, that's usually a sign the whole publish-and-refresh workflow needs attention - source control, deployment pipelines, model ownership, the works. That's the sort of foundation our Microsoft Fabric consultants build for analytics teams that have grown past the click-Publish stage, and it turns this entire post into a non-issue. In the meantime, the official troubleshooting guide is the reference to keep bookmarked for the Friday afternoon it happens to you.