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
- Verify the operationId in the node config matches an installed plugin operation exactly
- Install/enable the missing plugin in this environment, or update the node to point at an existing operation
- 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
- Verify plugin availability in every target environment before deploying workflows
- Avoid hardcoding operationIds; pick them from the live plugin registry
- Refresh plugin caches after marketplace installs/uninstalls
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)