{"version":"2.1.311","anchor":"hook-output-over-length-handling-and-plugin-skill-hooks","canonical_anchor":"hook-output-over-length-handling-and-plugin-skill-hooks","heading":"Hooks with very long output are now cut short or ignored","tier":"notice","area":"Hooks","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/hook-output-over-length-handling-and-plugin-skill-hooks","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Hooks with very long output are now cut short or ignored\n\nOver-long hook output is now trimmed, and a too-long updatedToolOutput is dropped so Claude reads the tool's original result\n\n**What**\n\nA hook is a script Claude Code runs at set points, for example after a tool finishes. It can also rewrite the tool's result with `updatedToolOutput`. Claude Code now limits how much a hook can pass back:\n\n- hook output fields longer than a set length are trimmed\n\n- an `updatedToolOutput` that is too long is dropped, and Claude is told: \"A hook changed a tool's result, and the change was too long to pass on, so Claude read the result as the tool gave it.\"\n\nHooks run in remote sessions can now also find skills that come from catalogs, not only skills that come from plugins.\n\n**Why**\n\nA hook that produces a very large rewrite no longer breaks or bloats the result Claude sees. If you rely on a hook to replace a tool's result, keep the replacement short, or Claude will see the original result instead.\n\n- Area: Hooks\n- Names: `updatedToolOutput`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}