appsmithorg/appsmith · error · TriggerFailureError

Widget ${payload.widgetName} not found

Error message

Widget ${payload.widgetName} not found

What it means

TriggerFailureError thrown after the saga confirms widgetName is a string but getWidgetByName returns undefined. The name passed type validation but no widget with that exact name exists in the current flattened widget tree, so resetWidgetMetaUpdates cannot run.

Source

Thrown at app/client/src/sagas/ActionExecution/ResetWidgetActionSaga.ts:38

  const { payload } = action;
  const { metaUpdates, resetChildren, widgetName } = payload;

  if (getType(widgetName) !== Types.STRING) {
    throw new ActionValidationError(
      "RESET_WIDGET_META_RECURSIVE_BY_NAME",
      "widgetName",
      Types.STRING,
      getType(widgetName),
    );
  }

  const widget: FlattenedWidgetProps | undefined = yield select(
    getWidgetByName,
    widgetName,
  );

  if (!widget) {
    throw new TriggerFailureError(`Widget ${payload.widgetName} not found`);
  }

  yield put(resetWidgetMetaUpdates(metaUpdates));

  yield take(ReduxActionTypes.RESET_WIDGET_META_EVALUATED);
  AppsmithConsole.info({
    source,
    text: `resetWidget triggered`,
    state: {
      widgetName,
      resetChildren,
    },
  });
}

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Open the canvas, select the widget, copy its exact name from the property pane, and paste it into resetWidget.
  2. If the widget lives on a different page, move the resetWidget call there or restructure the flow.
  3. Re-check after rename refactors: search the codebase for the old widget name.

Example fix

// before: widget renamed from 'Input1' to 'userNameInput'
resetWidget('Input1');
// after
resetWidget('userNameInput');
Defensive patterns

Strategy: validation

Validate before calling

// Confirm widget exists before resetting
// (no public helper; rely on canvas state)
if (!widgetExistsOnPage(widgetName)) {
  showAlert(`Widget '${widgetName}' not found`, 'error');
  return;
}
resetWidget(widgetName);

Try / catch

try {
  resetWidget(widgetName);
} catch (e) {
  if (e instanceof TriggerFailureError) showAlert(e.message, 'error');
}

Prevention

When it happens

Trigger: widgetName is a valid string but does not match any widget on the current page; the widget was deleted or renamed after the binding was authored; the action runs on a page where the widget is not mounted.

Common situations: Renaming a widget without updating the resetWidget call; running the action during a page transition before the target widget mounts; typo (case sensitivity, trailing space).

Related errors


AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12). Data as JSON: /api/errors/d66b363b95fa8532. Report an issue: GitHub.