What happens to AI agent tools when a website changes?
When a website changes, its recipe can stop working. Wield keeps every recipe in versions, checks public read recipes daily and marks a failing recipe as degraded. wield-mcp then runs the last version that worked. A fix ships as a new version, and an agent can pin an older one.
Versions and pinning
A published version is never changed in place. A fix is a new version. The old file stays in the registry as a pinned version, for example search-listings.v1.json, and the main file holds the new version with a higher number. An agent that pins a version keeps using it.
Recipe ids, parameters and output shapes stay stable, because agents depend on them. When a change cannot be avoided, the recipe's provenance notes explain what changed and why.
Daily health checks
Health checks run every day on public read recipes that can run from a server. They run only where the site allows bots in its robots.txt and answers them. Login recipes, write recipes and browser-only recipes are not checked from servers. Their health is judged by run telemetry, which is opt-in and off by default.
A recipe that fails twice in a row is marked degraded. The mark appears on its page and in find_recipe, the tool your agent uses to look up recipes. The builder then tries a repair from a fresh public sample. Repairs come back as new versions for review.
While a recipe is degraded, wield-mcp falls back to the last good version. You do not need to change your setup.
Real v2 fixes
The recipe status file records these fixes. Each one was a new version, and the older version stays pinned.
| Recipe | What changed | Fix |
|---|---|---|
airbnb.com/search-stays | Price lines came in three shapes. In one browser, v1 left 6 of 20 ordered price lines empty. | v2 reads all three shapes and prices every line. v1 is pinned. |
mobile.de/search-cars | The bare search path now redirects to www.mobile.de. | v2 starts at the search path with its parameters. A search with no cards now fails, instead of returning zero cars, so the extension can retry. v1 is pinned. |
zalando.de/search-products | A collection id that returned no hits on www. | The recipe uses the katalog collection id, which returns products. |
kleinanzeigen.de/search-listings | Post dates needed a clearer format. | v2 returns posted_at as ISO dates, with today and yesterday worked out from the current time. v1 is pinned as search-listings.v1.json. |
lieferando.de/search-restaurants | The provenance did not name the host the recipe calls. | No request changed. The provenance now names the Just Eat Takeaway API host and explains why the recipe calls it. |
Report a broken recipe
Use the Report button on the recipe's page, or ask your agent to call request_recipe with the site and what failed. Include the error code and the date of the run. For a security problem, such as a recipe that sends data where it should not, write privately to the contact on the privacy page instead of opening a public issue.
When a run returns expect_failed, the site's answer no longer matches what the recipe expects. That is the signal that a new version is needed.
FAQ
Will my agent break when a recipe changes?
Only if the recipe's id, parameters or output shape change, and Wield keeps those stable. If a change cannot be avoided, the old version stays pinned, so an agent that depends on it keeps working.
How do I know a recipe is degraded?
A degraded recipe is marked on its page and in find_recipe. Your agent sees the same mark when it searches for recipes.
Does a degraded recipe still run?
wield-mcp runs the last good version while the recipe is repaired. You do not need to change anything.
Are all recipes checked every day?
No. Public read recipes that can run from a server get daily health checks. Login, write and browser-only recipes rely on opt-in run telemetry instead.
Which version am I running?
Ask your agent for status, or run npx -y wield-mcp doctor in a terminal.