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

  1. Open the run in the TFC/TFE UI and choose 'Override' (if you have permission) or 'Discard' based on the policy results.
  2. If overrides are expected often, ask the workspace owner to either tighten/loosen the policy enforcement level or grant your team override permission.
  3. If the soft-fail indicates a real compliance issue, fix the config rather than overriding.
  4. 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

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


AI-assisted analysis of hashicorp/terraform@c9def3e214 (2026-08-07). Data as JSON: /api/errors/a0f89edab2be1da2. Report an issue: GitHub.