{"version":"2.1.293","anchor":"hook-output-from-commands-that-ran-elsewhere-is-excluded","canonical_anchor":"hook-output-from-commands-that-ran-elsewhere-is-excluded","heading":"Hook output from a hook that ran on another machine is no longer collected","tier":"internal","area":"Hooks","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293\/e\/hook-output-from-commands-that-ran-elsewhere-is-excluded","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.293","markdown":"### Hook output from a hook that ran on another machine is no longer collected\n\nWhen Claude Code gathers hook output, it now skips results from hooks that ran elsewhere, not only failed, blocked or empty ones\n\n**Unclear.** It is not stated what makes Claude Code treat a hook as having run elsewhere, so it is unclear which setups this affects.\n\n**What**\n\nHooks are your own commands that Claude Code runs at set moments, such as before a tool is used. When Claude Code collects what those hooks printed, it already left out output that:\n\n- failed\n\n- was blocked\n\n- was empty\n\nIt now also leaves out output from any hook marked as having run elsewhere, meaning on another machine. Output from elicitation hooks (hooks that run when a connected tool asks you for input) that ran elsewhere is now passed through a separate conversion step.\n\n**Why**\n\nWhen a hook has run on another machine, its output would otherwise be added to the conversation a second time. Leaving it out stops Claude from seeing the same hook output twice.\n\n- Area: Hooks\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}