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

  1. Check the URL's basePageId / page slug against the application's actual pages list.
  2. Re-authenticate (log out and back in) if the session expired — look for the 401 redirect.
  3. Switch to the git branch where the page exists, or pull the latest.
  4. 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

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.