iflytek/astron-agent · error · CustomException

PLUGIN_NODE_EXECUTION_ERROR

PLUGIN_NODE_EXECUTION_ERROR

Error message

plugin not found: {self.operationId}

What it means

The plugin node looks up its configured operationId among the resolved plugin schemas; when no matching operation is found it raises PLUGIN_NODE_EXECUTION_ERROR with 'plugin not found'. The node cannot execute because the requested plugin operation does not exist in the registered plugin set.

Solutions

  1. Verify the operationId in the node config matches an installed plugin operation exactly
  2. Install/enable the missing plugin in this environment, or update the node to point at an existing operation
  3. Refresh the plugin schema cache/redeploy so the plugin list is current, then re-run

Example fix

// before
node_config = {"plugin_id": "weather", "operationId": "get_forecast_v1"}  // removed
// after
node_config = {"plugin_id": "weather", "operationId": "get_forecast_v2"}  // current operation
Defensive patterns

Strategy: validation

Validate before calling

ops = {op.operationId for op in loaded_plugin_schemas}
assert node_config["operationId"] in ops, "plugin operation missing"

Try / catch

try:
    result = await plugin_node.async_execute(...)
except CustomException as e:
    if "plugin not found" in e.err_msg:
        install_missing_plugin(e.err_msg.split(":")[-1].strip())

Prevention

When it happens

Trigger: execute() runs for a plugin node whose operationId is absent from the loaded plugin schema list — the plugin/tool was uninstalled, renamed, the id is mistyped, or the plugin list failed to load into the node's schema set.

Common situations: A workflow referencing a plugin that was later removed from the marketplace, copying a workflow between environments where the plugin isn't installed, or a stale cached plugin schema after an upgrade.

Understand the failure class

Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.

Related errors


AI-assisted analysis of iflytek/astron-agent@5e758547a8 (2026-09-12). Data as JSON: /api/errors/33935a444fcbf468. Report an issue: GitHub.

Appendix: source

Thrown at core/workflow/engine/nodes/plugin_tool/plugin_node.py:180

                            res[output_key] = schema_type_default_value[var_type]
                        else:
                            await span.add_info_events_async(
                                {
                                    "result type": f"{output_key}'s type is {type(res[output_key])}"
                                }
                            )
                            # Validate output type and provide default if type mismatch
                            if (
                                type(res[output_key])
                                not in schema_type_map_python[var_type]
                            ):
                                res[output_key] = schema_type_default_value[var_type]
                        outputs.update({output_key: res[output_key]})
                    break
            else:
                # Handle case where plugin operation is not found
                span.add_error_event(f"Error : plugin not found: {self.operationId}")
                raise CustomException(
                    CodeEnum.PLUGIN_NODE_EXECUTION_ERROR,
                    err_msg=f"plugin not found: {self.operationId}",
                )

            # Return successful execution result
            return NodeRunResult(
                status=WorkflowNodeExecutionStatus.SUCCEEDED,
                inputs=inputs,
                outputs=outputs,
                node_id=self.node_id,
                node_type=self.node_type,
                alias_name=self.alias_name,
            )
        except CustomException as e:
            span.record_exception(e)
            return NodeRunResult(
                status=WorkflowNodeExecutionStatus.FAILED,
                error=e,

View on GitHub (pinned to 5e758547a8)