{"name":"updatedToolOutput","slug":"updatedtooloutput","family":"setting","title":"Settings keys","noun":"settings key","description":"A hook using only the older MCP output field no longer silently rewrites tool results.","description_source":"entry","described_by":{"version":"2.1.236","anchor":"old-style-mcp-tool-output-rewrites-from-hooks-are-no-longer-"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.309","builds":0,"mined_builds":150,"first_cited":{"version":"2.1.121","released_at":"2026-04-27 19:39:46","spans":1}},"aliases":[],"entries":[{"version":"2.1.296","anchor":"posttooluse-hooks-can-rewrite-mcp-tool-output-via-updatedmcp","heading":"PostToolUse hooks can rewrite MCP tool results with updatedMCPToolOutput","line":"A PostToolUse hook can now replace an MCP tool's result using updatedMCPToolOutput when it does not set updatedToolOutput","released_at":"2026-10-09 16:58:10","reason":"found in this entry's text, named in this entry"},{"version":"2.1.293","anchor":"hook-output-telemetry-and-remote-hook-sanitising","heading":"Hooks running away from the tool can no longer rewrite its input or result","line":"Hooks that ran somewhere other than the tool can no longer change its input or result: input changes become a denial, result changes are dropped","released_at":"2026-10-07 17:18:04","reason":"found in this entry's text"},{"version":"2.1.277","anchor":"tool-dispatch-gains-a-detached-result-path-and-hook-outpu","heading":"Tool dispatch gains a 'detached' result path, and hook-output-mismatch errors now carry reason codes","line":"Tool results get a new 'detached' stop path, and hook output errors now carry machine-readable reason codes","released_at":"2026-09-18 16:22:26","reason":"found in this entry's text"},{"version":"2.1.236","anchor":"old-style-mcp-tool-output-rewrites-from-hooks-are-no-longer-","heading":"Old-style MCP tool-output rewrites from hooks are no longer applied silently","line":"A hook using only the older MCP output field no longer silently rewrites tool results.","released_at":"2026-08-19 18:45:14","reason":"named in this entry, found in this entry's text"},{"version":"2.1.121","anchor":"notes","heading":"","line":null,"released_at":"2026-04-27 19:39:46","reason":"found in this entry's text"},{"version":"2.1.121","anchor":"updatedtooloutput-hook-property","heading":"updatedToolOutput Hook Property","line":null,"released_at":"2026-04-27 19:39:46","reason":"found in this entry's text"}],"entries_total":6,"docs":[{"source":"claude-code","path":"agent-sdk\/hooks","title":"Intercept and control agent behavior with hooks","documented":false},{"source":"claude-code","path":"agent-sdk\/python","title":"Agent SDK reference - Python","documented":false},{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"hooks","title":"Hooks reference","documented":false},{"source":"claude-code","path":"whats-new\/2026-w18","title":"Week 18 \u00b7 April 27 \u2013 May 1, 2026","documented":false}],"docs_total":5,"gates":[],"related":[],"url":"https:\/\/changelogs.core-directive.com\/reference\/setting\/updatedtooloutput","family_url":"https:\/\/changelogs.core-directive.com\/reference\/setting.json"}