appsmithorg/appsmith · error · Error

Unable to run action: ${actionToRun.name}

Error message

Unable to run action: ${actionToRun.name}

What it means

Error thrown by the one-click-binding flow when running the SELECT/TOTAL_RECORD query returns EXECUTE_PLUGIN_ACTION_ERROR or RUN_ACTION_ERROR instead of RUN_ACTION_SUCCESS. The created actions exist and were fetched, but executing them to prime the widget binding failed, so the saga cannot compute the binding config.

Source

Thrown at app/client/src/sagas/OneClickBindingSaga.ts:249

            true,
            undefined,
            ActionExecutionContext.ONE_CLICK_BINDING,
          ),
        );

        const runResponse: ReduxAction<unknown> = yield take([
          ReduxActionTypes.RUN_ACTION_SUCCESS,
          ReduxActionErrorTypes.EXECUTE_PLUGIN_ACTION_ERROR,
          ReduxActionErrorTypes.RUN_ACTION_ERROR,
        ]);

        if (
          [
            ReduxActionErrorTypes.EXECUTE_PLUGIN_ACTION_ERROR,
            ReduxActionErrorTypes.RUN_ACTION_ERROR,
          ].includes(runResponse.type)
        ) {
          throw new Error(`Unable to run action: ${actionToRun.name}`);
        }
      }

      const { getPropertyUpdatesForQueryBinding } =
        WidgetFactory.getWidgetMethods(widget.type);

      const createdQueryNames = createdActions.map((d) => d.name);

      const queryBindingConfig: WidgetQueryConfig = {};

      const { alertMessage } = action.payload;

      if (createdQueryNames.includes(queryNameMap[QUERY_TYPE.SELECT])) {
        queryBindingConfig[QUERY_TYPE.SELECT] = {
          data: `{{${queryNameMap[QUERY_TYPE.SELECT]}.data}}`,
          run: `{{
            ${queryNameMap[QUERY_TYPE.SELECT]}.run();
            ${

View on GitHub (pinned to 8cd9021c24)

Solutions

  1. Open the generated query in the editor and run it manually — the response error will show the real cause.
  2. Re-test the datasource connection and re-enter credentials if expired.
  3. Check the user role has execute permission on the action.
  4. If the SQL is malformed (reserved word, missing column), edit the query by hand and re-run.
Defensive patterns

Strategy: try-catch

Validate before calling

// Manually run the generated query in the editor first; only bind after it returns data
const ok = await runQueryManually(queryName);
if (!ok) { showAlert('Query failed: ' + lastError, 'error'); return; }

Prevention

When it happens

Trigger: The generated query has a syntax error; the datasource connection fails at execute time; permissions allow create but not execute; the upstream DB rejects the generated SQL; a column referenced in the generated query no longer exists.

Common situations: Schema drift between binding time and run time; datasource credentials expired; row-level security blocks the SELECT; reserved keyword not quoted by the query generator.

Related errors


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