Error map

Saved plan is stale Terraform: Error: Saved plan is stale — The given plan file can no longer be applied because the state was changed by another operation after the plan was created

Terraform · layer 6, Platform & cloud

Open the full error page →

Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

Saved plan is stale — Terraform: Error: Saved plan is stale — The given plan file can no longer be applied because the state was changed by another operation after the plan was created (Terraform)Saved plan …No updates are to be performed — CloudFormation: No updates are to be performed (AWS)No updates are to b…the input device is not a TTY — the input device is not a TTY (Docker)the input device is…another operation is in progress — Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress (Kubernetes)another operation i…Error acquiring the state lock — Terraform: Error: Error acquiring the state lock — ConditionalCheckFailedException / state blob is already locked (Terraform)Error acquiring the…toomanyrequests — toomanyrequests: You have reached your pull rate limit (Docker Hub) (Docker)toomanyrequestsAADSTS70021 — AADSTS70021: No matching federated identity record found for presented assertion (GitHub Actions / workload identity) (Azure)AADSTS70021No hosted parallelism — Azure Pipelines: No hosted parallelism has been purchased or granted (Azure)No hosted paralleli…service connection could not be found — Azure Pipelines: There was a resource authorization issue: The pipeline is not valid. Could not find a service connection with identifier x (Azure)service connection …Cloud Build: step exited with non-zero status — Cloud Build: ERROR: build step 2 "gcr.io/cloud-builders/npm" failed: step exited with non-zero status: 1 (Google Cloud / Firebase)Cloud Build: step e…Provider produced invalid plan / inconsistent final plan — Terraform: Error: Provider produced invalid plan — provider produced an invalid plan for aws_x.y, but we are tolerating it because it is using the legacy plugin SDK (Terraform)Provider produced i…Your query returned no results (data source) — Terraform: Error: Your query returned no results. Please change your search criteria and try again. (Terraform)Your query returned…Invalid AWS Region — Terraform: Error: Invalid AWS Region: us-east-3 / Error: configuring Terraform AWS Provider: validating provider credentials: operation error STS: GetCallerIdentity (Terraform)Invalid AWS Regionshallow update not allowed — ! [remote rejected] main -> main (shallow update not allowed) (Git)shallow update not …github-actions[bot] 403 — remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403 (Git)github-actions[bot]…npm ci out of sync — npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync (npm)npm ci out of syncnpm ci no lockfile — npm ERR! The `npm ci` command can only install with an existing package-lock.json or npm-shrinkwrap.json (npm)npm ci no lockfileERR_PNPM_OUTDATED_LOCKFILE — ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with package.json (npm)ERR_PNPM_OUTDATED_L…YN0028 — YN0028: The lockfile would have been modified by this install, which is explicitly forbidden. (npm)YN0028cannot re-use a name that is still in use — Error: INSTALLATION FAILED: cannot re-use a name that is still in use (Kubernetes)cannot re-use a nam…invalid ownership metadata — rendered manifests contain a resource that already exists. Unable to continue with install: ... invalid ownership metadata (Kubernetes)invalid ownership m…ProgressDeadlineExceeded — deployment "x" exceeded its progress deadline (ProgressDeadlineExceeded) (Kubernetes)ProgressDeadlineExc…Deadlock — Deadlock found when trying to get lock; try restarting transaction (SQL)Deadlock409 — HTTP 409 Conflict (HTTP)409Too many re-renders — Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. (React)Too many re-rendersImagePullBackOff — Kubernetes: ImagePullBackOff / ErrImagePull (Kubernetes)ImagePullBackOff429 — HTTP 429 Too Many Requests (HTTP)429ProvisionedThroughputExceededException — ProvisionedThroughputExceededException: The level of configured provisioned throughput for the table was exceeded (AWS)ProvisionedThroughp…sts:AssumeRole denied — is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::...:role/... (AWS)sts:AssumeRole deni…AADSTS50020 — AADSTS50020: User account from identity provider does not exist in tenant and cannot access the application (Azure)AADSTS50020AADSTS50034 — AADSTS50034: The user account does not exist in the directory (Azure)AADSTS50034TF401019 — TF401019: The Git repository with name or identifier x does not exist or you do not have permissions for the operation (Azure)TF40101910000 — wrangler / Cloudflare API: Authentication error [code: 10000] (Cloudflare)10000Failed to find target with hash string — Failed to find target with hash string 'android-34' / Failed to install the following Android SDK packages as some licences have not been accepted (Android)Failed to find targ…Gradle Java heap space — Gradle: Expiring Daemon because JVM heap space is exhausted / java.lang.OutOfMemoryError: Java heap space during build (Android)Gradle Java heap sp…Command CodeSign failed — Command CodeSign failed with a nonzero exit code (errSecInternalComponent / resource fork, Finder information not allowed) (iOS)Command CodeSign fa…Template file not found — Azure Pipelines: /azure-pipelines.yml: File /templates/build.yml not found in repository / Unable to find template (CI/CD)Template file not f…Process completed with exit code 1 — GitHub Actions: Error: Process completed with exit code 1. (CI/CD)Process completed w…ERROR: Job failed: exit code 1 — GitLab CI: ERROR: Job failed: exit code 1 (CI/CD)ERROR: Job failed: …API has not been used in project before or it is disabled — Google Cloud: 403 SERVICE_DISABLED — Cloud Resource Manager API has not been used in project 123456 before or it is disabled. Enable it by visiting (Google Cloud / Firebase)API has not been us…Invalid for_each argument (keys cannot be determined until apply) — Terraform: Error: Invalid for_each argument — The "for_each" map includes keys derived from resource attributes that cannot be determined until apply (Terraform)Invalid for_each ar…Invalid count argument (value unknown until apply) — Terraform: Error: Invalid count argument — The "count" value depends on resource attributes that cannot be determined until apply (Terraform)Invalid count argum…Provider produced inconsistent result after apply — Terraform: Error: Provider produced inconsistent result after apply — When applying changes to aws_x.y, provider produced an unexpected new value: Root resource was present, but now absent (Terraform)Provider produced i…InvalidAMIID.NotFound — InvalidAMIID.NotFound: The image id '[ami-xxxx]' does not exist (AWS)InvalidAMIID.NotFou…Reference to undeclared resource — Terraform: Error: Reference to undeclared resource / Reference to undeclared input variable (Terraform)Reference to undecl…Invalid index: The given key does not identify an element — Terraform: Error: Invalid index — The given key does not identify an element in this collection value (Terraform)Invalid index: The …PermanentRedirect — S3 PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint (AWS)PermanentRedirectInvalidKeyPair.NotFound — InvalidKeyPair.NotFound: The key pair 'x' does not exist (AWS)InvalidKeyPair.NotF…ResourceNotFoundException (DynamoDB) — DynamoDB ResourceNotFoundException: Requested resource not found (table) (AWS)ResourceNotFoundExc…

