appsmithorg/appsmith · critical · PageNotFoundError
Cannot find page with base id: ${basePageId}
Error message
Cannot find page with base id: ${basePageId} What it means
PageNotFoundError thrown inside the catch block of the consolidated page-load API call. Caveat: the catch swallows the real exception and always re-throws as PageNotFoundError, so the message 'Cannot find page with base id' is misleading — the original cause may be a 401, a 5xx, a network failure, or genuinely a missing page. The saga also redirects anonymous users on 401 and logs a ConsolidatedApiError to telemetry before re-throwing.
Source
Thrown at app/client/src/sagas/InitSagas.ts:323
// when the user is an anonymous user we embed the url with the attempted route
// this is taken care in ce code repo but not on ee
if (e?.response?.status === 401) {
embedRedirectURL();
}
yield call(
executeActionDuringUserDetailsInitialisation,
ReduxActionTypes.END_CONSOLIDATED_PAGE_LOAD,
shouldInitialiseUserDetails,
);
appsmithTelemetry.captureException(
new Error(`consolidated api failure for ${JSON.stringify(params)}`),
{
errorName: "ConsolidatedApiError",
extra: { error: e },
},
);
throw new PageNotFoundError(`Cannot find page with base id: ${basePageId}`);
}
const {
featureFlags,
organizationConfig,
productAlert,
userProfile,
...rest
} = response || {};
//actions originating from INITIALIZE_CURRENT_PAGE should update user details
//other actions are not necessary
if (!shouldInitialiseUserDetails) {
return rest;
}
yield put(getCurrentUser(userProfile));
View on GitHub (pinned to 8cd9021c24)
Solutions
- Check the URL's basePageId / page slug against the application's actual pages list.
- Re-authenticate (log out and back in) if the session expired — look for the 401 redirect.
- Switch to the git branch where the page exists, or pull the latest.
- If the server is up, inspect browser Network for the consolidated API response status to identify the real cause.
Defensive patterns
Strategy: validation
Validate before calling
// Validate the route before boot, e.g. in a redirect helper
if (!basePageId || !/^[0-9a-f]+$/.test(basePageId)) {
history.replace('/applications'); // bail to a safe page
} Prevention
- Re-authenticate when sessions are long-lived; handle the 401 redirect.
- Switch to the git branch where the page exists before loading the URL.
- Avoid bookmarking page ids that may be regenerated on redeploy.
- Watch the consolidated API response status to distinguish missing-page from auth/network.
When it happens
Trigger: basePageId in the URL is wrong or stale; user is on a git branch where the page does not exist; session expired (401 triggers embedRedirectURL then this error); server returned 5xx; network drop during page boot.
Common situations: Switched git branches whose page tree differs; bookmarked a page that was since deleted; SSO token expired mid-session; server restart during page load; misrouted deploy where the page id changed.
AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12).
Data as JSON: /api/errors/c46e1f01dbd2c2c3.
Report an issue: GitHub.