n8n 2.44.0 refuses to save a workflow that adds or changes a Function or Function Item node, and the Code node is not affected. The two look alike on the canvas and both hold JavaScript, so check which one you actually have before you rebuild anything. The Function node ran your code once and handed you every item in an array called items. Function Item ran once per item and handed you that item's data as item. The Code node replaced both back in n8n 0.198.0, and n8n hides the old pair from the node picker, so anything you added from the picker lately is already a Code node. The old ones live on in older workflows and in exported JSON, still running in vm2, a sandbox n8n calls insecure. Nothing stops running today. The save is what fails: add one, edit one, or import a JSON file that has one. Open the node, and if its panel says Function, replace it with a Code node set to Run Once for All Items, where items becomes $input.all(). If it says Function Item, use Run Once for Each Item, where item becomes $json. Paste the old code in, change those names, and run it once against the same input. It is a beta release, so there is time. Self hosters can set N8N_DEPRECATED_NODES_BLOCK=false while they move. 🔗 https://github.com/n8n-io/n8n/pull/31360 Does any node in your oldest workflow still say Function in its panel?