{"version":"2.1.317","anchor":"http-hooks-can-be-relayed-from-a-tool-container-the-diskles","canonical_anchor":"http-hooks-can-be-relayed-from-a-tool-container-the-diskles","heading":"claude mcp serve over HTTP now sends HTTP hooks its session asks for","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/http-hooks-can-be-relayed-from-a-tool-container-the-diskles","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### claude mcp serve over HTTP now sends HTTP hooks its session asks for\n\n`claude mcp serve --transport http` now sends the HTTP hooks its own session asks it to send, rather than refusing all of them\n\n**What**\n\nHooks are commands or web requests Claude Code runs automatically at set moments. An HTTP hook sends a web request. When Claude Code runs as a server with `claude mcp serve --transport http`, it used to refuse every HTTP hook. It now sends the HTTP hooks that its own session asks it to send, and its error message says so.\n\nTwo related changes:\n\n- When an HTTP hook is blocked because its address does not match any pattern in `allowedHttpHookUrls`, the message now says \"its URL\" instead of the address in some modes.\n\n- Claude Code can now run hooks through the tool container, the separate environment where tools run.\n\n**Why**\n\nThis changes how hooks behave in container and cloud sessions. HTTP hooks that were always refused under `claude mcp serve --transport http` can now go out when the session requests them.\n\n- Area: MCP\n- Names: `claude mcp serve`, `--transport`\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: no"}