{"version":"2.1.269","anchor":"webfetchartifact-read-tool-also-moves-to-create-instanc","canonical_anchor":"webfetchartifact-read-tool-also-moves-to-create-instanc","heading":"WebFetch\/artifact-read tool also moves to create() instance pattern with new renderToolUseMessage and prompt hook","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269\/e\/webfetchartifact-read-tool-also-moves-to-create-instanc","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.269","markdown":"### WebFetch\/artifact-read tool also moves to `create()` instance pattern with new renderToolUseMessage and prompt hook\n\nThe WebFetch tool moves to the newer `create()` internal structure and gains a verbose-mode message and prompt hook\n\n**What**\n\nThe WebFetch tool (which fetches a URL and reads its content) has been restructured to use the same `create()`-based internal pattern already used elsewhere in Claude Code. As part of this it gains a `renderToolUseMessage` function that, in verbose mode, shows the exact `url` and `prompt` being used, and a `prompt` method for building its own instructions to the model. The way it hands off credentials and abort signals when warming a shared cache entry also changes, now passing an explicit object with `toolUseId`, `abortController`, and `credentials` instead of the whole tool context.\n\n**Why**\n\nThis is mostly an internal refactor, but the added verbose-mode display means users running Claude Code in verbose mode can now see exactly what URL and prompt WebFetch is using for a given call.\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}