Directly related (12)

No updates are to be performedAWS

CloudFormation: No updates are to be performed

You ran an update/deploy with a template and parameters identical to what’s deployed, so there’s nothing to change.

the input device is not a TTYDocker

the input device is not a TTY

docker run/exec was called with -t (allocate a terminal) in a context with no terminal — CI, cron, a pipe or a script.

another operation is in progressKubernetes

Error: UPGRADE FAILED: another operation (install/upgrade/rollback) is in progress

A previous Helm operation on this release was interrupted and left it in a pending-install/pending-upgrade state, so Helm refuses…

Error acquiring the state lockTerraform

Terraform: Error: Error acquiring the state lock — ConditionalCheckFailedException / state blob is already locked

Another Terraform run holds the state lock, or a previous run crashed and left the lock behind.

toomanyrequestsDocker

toomanyrequests: You have reached your pull rate limit (Docker Hub)

Docker Hub limits anonymous and free pulls; your IP or account has used its quota for the current window.

AADSTS70021Azure

AADSTS70021: No matching federated identity record found for presented assertion (GitHub Actions / workload identity)

The OIDC token from GitHub Actions/Kubernetes/another IdP doesn’t match any federated credential on the app — issuer, subject or…

No hosted parallelismAzure

Azure Pipelines: No hosted parallelism has been purchased or granted

The Azure DevOps organization has no Microsoft-hosted parallel jobs, so pipelines can’t run on hosted agents.

service connection could not be foundAzure

Azure Pipelines: There was a resource authorization issue: The pipeline is not valid. Could not find a service connection with identifier x

