Error map
Not a valid JSON response WordPress: Updating failed. The response is not a valid JSON response.
WordPress · 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…
WordPress: There Has Been a Critical Error on This Website
A PHP fatal error (usually from a plugin or theme) stopped WordPress; the real error is in the debug log or recovery-mode email.
Site Health: The REST API encountered an error / Your site could not complete a loopback request (cURL error 28)
WordPress couldn’t call itself over HTTP — needed for the block editor, cron, plugin/theme editors and Site Health.
WordPress: This block contains unexpected or invalid content. Attempt Block Recovery
The saved HTML of a block doesn’t match what the block’s current save function produces — after a plugin update, manual HTML edit…
WordPress: Are you sure you want to do this? Please try again. (nonce check failed)
A WordPress security nonce didn’t validate — the page was open too long, cached, or a plugin/theme form is broken.
WordPress block editor: The editor has encountered an unexpected error (Attempt Recovery / Copy Error)
A JavaScript error broke the block editor — usually a plugin/theme block script conflict, cached old scripts, or a browser extens…
SyntaxError: Unexpected token < in JSON at position 0
`JSON.parse()` / `response.json()` received something that isn’t JSON — very often an HTML error page.
Warning: Cannot modify header information - headers already sent
You called `header()`, `setcookie()` or `session_start()` after output had already been sent to the browser.
WordPress: Updating failed. You are probably offline.
The block editor’s save request to the REST API failed — network blip, REST API blocked, or the server returned an error/HTML.
WordPress REST API: {"code":"rest_cookie_invalid_nonce","message":"Cookie check failed"} (403)
A cookie-authenticated REST request carried a missing or stale X-WP-Nonce — common with cached pages or after re-login.
WordPress REST API: {"code":"rest_no_route","message":"No route was found matching the URL and request method."}
The REST endpoint doesn’t exist for that URL and HTTP method — wrong namespace/route, plugin not active, or route registered too…
WordPress REST API: {"code":"rest_forbidden","message":"Sorry, you are not allowed to do that."} (401/403)
The REST request isn’t authenticated or the user lacks the capability required by the route’s permission_callback.
Two steps away (28)
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.
HTTP 500 Internal Server Error
The server hit an unexpected condition — usually an unhandled exception or misconfiguration in the application.
PHP Fatal error: Allowed memory size of X bytes exhausted
The script tried to use more memory than PHP’s `memory_limit` allows.
PHP Fatal error: Uncaught Error: Call to undefined function
PHP can’t find the function you called — usually a missing extension, missing include, or namespace issue.
Error: connect ECONNREFUSED 127.0.0.1:5432
Nothing is listening at that host:port — the target service is down or you’re connecting to the wrong address.
HTTP 407 Proxy Authentication Required
A proxy between you and the server requires credentials before it will forward your request.
TypeError: Failed to fetch / NetworkError when attempting to fetch resource
The browser couldn’t complete the request at the network level — CORS, DNS, offline, blocked mixed content, or the server refused…
WordPress: 404 Not Found on every page except the homepage (permalinks / .htaccess / Nginx rules)
Pretty permalinks aren’t being routed to index.php — .htaccess is missing/ignored (Apache) or Nginx lacks try_files.
WordPress: 403 Forbidden on wp-admin, wp-login.php or admin-ajax.php
The server or a security layer refused access to WordPress admin URLs — file permissions, a security plugin/WAF rule, ModSecurity…
WordPress: Another update is currently in progress.
WordPress thinks an update is running because the core_updater.lock option exists — usually left behind by a failed/interrupted u…
WordPress: The link you followed has expired
Usually an upload (theme, plugin, media) larger than PHP’s upload/post limits — WordPress receives an empty request and shows thi…
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.
WordPress: Sorry, you are not allowed to upload this file type / Sorry, this file type is not permitted for security reasons
WordPress blocked the upload because the file extension/MIME type isn’t in its allowed list (SVG, JSON, WEBP on old versions, fon…
Cloudflare Error 1101: Worker threw exception
The Cloudflare Worker serving this route threw an uncaught JavaScript exception.
HTTP 400 Bad Request
The server could not understand the request because its syntax, headers or body are malformed or invalid.
HTTP 404 Not Found
The server can’t find anything at the requested URL.
HTTP 302 Found (Temporary Redirect)
The resource is temporarily at another URL; clients should keep using the original URL for future requests.
Warning: Undefined array key / Undefined index
Your code reads an array key that doesn’t exist — common with `$_GET`, `$_POST` and decoded JSON.
Refused to load the script because it violates the following Content Security Policy directive
The page’s Content-Security-Policy doesn’t allow that script, style, image or connection source.
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
An Express/Node handler tried to send a second response (or set headers) after one was already sent.
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).
Whitelabel Error Page — This application has no explicit mapping for /error
Spring Boot’s default error page — the request hit no controller mapping (404) or a controller threw (500).
TypeError: Missing parameter name at 1 (path-to-regexp)
An Express 5 (path-to-regexp v8) route uses old wildcard syntax like '*' or '/:id?'.
HTTP 401 Unauthorized
The request has no valid authentication credentials — you need to log in or send a valid token.
Google Cloud: Error: Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started
The Google client library found no Application Default Credentials (ADC) on this machine or environment.
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…
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException