Terraform State Locked
Another Terraform operation is already running and has locked the state file.
Explanation
Terraform State Locked occurs when you try to run a Terraform operation (plan, apply, destroy) while another operation is already in progress. Terraform uses a state lock to prevent concurrent modifications that could corrupt the state file. This typically happens with remote state backends (S3, Consul, etc.) when two people or CI/CD pipelines run Terraform simultaneously, or when a previous Terraform run was interrupted (Ctrl+C, network failure) without releasing the lock.
Common Causes
- Another Terraform run in progress
- Previous run was interrupted
- CI/CD pipeline running concurrent applies
- Network failure during apply
- Manual state modification
Solution
First verify no other operation is actually running. If safe to proceed, force-unlock the state: terraform force-unlock LOCK_ID. Get the lock ID from the error message. Use terraform force-unlock -help to see options. For team environments, use Terraform Cloud or Atlantis for proper locking and workflow. Set up proper CI/CD pipeline to serialize Terraform runs. Use workspaces for parallel development. Check the state backend for stale locks. Always use terraform plan before apply to review changes.
Code Example
# Error: Error acquiring the state lock
# Error message: ConditionalCheckFailedException
# Get the lock ID from the error message
# Lock Info:
# ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890
# Path: my-bucket/terraform.tfstate
# Operation: OperationTypeApply
# Check if someone else is running Terraform
# Ask your team before force-unlocking!
# Force unlock (use with caution)
terraform force-unlock a1b2c3d4-e5f6-7890-abcd-ef1234567890
# For S3 backend, check DynamoDB table
aws dynamodb scan --table-name terraform-locks
# Delete stale lock manually (DynamoDB)
aws dynamodb delete-item \
--table-name terraform-locks \
--key '{"LockID": {"S": "my-bucket/terraform.tfstate"}}'
# Preventive: use Terraform Cloud/Enterprise
# for proper state locking and team workflow
Error Information
Language
bash
Framework
terraform
Difficulty
Intermediate
Views
122
Related Errors
ENOTFOUND
DevOps
Node.js ENOTFOUND
DNS lookup failed because the hostname could not be resolved.
DevOps
Container Name Already in Use
A Docker container with the specified name already exists.
DevOps
Docker Permission Denied
The current user doesn't have permission to run Docker commands.
ENOSPC
DevOps
Out of Disk Space
The system or application ran out of disk space.