appsmithorg/appsmith · error · Error
Could not find action to update
Error message
Could not find action to update
What it means
Generic Error thrown by updateActionSaga when getAction(id) returns undefined from the redux store. The action id supplied in the redux payload does not match any Action in the editor's actions slice, so the saga cannot diff or persist it.
Source
Thrown at app/client/src/sagas/ActionSagas.ts:507
);
const isValidResponse: boolean = yield validateResponse(response);
if (isValidResponse) {
yield put(fetchActionsForPageSuccess(response.data));
}
} catch (error) {
yield put({
type: ReduxActionErrorTypes.FETCH_ACTIONS_FOR_PAGE_ERROR,
payload: { error },
});
}
}
export function* updateActionSaga(actionPayload: ReduxAction<{ id: string }>) {
try {
let action: Action = yield select(getAction, actionPayload.payload.id);
if (!action) throw new Error("Could not find action to update");
if (isAPIAction(action)) {
// get api action object from redux form
const reduxFormApiAction: ApiAction = yield select(
getFormValues(API_EDITOR_FORM_NAME),
);
// run transformation on redux form action's headers, bodyformData and queryParameters.
// the reason we do this is because the transformation should only be done on the raw action data from the redux form.
// However sometimes when we attempt to save an API as a datasource, we update the Apiaction with the datasource information and the redux form data will not be available i.e. reduxFormApiAction = undefined
// In this scenario we can just default to the action object - (skip the if block below).
if (!isEmpty(reduxFormApiAction)) {
action = {
...action,
actionConfiguration: {
...action.actionConfiguration,
headers: reduxFormApiAction.actionConfiguration.headers,
bodyFormData: reduxFormApiAction.actionConfiguration.bodyFormData,View on GitHub (pinned to 8cd9021c24)
Solutions
- Refresh the editor so the actions slice reloads from the server.
- Confirm the action id being dispatched still exists (open the query pane).
- Check for double-submission / debounce races in custom JS that triggers saves.
Defensive patterns
Strategy: validation
Validate before calling
// In a JS object, confirm the action still exists before saving
// (introspect appsmith or your own cache of action ids)
if (!actionExists(actionId)) {
showAlert('This action no longer exists; refresh the editor', 'error');
return;
} Prevention
- Avoid deleting and re-saving the same action in quick succession.
- Refresh the editor after large structural changes.
- Debounce custom save triggers so stale updates are not dispatched.
When it happens
Trigger: A SAVE_ACTION / UPDATE_ACTION redux event arrives for an id that was deleted, not yet loaded, or belongs to a different page/application; race between delete-action and an in-flight save.
Common situations: User deletes a query while its save is debouncing; switching pages mid-edit dispatches a stale update; importing partial state leaves the actions slice out of sync.
Related errors
AI-assisted analysis of appsmithorg/appsmith@8cd9021c24 (2026-08-12).
Data as JSON: /api/errors/14ba0467436b73f4.
Report an issue: GitHub.