"Model output doesn't fit required format" in n8n: three different failures share this one message. How to tell them apart, and the fix for each — read from n8n's Structured Output Parser source.
"A 'json' property isn't an object" in n8n: the envelope is right but its contents aren't. n8n's object test rejects null, arrays and Dates specifically — the exact rule, read from the validator source.
"Code doesn't return items properly" in n8n: the Code node's return value failed a shape check before n8n ever looked at your data. The exact conditions that trigger it, read from n8n's validator source.
"Invalid output format" in n8n: you put one of n8n's five reserved item keys alongside your own keys on the same object. Which five, why the mix is refused, and the exact rule — read from n8n's validator source.
"Unknown top-level item key" in n8n: this one means your returned array is inconsistent — some items are n8n items and this one isn't. Why it fires only in Run Once for All Items mode, read from the validator source.
"Paired item data for item from node is unavailable" in n8n: an expression used .item, and a node in the chain didn't attach pairedItem to its output. The three-line fix, and the four other messages the same subsystem throws.
"Credentials could not be decrypted" in n8n: your database survived and your encryption key didn't. Why setting N8N_ENCRYPTION_KEY usually doesn't fix it, and what is and isn't recoverable.
"The requested webhook is not registered" in n8n: the hint underneath the message tells you whether n8n thinks you called the test URL or the production URL — and that single word decides which of two completely different fixes you need.