{"record":{"id":"57823e8ef965d523","repo":"hashicorp/terraform","slug":"no-schema-found-for-s-in-provider-s-57823e","errorCode":null,"errorMessage":"no schema found for %s (in provider %s)","messagePattern":"no schema found for (.+?) \\(in provider (.+?)\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/command/jsonplan/action_invocations.go","lineNumber":127,"sourceCode":"\t\t}\n\t\tret = append(ret, ai)\n\t}\n\treturn ret, nil\n}\n\nfunc MarshalActionInvocation(action *plans.ActionInvocationInstanceSrc, schemas *terraform.Schemas) (ActionInvocation, error) {\n\tai := ActionInvocation{\n\t\tAddress:      action.Addr.String(),\n\t\tType:         action.Addr.Action.Action.Type,\n\t\tName:         action.Addr.Action.Action.Name,\n\t\tProviderName: action.ProviderAddr.Provider.String(),\n\t}\n\tschema := schemas.ActionTypeConfig(\n\t\taction.ProviderAddr.Provider,\n\t\taction.Addr.Action.Action.Type,\n\t)\n\tif schema.ConfigSchema == nil {\n\t\treturn ai, fmt.Errorf(\"no schema found for %s (in provider %s)\", action.Addr.Action.Action.Type, action.ProviderAddr.Provider)\n\t}\n\n\tactionDec, err := action.Decode(&schema)\n\tif err != nil {\n\t\treturn ai, fmt.Errorf(\"failed to decode action %s: %w\", action.Addr, err)\n\t}\n\n\tswitch at := action.ActionTrigger.(type) {\n\tcase *plans.ResourceActionTrigger:\n\t\tai.LifecycleActionTrigger = &LifecycleActionTrigger{\n\t\t\tTriggeringResourceAddress: at.TriggeringResourceAddr.String(),\n\t\t\tActionTriggerEvent:        at.TriggerEvent().String(),\n\t\t\tActionTriggerBlockIndex:   at.ActionTriggerBlockIndex,\n\t\t\tActionsListIndex:          at.ActionsListIndex,\n\t\t\tOnFailure:                 at.ActionOnFailure.String(),\n\t\t}\n\tcase *plans.InvokeActionTrigger:\n\t\tai.InvokeActionTrigger = &InvokeActionTrigger{}","sourceCodeStart":109,"sourceCodeEnd":145,"githubUrl":"https://github.com/hashicorp/terraform/blob/d32a084675427f5ac3f7d2868578ef8b2c1dc525/internal/command/jsonplan/action_invocations.go#L109-L145","documentation":"Returned when marshaling a single action invocation: schemas.ActionTypeConfig returned a schema whose ConfigSchema is nil, meaning the provider is not advertising the requested action type to Terraform. The plan references an action type the loaded schema set does not contain.","triggerScenarios":"Provider plugin version that predates the action type; provider not initialized; plugin cache serving a stale/older provider; action type string mismatch between plan and provider.","commonSituations":"After an upgrade/downgrade of a provider that added or removed an action; CI with a locked, older provider version; local dev with a hand-registered provider missing action schemas.","solutions":["Run `terraform init -upgrade` to fetch a provider version that defines the action type.","Verify the provider version in .terraform.lock.hcl supports the action type named in the error.","Regenerate the plan with the current provider set so plan and schema agree.","Remove or comment out the action block if the provider intentionally no longer supports it."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Verify the action type schema exists before marshaling invocations.\nfunc actionSchemaPresent(schemas *terraform.Schemas, provider addrs.Provider, actionType string) bool {\n    s := schemas.ActionTypeConfig(provider, actionType)\n    return s.ConfigSchema != nil\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin provider versions in .terraform.lock.hcl to ones that define the action types you use.","Run `terraform init` (or `-upgrade`) before planning so action schemas are present.","Regenerate plans whenever the provider set changes."],"tags":["go","terraform","plan","actions","schema","provider","jsonplan"],"backgroundTag":null,"analyzedSha":"d32a084675427f5ac3f7d2868578ef8b2c1dc525","analyzedAt":"2026-08-11T18:43:52.779Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}