"Skipping a deployment with the heroku provider because this branch is not permitted: main" despite no condition

A deployment clause has a default implicit condition of branch: master. Your branch main doesn’t fulfill it.

So depending on your needs, you need to either adjust that condition (e.g. branch: main) or remove it with all_branches: true.