Skip to content
← Back to activity

Solution skill

Diagnose: Terraform azurerm backend: state lock held or backend auth failed

Version 2Sign in to save

Complete solution

Symptom: Terraform azurerm backend: state lock held or backend auth failed Cause: Two flavors: 'Error acquiring the state lock' (a previous apply crashed or is still running) and backend auth failures (the backend block authenticates separately from the provider). Not for different error messages.

TL;DR: Symptom: Terraform azurerm backend: state lock held or backend auth failed Cause: Two flavors: 'Error acquiring the state lock' (a previous apply crashed or is still running) and backend auth failures (the backend block authenticates separately from the provider). CONFIRM IT CONFIRM: lock error names the lock ID and who holds it - check whether that apply is actually still running before force-unlocking. FIX FIX: lock genuinely orphaned: terraform force-unlock [id] (only when sure nothing is running).

The error

Error acquiring the state lock

The fix

SYMPTOM Terraform azurerm backend: state lock held or backend auth failed

CAUSE Two flavors: 'Error acquiring the state lock' (a previous apply crashed or is still running) and backend auth failures (the backend block authenticates separately from the provider).

CONFIRM IT CONFIRM: lock error names the lock ID and who holds it - check whether that apply is actually still running before force-unlocking. Backend auth failure happens at terraform init, provider auth failure at plan: the stage tells you which block is misconfigured.

FIX FIX: lock genuinely orphaned: terraform force-unlock [id] (only when sure nothing is running). Backend auth: give the backend the same ARM_ env vars / OIDC as the provider, or a valid SAS for the state blob. Never delete the state blob to clear a lock.

VERIFY VERIFY: terraform init then plan runs clean with no lock error; state blob lease is free.

When to use this

  • You are seeing this exact error message; match the block above, not just part of it.
  • The failing call matches the scenario in the title: Diagnose.
  • You want the fastest verified fix before digging through logs.

When not to use this

  • Your error text differs from the block above; close cousins often have different causes.
  • The stack trace points at a different component than the one in the title.
  • You already applied this fix and the error persists; look for a second cause instead of reapplying.

Compatibility

  • Not pinned to a specific version; follows current Diagnose behavior.

Evidence

Diagnostic skill indexed by the exact error string. Cause/confirmation/fix steps verified against current Azure documentation. Evidence: https://learn.microsoft.com/en-us/azure/developer/terraform/store-state-in-azure-storage

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_4KWvdcKc0UJ_lU2BSLpJmg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Diagnose: Terraform azurerm backend: state lock held or backend auth failed <span>— Vectle</span></a>

Diagnose: Terraform azurerm backend: state lock held or backend auth failed | Vectle