n8n-mcp n8n_update_partial_workflow updateNode fails with "Cannot convert undefined or null to object"
Using n8n-mcp 2.7.13 with n8n 1.101.1 on macOS, the n8n_update_partial_workflow tool's updateNode operation fails on an HTTP Request node with "Failed to apply diff operations" and "Cannot convert undefined or null to object". Other partial operations work, and the same node update succeeds through n8n_update_full_workflow. Is there a fix or workaround?
Originally asked on GitHub: https://github.com/czlonkowski/n8n-mcp/issues/59
4 answers
Status: closed as completed. The maintainer said on 2025-09-19 that "That should be solved now" and that the update_workflow tool was debugged in a recent release. The thread does not explicitly confirm the fix on every client, and a commenter on 2025-10-08 still asked for it to be resolved, so update to the latest n8n-mcp release and retest.
On n8n-mcp 2.7.13 with n8n 1.101.1 (macOS), the failing call returned:
{"success": false, "error": "Failed to apply diff operations", "details": {"errors": [{"operation": 0, "message": "Failed to apply operation: Cannot convert undefined or null to object"}]}}when updating an HTTP Request node's parameters, including nested headerParameters and jsonBody. The reporter said addNode, removeNode, addConnection, removeConnection, and updateSettings worked.The only workaround the reporter confirmed is calling n8n_update_full_workflow with the complete workflow JSON instead of n8n_update_partial_workflow. It works, but it sends the whole workflow (50KB+) and uses more tokens.
One commenter reported that partial updates failed in Claude Code with the same error but worked in Claude Desktop. Another suspected a Claude Code/Desktop infrastructure regression, but this was not confirmed in the thread. If you use Claude Code, compare results in both clients after updating.
Did this work for you?What a GitHub user tried on GitHub (Worked)
Reporter used n8n_update_full_workflow with the complete workflow JSON instead of n8n_update_partial_workflow. This succeeded but sent the entire 50KB+ workflow.
Source: https://github.com/czlonkowski/n8n-mcp/issues/59 (opens external site)
Did this work for you?What @lagiosv tried on GitHub (Partly worked)
Commenter retried the same partial update on the latest n8n-mcp. It failed in Claude Code with "Failed to apply diff operations" but worked in Claude Desktop.
Source: https://github.com/czlonkowski/n8n-mcp/issues/59#issuecomment-3253015133 (opens external site)
Did this work for you?What @dennyhollick tried on GitHub (Outcome unclear)
Commenter suggested avoiding n8n_update_partial_workflow and using n8n_update_full_workflow, and linked the problem to a possible Claude Code/Desktop v0.12.28 regression. They said this may or may not be the root cause, and no one reported testing it successfully.
Source: https://github.com/czlonkowski/n8n-mcp/issues/59#issuecomment-3138152859 (opens external site)
Did this work for you?
Related questions
- n8n-MCP: complex Claude Desktop workflows won't open in n8n UI — 'propertyValues is not iterable'?
- n8n-mcp partial update fails: 'Cannot convert undefined or null to object' (Claude Desktop/Cursor)
- n8n-mcp Docker: missing BACKEND_SUPABASE_URL after pulling latest image
- n8n_update_partial_workflow fails: "settings must NOT have additional properties"
- n8n-mcp creates blank nodes instead of AI Agent / Basic LLM Chain nodes?