Skip to content

v2.57.4 — the external-fetch gate says when to go external after its pause

Choose a tag to compare

@mikeprasad mikeprasad released this 24 Oct 23:40
· 30 commits to main since this release

The external-fetch gate still blocks first, and its message now says when to go external. Measured 2026-10-24: a subagent was denied on help.shopify.com and returned without retrying, and the parent answered from memory. The retry would have passed: it did, as soon as the subagent was told to try again. The three files the gate cited only mentioned shopify.com in passing (brand extraction, image URLs, a design-system list), but the old message said they "already cover this surface" and put "the retry will pass" last.

  • New deny text (pre-external-fetch-check.sh): says the pause is not a refusal; says the files matched by domain name only and may not be about the question; tells the agent to retry the same fetch if none of them is about the question, they do not fully answer it, what they say needs validating against the current source, or they may be stale; allows skipping the fetch only when a local file fully answers and is believed current; and says not to stop or ask the user to fetch or paste the page.
  • Each cited file shows its modified date, so staleness can be judged (date -r, BSD and GNU; the date is omitted if it cannot be read).
  • Unchanged: matching, the once-per-site cooldown, the circuit breaker, the hit cap, the time budget, fail-open and the output schema.
  • Tests: test-external-fetch-gate.sh AC-R1..R3 (11 assertions), all seen red on the previous hook. They check the wording; whether agents now retry needs a live denial after install.
  • Ports: the same change in Antigravity (2.57.4, regenerated), Codex (2.57.4-codex.0) and Cursor (2.57.4-cursor.0). Cowork has no hooks and stays 1.8.1.

Codex asset updated 2026-10-25 (2.57.4-codex.1): /snapshot now copies the Codex session it runs in (it read Claude Code's transcript folder before), and capture filenames use the last 8 characters of the session id so sessions started close together no longer overwrite each other. Other assets unchanged.