CircleCI "Workflow halted" - Job Requires Approval
An approval job (type: approval) is a manual gate. The workflow shows On Hold and halts until a person approves it; jobs that require the approval will not run beforehand.
What this error means
The workflow status is on hold, and downstream jobs never start because they require an approval job that nobody has approved.
Workflow halted: job 'hold-deploy' requires manual approval.
Downstream jobs (deploy) are pending until approval is granted.Common causes
Approval job not yet approved
A type: approval job blocks downstream jobs that require it.
Approval job placed too early
A gate before most of the pipeline pauses everything behind it.
How to fix it
Approve the gate, or reposition it
Approve the job in the UI, or move the approval gate later so earlier jobs run first.
workflows:
release:
jobs:
- build
- hold-deploy:
type: approval
requires: [build]
- deploy:
requires: [hold-deploy]Approve from the app
- Open the on-hold workflow in the CircleCI app.
- Click the approval job and approve it.
- Confirm downstream jobs start.
How to prevent it
- Place approval gates late, after build/test jobs.
- Document who is responsible for approving releases.
- Use contexts and restrictions instead of approvals where automation is preferred.