Error map
419 Page Expired Laravel: 419 Page Expired (CSRF token mismatch)
PHP · layer 4, Application & API
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.
Directly related (12)
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…
Laravel: No application encryption key has been specified.
Laravel’s APP_KEY is missing, so it can’t encrypt sessions and cookies.
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.
OAuth callback error: state mismatch / Unable to verify authorization request state / State cookie was missing
The state value returned to the callback doesn’t match what the app stored before redirecting — the CSRF protection for OAuth fai…
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: 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.
Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied
The web server can’t write to Laravel’s storage or bootstrap/cache directories.
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.
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…
ForbiddenError: invalid csrf token (EBADCSRFTOKEN)
The request’s CSRF token is missing or doesn’t match the token tied to the user’s session/cookie.
Laravel: Symfony\Component\Routing\Exception\RouteNotFoundException: Route [login] not defined
Code called route('name') for a route name that doesn’t exist — very often route('login') from the auth middleware in API-only ap…
Rails: ActionController::InvalidAuthenticityToken (Can't verify CSRF token authenticity)
A non-GET request arrived without a valid CSRF token for the session.
Two steps away (34)
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.
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.
Linux: Permission denied
Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.
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 mail() returns false / emails not delivered
PHP’s mail() function failed or emails never arrive (spam or rejected).
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.
Python was not found; run without arguments to install from the Microsoft Store
Windows ran the Microsoft Store “App execution alias” instead of a real Python installation.
django.db.utils.OperationalError: no such table: app_model
Django queried a table that hasn’t been created — migrations missing or not applied.
django.core.exceptions.ImproperlyConfigured: settings are not configured / SECRET_KEY must not be empty
Django can’t load its settings — DJANGO_SETTINGS_MODULE unset, a required setting missing, or an environment variable not provide…
HTTP 431 Request Header Fields Too Large
The request headers — almost always cookies — exceed the server’s size limit.
WordPress login: Error: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
WordPress’s test cookie wasn’t returned on login — often a siteurl/home or domain mismatch, caching of wp-login.php, or headers a…
OIDC Error: login_required / interaction_required / consent_required (silent authentication failed)
A silent sign-in (prompt=none, iframe or refresh) couldn’t complete because the user must interact — no session, consent needed,…
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.
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.
MySQL ERROR 1146 (42S02): Table 'db.table' doesn't exist
The query references a table that MySQL can’t find in that database.
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.
MySQL ERROR 1061 (42000): Duplicate key name 'x'
CREATE INDEX/ADD INDEX used an index name that already exists on the table.
Warning: include(x.php): Failed to open stream: No such file or directory
PHP couldn’t open a file for include/require/fopen — wrong path, missing file, or no permission.
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.
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.
COPY failed: file not found in build context / "/app/x": not found
The Dockerfile COPY refers to a path outside the build context, excluded by .dockerignore, or relative to the wrong directory.
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
The Gradle wrapper JAR (gradle/wrapper/gradle-wrapper.jar) is missing or corrupt.
Error: error:0308010C:digital envelope routines::unsupported
An old build tool (webpack 4, old react-scripts) uses a hash algorithm that OpenSSL 3 in Node 17+ disables.
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.
Error creating: pods is forbidden: violates PodSecurity "restricted:latest": allowPrivilegeEscalation != false ...
The namespace enforces a Pod Security Standard (baseline/restricted) and the pod spec breaks one of its rules.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! (ssh host key changed)
The server’s SSH host key differs from the one saved in ~/.ssh/known_hosts — usually because the server was rebuilt or the IP was…
AWS: ExpiredToken — The security token included in the request is expired
Temporary AWS credentials (STS/SSO/assumed role) have expired.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
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.
Azure AD (Entra ID): AADSTS700016 Application not found in the directory
The client ID in your sign-in request doesn’t exist in the tenant you’re authenticating against.
HTTP 404 Not Found
The server can’t find anything at the requested URL.
HTTP 405 Method Not Allowed
The URL exists, but it doesn’t accept the HTTP method you used (e.g. POST to a GET-only route).
Ruby: NoMethodError: undefined method `x' for nil (nil:NilClass)
You called a method on nil — the object you expected (a record, hash value, param) wasn’t there.
Rails: ActiveRecord::PendingMigrationError — Migrations are pending. To resolve this issue, run: bin/rails db:migrate
The database schema is behind the migration files in the app.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException