What happens
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.
What happens
webcmd web fetchis built into the CLI (client-owned path,src/main.ts:74).webcmd web fetch-browseris not — it lives in thewebplugin, which a freshnpm install -g @agentrhq/webcmddoes not include.Why it matters
The blocked path points straight at the missing command.
src/fetch/client.tsraisesFETCH_BLOCKED/FETCH_REQUIRES_BROWSERwithhint: 'Use webcmd web fetch-browser for this URL.', andskills/smart-search/SKILL.mdnames it as the mandatory second rung of the cost order. On a default install the sequence is:web fetch→FETCH_BLOCKED, hint says usefetch-browserweb fetch-browser→Site "web" is not installedObserved 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
web fetch-browserin the core CLI alongsideweb fetch— they read as one command pair, and the split is invisible until it fails.FETCH_BLOCKEDhint detect thatwebis not installed and emit the install command instead of naming an unavailable one, and havesmart-searchpreflight availability before promising the escalation.The asymmetry itself is the surprise —
webcmd web fetchworking whilewebcmd web fetch-browserreports thewebsite missing is hard to predict from the outside.