Error map

Laravel storage Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied

PHP · layer 4, Application & API

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.

Laravel storage — Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied (PHP)Laravel sto…EACCES — Linux: Permission denied (Linux)EACCESOperation not permitted (macOS privacy) — macOS: Operation not permitted — Terminal/app lacks Full Disk Access (TCC privacy protection) (macOS)Operation not permi…session save path — Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied (PHP)session save path419 Page Expired — Laravel: 419 Page Expired (CSRF token mismatch) (PHP)419 Page ExpiredPERMISSION_DENIED — PERMISSION_DENIED: The caller does not have permission (insufficient permissions) (Authentication)PERMISSION_DENIEDAccess to the path is denied — System.UnauthorizedAccessException: Access to the path 'x' is denied (.NET)Access to the path …No application encryption key — Laravel: No application encryption key has been specified. (PHP)No application encr…AccessControlListNotSupported — AccessControlListNotSupported: The bucket does not allow ACLs (AWS)AccessControlListNo…Key Vault Forbidden — Key Vault: (Forbidden) The user, group or application does not have secrets get permission on key vault (Azure)Key Vault ForbiddenTarget class does not exist — Laravel: Target class [App\Http\Controllers\X] does not exist. (PHP)Target class does n…Laravel table not found — Laravel: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.sessions' doesn't exist (PHP)Laravel table not f…SecurityException: Permission Denial — java.lang.SecurityException: Permission Denial ... requires android.permission.X (Android)SecurityException: …publickey — Git: Permission denied (publickey). fatal: Could not read from remote repository. (Git)publickeyEACCES — npm ERR! code EACCES — permission denied (npm)EACCESdaemon — Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? (Docker)daemon403 — HTTP 403 Forbidden (HTTP)403invalid_scope — OAuth 2.0 Error: invalid_scope / insufficient_scope (Authentication)invalid_scope0x80070005 — Windows Error 0x80070005 (E_ACCESSDENIED): Access is denied (Windows)0x80070005ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredToken401 — HTTP 401 Unauthorized (HTTP)401session_start() — Warning: session_start(): Session cannot be started after headers have already been sent (PHP)session_start()Vite manifest not found — Laravel: Vite manifest not found at: public/build/manifest.json (PHP)Vite manifest not f…Django CSRF — Forbidden (403) CSRF verification failed. Request aborted. (Python)Django CSRFantiforgery token could not be decrypted — ASP.NET Core: The antiforgery token could not be decrypted / The required antiforgery cookie is not present (400 Bad Request) (.NET)antiforgery token c…AccessDenied — AWS S3: AccessDenied (403) when calling GetObject / PutObject (AWS)AccessDeniedAuthorizationFailed — Azure: AuthorizationFailed — The client does not have authorization to perform action (Azure)AuthorizationFailedAuthorizationPermissionMismatch — Azure Storage: AuthorizationPermissionMismatch (403) — This request is not authorized to perform this operation using this permission (Azure)AuthorizationPermis…ENOENT — Error: ENOENT: no such file or directory (Node.js)ENOENTsudoers — user is not in the sudoers file. This incident will be reported. (Linux)sudoersNot allowed — WordPress: Sorry, you are not allowed to access this page. (WordPress)Not allowedopen_basedir — Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s) (PHP)open_basedirPHP mail — PHP mail() returns false / emails not delivered (PHP)PHP mailUPLOAD_ERR_INI_SIZE — PHP upload error 1: The uploaded file exceeds the upload_max_filesize directive in php.ini (PHP)UPLOAD_ERR_INI_SIZENoSuchKey — AWS S3: NoSuchKey / NoSuchBucket — The specified key/bucket does not exist (AWS)NoSuchKeyAccessDeniedException — java.nio.file.AccessDeniedException: /path (Java)AccessDeniedExcepti…clipboard write blocked — NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused. (JavaScript)clipboard write blo…listen EACCES — Error: listen EACCES: permission denied 0.0.0.0:80 (Node.js)listen EACCESEPERM — Error: EPERM: operation not permitted, rename / unlink (Node.js)EPERMspawn EACCES — Error: spawn EACCES (Node.js)spawn EACCESClass not found — PHP Fatal error: Uncaught Error: Class "X" not found (PHP)Class not foundMassAssignmentException — Laravel: Illuminate\Database\Eloquent\MassAssignmentException: Add [x] to fillable property to allow mass assignment (Laravel)MassAssignmentExcep…1146 — MySQL ERROR 1146 (42S02): Table 'db.table' doesn't exist (MySQL)11461022 — MySQL ERROR 1022 (23000): Can't write; duplicate key in table (MySQL)10221061 — MySQL ERROR 1061 (42000): Duplicate key name 'x' (MySQL)1061webhook signature — Webhook signature verification failed (Stripe, Razorpay, GitHub…) (API)webhook signaturenpm update check failed — npm update check failed — Try running with sudo or get access to the local update config store (npm)npm update check fa…data directory permissions — FATAL: data directory "/var/lib/postgresql/data" has invalid permissions — Permissions should be u=rwx (0700) or u=rwx,g=rx (0750). (PostgreSQL)data directory perm…

