When your AI agent can't read the page.
AI agents often fail to read a page: the fetch is refused, comes back empty, or returns a bot-check page that the agent summarises as if it were content. Levirge Search reads public pages in full, retrying in a full browser when an ordinary read fails. When it still can't, it tells the agent why, instead of handing back a block page.
The worst one looks like success
A refused read is obvious. A challenge page returned with a 200 isn't: the agent summarises it, and nobody can tell.
| What happens | What the agent sees | What Search does |
|---|---|---|
| Refused | An error, zero bytes. The question can't be answered. | Reads the page in a full browser. |
| Empty | A page with no content until a browser runs it. | Notes the source and uses the browser for it from then on. |
| Wrong body | A 200 with the site's challenge page. The agent summarises it. | Detects challenge and error content; never serves it as a page. |
A refused read, the real page, and a failure that says so
Both captured from Claude Code over MCP, payloads verbatim.
// captured 29 Oct 2026 WebFetch("https://www.realestate.com.au/buy/property-unit+apartment-in-perth+cbd/list-1?activeSort=price-asc") Error: Claude Code is unable to fetch from www.realestate.com.au
// same URL, four seconds later fetch("https://www.realestate.com.au/buy/…") [via stealth] # Apartments & units for sale in Perth - CBD and Inner Suburbs, WA Showing 1 – 25 of 904 properties Sort results by: Price (Lowest - Highest)
// captured 8 Aug 2026, a retired host
FAILED: Error: fetch failed for
https://deno-was-retired.example.dev/changelog:
direct (blocked/error content: {"error": 500, …});
stealth (stealth 502: Page.goto:
net::ERR_CERT_AUTHORITY_INVALID …)
Public pages only
Search reads pages a person could open in their own browser. It does not get past logins or paywalls.
Paced, not bulk
Reads are paced per source at a human rate. Bulk scraping is not allowed.
On the record
Every read is recorded with its URL, outcome and timestamp, and content is cached for 24 hours.
Two commands, then sign in
Restart and sign in when the browser opens. Verify with stealth_list. Other clients →
| claude plugin marketplace add levirge/search |
| claude plugin install levirge-search@levirge-search |
Agents and unreadable pages
Why can't my AI agent read some web pages?
Three common reasons. The tool refuses the domain or the site blocks it with an error. The site returns an empty page that only fills in when a browser runs it. Or the site serves a bot-check page with a 200 status, and the agent treats it as the content.
Why did my agent summarise a 'Just a moment...' page?
Because an ordinary fetch tool delivered the site's challenge page as if it were the article. The status was 200, so nothing flagged it. Levirge Search detects challenge and error content and never serves it as a page.
How does Levirge Search read sites that block other tools?
A full browser opens the page. The first time an ordinary read of a source comes back empty, Search notes it and uses the browser for that source from then on, with no rules file or per-source setup.
What happens when a page still can't be read?
The agent gets an explicit failure that names each route tried and why it failed. The read is recorded in your workspace with its URL, outcome and timestamp. Search never hands back an empty page for an agent to summarise.
Does it get past paywalls or logins?
No. Search reads public pages a person could open in their own browser, paced per source at a human rate. Paywalled and login-gated sources are not supported, and bulk scraping is not allowed.
What does it cost?
Personal is $29 a month, Pro $99 and Business $199. Every plan includes unlimited search and unlimited open fetch under fair use; full-browser reads are metered per plan.
Answers from the page, not the block page
Unlimited search and open fetch under fair use on every plan. Personal from $29 a month.