hashicorp/terraform · warning
Task Stage '%s' awaiting override.
Error message
Task Stage '%s' awaiting override.
What it means
Emitted by waitTaskStage (backend_taskStages.go:46-47) when a TaskStage reaches the AwaitingOverride status. This status means a task (typically a Sentinel policy check configured as soft-fail/advisory) finished with results that block the run unless a user with override permission explicitly approves continuing. The error is surfaced so the CLI stops polling and informs the user that a manual decision is required in the UI.
Source
Thrown at internal/backend/remote/backend_taskStages.go:47
}
stage, err := b.client.TaskStages.Read(ctx.StopContext, stageID, &options)
if err != nil {
return false, generalError("Failed to retrieve task stage", err)
}
switch stage.Status {
case tfe.TaskStagePending:
// Waiting for it to start
return true, nil
case tfe.TaskStageRunning:
// not a terminal status so we continue to poll
return true, nil
case tfe.TaskStagePassed:
return false, nil
case tfe.TaskStageCanceled, tfe.TaskStageErrored, tfe.TaskStageFailed:
return false, fmt.Errorf("Task Stage '%s': %s.", stage.ID, stage.Status)
case tfe.TaskStageAwaitingOverride:
return false, fmt.Errorf("Task Stage '%s' awaiting override.", stage.ID)
case tfe.TaskStageUnreachable:
return false, nil
default:
return false, fmt.Errorf("Task stage '%s' has invalid status: %s", stage.ID, stage.Status)
}
})
}
View on GitHub (pinned to c9def3e214)
Solutions
- Open the run in the TFC/TFE UI and choose 'Override' (if you have permission) or 'Discard' based on the policy results.
- If overrides are expected often, ask the workspace owner to either tighten/loosen the policy enforcement level or grant your team override permission.
- If the soft-fail indicates a real compliance issue, fix the config rather than overriding.
- Re-run the Terraform command after the override decision is made.
Example fix
// before Error: Task Stage 'taskstage-xxx' awaiting override. // after: approve override in UI, then continue // (UI: Run > Task Stage > Override) -> terraform resumes / re-run
Defensive patterns
Strategy: validation
Validate before calling
// Detect AwaitingOverride early and emit guidance instead of polling indefinitely.
stage, err := b.client.TaskStages.Read(ctx, stageID, &options)
if err == nil && stage.Status == tfe.TaskStageAwaitingOverride {
return fmt.Errorf("Task Stage '%s' awaiting override in the TFC UI", stage.ID)
} Prevention
- Configure policy enforcement levels deliberately (hard-mandatory vs advisory).
- Grant override permission to the team responsible for the workspace.
- Treat AwaitingOverride as a human checkpoint, not an error to silence.
- Document the override workflow for operators.
When it happens
Trigger: A Sentinel policy set enforced at advisory level soft-fails, or a custom task returns an overridable result, leaving the stage awaiting an admin's override decision in the Terraform Cloud/Enterprise UI.
Common situations: Policy deliberately set to 'advisory'/'soft-mandatory' so humans review borderline plans; the run is now paused pending a click-to-override (or dismiss) in the TFC UI.
Related errors
- Task Stage '%s': %s.
- overridden using the UI or API
- Failed to override: %w %s
- %s soft failed. %s
- Cannot override soft failed policy checks when -input=false.
AI-assisted analysis of hashicorp/terraform@c9def3e214 (2026-08-07).
Data as JSON: /api/errors/a0f89edab2be1da2.
Report an issue: GitHub.