The pipeline references a service connection that doesn’t exist in the project or isn’t authorized for this pipeline.

Cloud Build: step exited with non-zero statusGoogle Cloud / Firebase

Cloud Build: ERROR: build step 2 "gcr.io/cloud-builders/npm" failed: step exited with non-zero status: 1

One step of the Cloud Build pipeline returned a non-zero exit code, so the whole build failed.

Provider produced invalid plan / inconsistent final planTerraform

Terraform: Error: Provider produced invalid plan — provider produced an invalid plan for aws_x.y, but we are tolerating it because it is using the legacy plugin SDK

The provider changed planned values between plan and apply (a provider bug), so Terraform aborts.

Your query returned no results (data source)Terraform

Terraform: Error: Your query returned no results. Please change your search criteria and try again.

A data source (e.g. `aws_ami`, `aws_vpc`) found nothing matching its filters.

Invalid AWS RegionTerraform

Terraform: Error: Invalid AWS Region: us-east-3 / Error: configuring Terraform AWS Provider: validating provider credentials: operation error STS: GetCallerIdentity

The `region` is invalid/unavailable, or the provider can't reach AWS endpoints to validate credentials.

Two steps away (36)

shallow update not allowedGit

! [remote rejected] main -> main (shallow update not allowed)

You pushed from a shallow clone to a remote that doesn’t accept shallow history.

github-actions[bot] 403Git

remote: Permission to owner/repo.git denied to github-actions[bot]. fatal: unable to access … The requested URL returned error: 403

A GitHub Actions workflow tried to push but the GITHUB_TOKEN doesn’t have write permission.

npm ci out of syncnpm

npm ERR! `npm ci` can only install packages when your package.json and package-lock.json are in sync

package-lock.json doesn’t match package.json, so npm ci refuses to install.

npm ci no lockfilenpm

npm ERR! The `npm ci` command can only install with an existing package-lock.json or npm-shrinkwrap.json

npm ci needs a committed lockfile and didn’t find one.

ERR_PNPM_OUTDATED_LOCKFILEnpm

ERR_PNPM_OUTDATED_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is not up to date with package.json

pnpm’s lockfile doesn’t match package.json, and CI installs with a frozen lockfile.

YN0028npm

YN0028: The lockfile would have been modified by this install, which is explicitly forbidden.

Yarn Berry’s immutable install in CI found the lockfile needs changes.

cannot re-use a name that is still in useKubernetes

Error: INSTALLATION FAILED: cannot re-use a name that is still in use

helm install was run with a release name that already exists in the namespace (even a failed one).

invalid ownership metadataKubernetes

rendered manifests contain a resource that already exists. Unable to continue with install: ... invalid ownership metadata

Helm wants to create an object that already exists but isn’t labelled as belonging to this release.

ProgressDeadlineExceededKubernetes

deployment "x" exceeded its progress deadline (ProgressDeadlineExceeded)

A rollout didn’t make progress within progressDeadlineSeconds (default 600) — new pods never became ready.

DeadlockSQL

Deadlock found when trying to get lock; try restarting transaction

Two transactions waited on each other’s locks; the database killed one so the other could continue.

409HTTP

HTTP 409 Conflict

The request conflicts with the current state of the resource — e.g. a duplicate or an edit based on an outdated version.

Too many re-rendersReact

Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.

A state update runs during render, which triggers another render, which updates state again — forever.

ImagePullBackOffKubernetes

Kubernetes: ImagePullBackOff / ErrImagePull

The node can’t pull the container image — wrong name/tag, missing registry credentials, or registry unreachable.

429HTTP

HTTP 429 Too Many Requests

You’ve hit a rate limit — too many requests in a given time window. Slow down and retry later.

ProvisionedThroughputExceededExceptionAWS

ProvisionedThroughputExceededException: The level of configured provisioned throughput for the table was exceeded

Requests exceed the table’s (or index’s) provisioned read/write capacity, or one partition is hot.

sts:AssumeRole deniedAWS

is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::...:role/...

The caller can’t assume the role — either its own policy doesn’t allow sts:AssumeRole, or the role’s trust policy doesn’t trust t…

AADSTS50020Azure

AADSTS50020: User account from identity provider does not exist in tenant and cannot access the application