Directly related (12)

EACCESLinux

Linux: Permission denied

Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.

Operation not permitted (macOS privacy)macOS

macOS: Operation not permitted — Terminal/app lacks Full Disk Access (TCC privacy protection)

macOS privacy protection (TCC) blocked access to protected folders (Desktop, Documents, Downloads, Mail, Photos, external volumes…

session save pathPHP

Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied

PHP can’t write session files to the configured session.save_path.

419 Page ExpiredPHP

Laravel: 419 Page Expired (CSRF token mismatch)

Laravel rejected a POST because the CSRF token was missing, expired or didn’t match the session.

PERMISSION_DENIEDAuthentication

PERMISSION_DENIED: The caller does not have permission (insufficient permissions)

You are authenticated, but your identity isn’t allowed to perform this action on this resource.

Access to the path is denied.NET

System.UnauthorizedAccessException: Access to the path 'x' is denied

The process’s identity can’t read/write that file or folder — IIS app pool identity, container user, read-only attribute, or a di…

No application encryption keyPHP

Laravel: No application encryption key has been specified.

Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.

AccessControlListNotSupportedAWS

AccessControlListNotSupported: The bucket does not allow ACLs

The upload sets an ACL (like public-read), but the bucket uses “Bucket owner enforced” Object Ownership, which disables ACLs.

Key Vault ForbiddenAzure

Key Vault: (Forbidden) The user, group or application does not have secrets get permission on key vault

The caller authenticated but has no permission on the vault — missing access policy or RBAC role, or the vault’s firewall blocks…

Target class does not existPHP

Laravel: Target class [App\Http\Controllers\X] does not exist.

Laravel’s container couldn’t find the controller or class named in a route or binding.

Laravel table not foundPHP

Laravel: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.sessions' doesn't exist

Laravel queried a table that hasn’t been created — usually sessions, cache, jobs or a new model’s table.

SecurityException: Permission DenialAndroid

java.lang.SecurityException: Permission Denial ... requires android.permission.X

The app called an API that needs a permission it hasn’t declared or the user hasn’t granted at runtime.

Two steps away (35)

publickeyGit

Git: Permission denied (publickey). fatal: Could not read from remote repository.

SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.

EACCESnpm

npm ERR! code EACCES — permission denied

npm can’t write to a directory — usually global installs into a root-owned folder.

daemonDocker

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.

403HTTP

HTTP 403 Forbidden

The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…

invalid_scopeAuthentication

OAuth 2.0 Error: invalid_scope / insufficient_scope

The requested scope is unknown or not allowed for this client — or the token lacks the scope the API endpoint requires.

0x80070005Windows

Windows Error 0x80070005 (E_ACCESSDENIED): Access is denied

Windows refused an operation because the account or process lacks permission — seen in Windows Update, installers, Task Scheduler…

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

401HTTP

HTTP 401 Unauthorized

The request has no valid authentication credentials — you need to log in or send a valid token.

session_start()PHP

Warning: session_start(): Session cannot be started after headers have already been sent

session_start() ran after output was sent, so PHP can’t set the session cookie.

Vite manifest not foundPHP

Laravel: Vite manifest not found at: public/build/manifest.json

Laravel’s @vite directive can’t find the compiled asset manifest because assets weren’t built.

Django CSRFPython

Forbidden (403) CSRF verification failed. Request aborted.

Django rejected a POST because the CSRF token was missing, wrong, or the request origin isn’t trusted.

antiforgery token could not be decrypted.NET

ASP.NET Core: The antiforgery token could not be decrypted / The required antiforgery cookie is not present (400 Bad Request)

Form POST failed antiforgery validation — the token is missing, the cookie is missing, or Data Protection keys changed so old tok…

AccessDeniedAWS

AWS S3: AccessDenied (403) when calling GetObject / PutObject

An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.

AuthorizationFailedAzure

Azure: AuthorizationFailed — The client does not have authorization to perform action

The signed-in identity (user, service principal or managed identity) lacks an Azure RBAC role for that action on that scope.

AuthorizationPermissionMismatchAzure

Azure Storage: AuthorizationPermissionMismatch (403) — This request is not authorized to perform this operation using this permission

You’re accessing blob/queue data with Microsoft Entra ID, but the identity has only management roles (Owner/Contributor) — not a…

ENOENTNode.js

Error: ENOENT: no such file or directory

A file or directory the program tried to open doesn’t exist at that path.

sudoersLinux

user is not in the sudoers file. This incident will be reported.

Your account isn’t allowed to use sudo.

Not allowedWordPress

WordPress: Sorry, you are not allowed to access this page.

Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…

open_basedirPHP

Warning: file_exists(): open_basedir restriction in effect. File(/x) is not within the allowed path(s)

PHP is configured to access only certain directories, and the script tried to touch a file outside them.

PHP mailPHP

PHP mail() returns false / emails not delivered

PHP’s mail() function failed or emails never arrive (spam or rejected).

UPLOAD_ERR_INI_SIZEPHP

PHP upload error 1: The uploaded file exceeds the upload_max_filesize directive in php.ini

The uploaded file is bigger than PHP’s upload_max_filesize, so PHP discarded it.

NoSuchKeyAWS

AWS S3: NoSuchKey / NoSuchBucket — The specified key/bucket does not exist

S3 found no object at that key (or no bucket with that name in the region/account you’re calling).

AccessDeniedExceptionJava

java.nio.file.AccessDeniedException: /path

The OS denied a file operation to the Java process.

clipboard write blockedJavaScript

NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused.

The Clipboard API refused to write — the page isn’t focused, there was no user gesture, or the context isn’t secure.

listen EACCESNode.js

Error: listen EACCES: permission denied 0.0.0.0:80

Node isn’t allowed to bind that port — ports below 1024 need root on Linux/macOS, and some Windows ports are reserved.

EPERMNode.js

Error: EPERM: operation not permitted, rename / unlink

The OS refused a file operation — on Windows usually because another process (antivirus, editor, indexer) has the file locked.

spawn EACCESNode.js

Error: spawn EACCES

Node tried to execute a file that isn’t executable (missing +x permission) or isn’t a program.

Class not foundPHP

PHP Fatal error: Uncaught Error: Class "X" not found

PHP couldn’t load the class — autoloading failed, the namespace is wrong, or the dependency isn’t installed.

MassAssignmentExceptionLaravel

Laravel: Illuminate\Database\Eloquent\MassAssignmentException: Add [x] to fillable property to allow mass assignment

You passed an array to create()/update()/fill() containing a field that isn’t in the model’s $fillable list.

1146MySQL

MySQL ERROR 1146 (42S02): Table 'db.table' doesn't exist

The query references a table that MySQL can’t find in that database.

1022MySQL

MySQL ERROR 1022 (23000): Can't write; duplicate key in table

An ALTER/CREATE produced a duplicate key or constraint name — often a foreign key name that already exists in the database.

1061MySQL

MySQL ERROR 1061 (42000): Duplicate key name 'x'

CREATE INDEX/ADD INDEX used an index name that already exists on the table.

webhook signatureAPI

Webhook signature verification failed (Stripe, Razorpay, GitHub…)

Your endpoint computed a different HMAC signature than the one the provider sent, so the webhook is rejected.

npm update check failednpm

npm update check failed — Try running with sudo or get access to the local update config store

npm’s update notifier couldn’t write its config — usually root-owned files in ~/.config from a past sudo npm.

data directory permissionsPostgreSQL

FATAL: data directory "/var/lib/postgresql/data" has invalid permissions — Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).

PostgreSQL refuses to start because the data directory is too open or owned by the wrong user.