You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: web fetch-browser is not installed by default, so the FETCH_BLOCKED escalation path is a dead end #247
webcmd web fetch is built into the CLI (client-owned path, src/main.ts:74). webcmd web fetch-browser is not — it lives in the web plugin, which a fresh npm install -g @agentrhq/webcmd does not include.
$ webcmd web fetch-browser --url https://example.com
Site "web" is not installed.
Search: webcmd plugin search web
Why it matters
The blocked path points straight at the missing command. src/fetch/client.ts raises FETCH_BLOCKED / FETCH_REQUIRES_BROWSER with hint: 'Use webcmd web fetch-browser for this URL.', and skills/smart-search/SKILL.md names it as the mandatory second rung of the cost order. On a default install the sequence is:
web fetch → FETCH_BLOCKED, hint says use fetch-browser
web fetch-browser → Site "web" is not installed
agent has no escalation path and falls back to looping search engines
Observed in a real session: a research run hit DuckDuckGo (empty), Bing (CAPTCHA), Reddit plain HTTP (WAF block), and had no working browser escalation, because the command the errors kept recommending was not installed.
Options
Ship web fetch-browser in the core CLI alongside web fetch — they read as one command pair, and the split is invisible until it fails.
Or, if it must stay a plugin: make the FETCH_BLOCKED hint detect that web is not installed and emit the install command instead of naming an unavailable one, and have smart-search preflight availability before promising the escalation.
The asymmetry itself is the surprise — webcmd web fetch working while webcmd web fetch-browser reports the web site missing is hard to predict from the outside.
Closed by #295. The old web fetch-browser adapter path was removed entirely: web fetch is now an inbuilt/client-owned command, and browser rendering is an explicit Session + browser run workflow rather than a missing default adapter.
Activity
test: prove manifest commands load from the installed package layout
refactor(fetch): move web into core and auto-escalate to the browser …
refactor(fetch): make web fetch a client-owned core command
beubax commentedon Aug 12, 2026
Closed by #295. The old
web fetch-browseradapter path was removed entirely:web fetchis now an inbuilt/client-owned command, and browser rendering is an explicit Session +browser runworkflow rather than a missing default adapter.