Skip to content

[Bug]: web fetch-browser is not installed by default, so the FETCH_BLOCKED escalation path is a dead end #247

Closed

Description

@ankitranjan7

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:

  1. web fetch → FETCH_BLOCKED, hint says use fetch-browser
  2. web fetch-browser → Site "web" is not installed
  3. 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.

Activity

  1. beubax commented on Aug 12, 2026

    @beubax
    Collaborator

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions