Summary
Delete-and-recreate is the only way to fully reset a node's inputSchema (since edit_node merges and cannot remove properties/required entries). But recreation mints a new node id, while downstream nodes keep their sourceNodeId pins referencing the old, deleted id — and validate_workflow passes without flagging the dangling reference. Wiring breaks silently: runs fail on missing inputs, or agent nodes quietly guess values.
Reproduction (verified 2026-08-06)
- Workflow with node X → downstream node Y pinned to X (
sourceNodeId: <X id>).
- Delete X, recreate it identically (new id).
validate_workflow → passes.
- Run → Y's pinned input resolves nothing (old id no longer exists).
Expected
validate_workflow should flag any sourceNodeId/sourcePath referencing a node id that doesn't exist in the graph — this is statically detectable and would turn a silent run-time failure into an immediate, actionable validation error.
Built/observed via the Clay plugin's workflow MCP (edit_node) + CLI on Claude Code.
Summary
Delete-and-recreate is the only way to fully reset a node's
inputSchema(sinceedit_nodemerges and cannot remove properties/required entries). But recreation mints a new node id, while downstream nodes keep theirsourceNodeIdpins referencing the old, deleted id — andvalidate_workflowpasses without flagging the dangling reference. Wiring breaks silently: runs fail on missing inputs, or agent nodes quietly guess values.Reproduction (verified 2026-08-06)
sourceNodeId: <X id>).validate_workflow→ passes.Expected
validate_workflowshould flag anysourceNodeId/sourcePathreferencing a node id that doesn't exist in the graph — this is statically detectable and would turn a silent run-time failure into an immediate, actionable validation error.Built/observed via the Clay plugin's workflow MCP (
edit_node) + CLI on Claude Code.