{"record":{"id":"986b328bd381bd7a","repo":"filamentphp/filament","slug":"strict-authorization-mode-is-enabled-but-no-abili","errorCode":null,"errorMessage":"Strict authorization mode is enabled, but no ability [{$actionValue}] or policy with method [{$actionValue}()] was found for [{$modelName}].","messagePattern":"Strict authorization mode is enabled, but no ability \\[(.+?)\\] or policy with method \\[(.+?)\\(\\)\\] was found for \\[(.+?)\\]\\.","errorType":"exception","errorClass":"LogicException","httpStatus":null,"severity":"error","filePath":"packages/panels/src/helpers.php","lineNumber":52,"sourceCode":"\n        $actionValue = match (true) {\n            $action instanceof BackedEnum => $action->value,\n            $action instanceof UnitEnum => $action->name,\n            default => $action,\n        };\n\n        if (! $shouldCheckPolicyExistence) {\n            if (\n                Filament::isAuthorizationStrict()\n                && (! Gate::forUser($user)->has($action))\n                && (\n                    blank($policyClass = Gate::getPolicyFor($model))\n                    || (! method_exists($policyClass, $actionValue))\n                )\n            ) {\n                $modelName = is_string($model) ? $model : $model::class;\n\n                throw new LogicException(blank($policyClass)\n                    ? \"Strict authorization mode is enabled, but no ability [{$actionValue}] or policy with method [{$actionValue}()] was found for [{$modelName}].\"\n                    : \"Strict authorization mode is enabled, but no ability [{$actionValue}] or [{$actionValue}()] method was found on [{$policyClass}].\");\n            }\n\n            return Gate::forUser($user)->inspect($action, Arr::wrap($model));\n        }\n\n        $policy = Gate::getPolicyFor($model);\n\n        if (filled($policy) && method_exists($policy, $actionValue)) {\n            return Gate::forUser($user)->inspect($action, Arr::wrap($model));\n        }\n\n        if (Filament::isAuthorizationStrict()) {\n            $policyClass = match (true) {\n                is_string($policy) => $policy,\n                is_object($policy) => $policy::class,\n                default => null,","sourceCodeStart":34,"sourceCodeEnd":70,"githubUrl":"https://github.com/filamentphp/filament/blob/53483fa9340e4ec637985fe454ebb58afb92ea24/packages/panels/src/helpers.php#L34-L70","documentation":"Error \"Strict authorization mode is enabled, but no ability [{$actionValue}] or policy with method [{$actionValue}()] was found for [{$modelName}].\" thrown in filamentphp/filament.","triggerScenarios":"Thrown at packages/panels/src/helpers.php:52 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"53483fa9340e4ec637985fe454ebb58afb92ea24","analyzedAt":"2026-08-17T02:06:23.049Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}