The signed-in user belongs to another tenant (or is a personal Microsoft account) and isn’t a guest in the app’s tenant.

AADSTS50034Azure

AADSTS50034: The user account does not exist in the directory

There’s no user with that sign-in name in the tenant.

TF401019Azure

TF401019: The Git repository with name or identifier x does not exist or you do not have permissions for the operation

The repo doesn’t exist in that project, or the identity (user, PAT, pipeline build service) lacks permission to it.

10000Cloudflare

wrangler / Cloudflare API: Authentication error [code: 10000]

The Cloudflare API rejected the token — it’s invalid, expired, missing permissions, or scoped to another account/zone.

Failed to find target with hash stringAndroid

Failed to find target with hash string 'android-34' / Failed to install the following Android SDK packages as some licences have not been accepted

Gradle needs an SDK platform/build-tools that isn’t installed, or the licences haven’t been accepted on this machine.

Gradle Java heap spaceAndroid

Gradle: Expiring Daemon because JVM heap space is exhausted / java.lang.OutOfMemoryError: Java heap space during build

The Gradle daemon (or Kotlin daemon) ran out of memory compiling or dexing the project.

Command CodeSign failediOS

Command CodeSign failed with a nonzero exit code (errSecInternalComponent / resource fork, Finder information not allowed)

codesign failed — the keychain is locked (CI/SSH), the private key is inaccessible, or files carry extended attributes that can’t…

Template file not foundCI/CD

Azure Pipelines: /azure-pipelines.yml: File /templates/build.yml not found in repository / Unable to find template

The YAML references a template (`template: templates/build.yml`) that Azure cannot find — wrong path, repo resource or branch.

Process completed with exit code 1CI/CD

GitHub Actions: Error: Process completed with exit code 1.

A `run:` command returned a non-zero status, so the step (and job) failed — the real cause is printed in the log lines above.

ERROR: Job failed: exit code 1CI/CD

GitLab CI: ERROR: Job failed: exit code 1

The last command in the job's `script` returned a non-zero status; the real error is printed earlier in the job log.

API has not been used in project before or it is disabledGoogle Cloud / Firebase

Google Cloud: 403 SERVICE_DISABLED — Cloud Resource Manager API has not been used in project 123456 before or it is disabled. Enable it by visiting

The Google API you called is not enabled for the project that the request is billed to.

Invalid for_each argument (keys cannot be determined until apply)Terraform

Terraform: Error: Invalid for_each argument — The "for_each" map includes keys derived from resource attributes that cannot be determined until apply

`for_each` keys depend on values only known after apply, so Terraform can't plan which instances exist.

Invalid count argument (value unknown until apply)Terraform

Terraform: Error: Invalid count argument — The "count" value depends on resource attributes that cannot be determined until apply

`count` depends on something unknown at plan time, so Terraform can't decide how many instances to create.

Provider produced inconsistent result after applyTerraform

Terraform: Error: Provider produced inconsistent result after apply — When applying changes to aws_x.y, provider produced an unexpected new value: Root resource was present, but now absent

After creating/updating a resource, the provider returned values that don't match what Terraform planned — usually a provider bug…

InvalidAMIID.NotFoundAWS

InvalidAMIID.NotFound: The image id '[ami-xxxx]' does not exist

The AMI ID isn’t available in this region/account — AMI IDs are regional and private AMIs must be shared.

Reference to undeclared resourceTerraform

Terraform: Error: Reference to undeclared resource / Reference to undeclared input variable

The configuration refers to a resource, data source, variable or module output that isn’t declared in this module.

Invalid index: The given key does not identify an elementTerraform

Terraform: Error: Invalid index — The given key does not identify an element in this collection value

You indexed a map/list/set with a key or position that doesn't exist.

PermanentRedirectAWS

S3 PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint

The request went to the wrong S3 region/endpoint for that bucket.

InvalidKeyPair.NotFoundAWS

InvalidKeyPair.NotFound: The key pair 'x' does not exist

The key pair name you passed doesn’t exist in that region (key pairs are regional).

ResourceNotFoundException (DynamoDB)AWS

DynamoDB ResourceNotFoundException: Requested resource not found (table)

The table (or index) doesn’t exist in the region/account the client is using.