Every capture on this page is from 8 Aug 2026, from Claude Code —
payloads verbatim, long bodies excerpted.

## 1 · The research question

*"What's new in Deno 2.9 — anything that changes how we ship?"*

An open, unprotected site this time. The difference isn't access — it's
what reaches the agent.

## 2 · The ordinary tool — a paraphrase, not the page

The host's native fetch works on open sites, but it answers with a small
model's paraphrase of the page. Captured verbatim (excerpt):

```
WebFetch("https://deno.com/blog/v2.9", "What's new in Deno 2.9?")

# What's New in Deno 2.9
**Desktop Applications**
The release introduces `deno desktop`, an experimental feature for
building native desktop apps … compiles to a single binary with no
Electron boilerplate …
**Performance Gains**
Startup time has been halved (17.3ms vs 34.2ms) …
```

Readable — but it's a paraphrase: nothing to quote, no control over
length, and the original wording is gone before the agent ever sees it.
On a protected site the same call returns nothing at all
([the blocked portal](/search/examples/blocked-portal.md)).

## 3 · Find the sources — structured results

`search` returns ranked results as structured JSON a model picks from
programmatically:

```
search("Deno 2.9 new features release notes")

[ { "title": "Deno 2.9 | Deno", "url": "https://deno.com/blog/v2.9",
    "content": "Deno 2.9 is here, headlined by deno desktop, a new way to
      build native desktop applications…" },
  { "title": "Releases · denoland/deno - GitHub",
    "url": "https://github.com/denoland/deno/releases",
    "content": "2.9.4 / 2026.07.23 · feat(desktop): enable --hmr…" } ]
```

## 4 · Read the top hit — the page itself, capped

`fetch` returns the page as clean markdown — content without the nav,
cookie banners or markup soup — capped server-side with the truncation
declared:

```
fetch("https://deno.com/blog/v2.9", max_bytes: 4000)

[via direct]
# Deno 2.9
June 25, 2026 — Bartek Iwańczuk

Deno 2.9 is here, headlined by `deno desktop`… no Electron boilerplate
and a single binary at the end… `deno install` now reads npm, pnpm,
yarn, and Bun lockfiles directly…

[truncated at max_bytes=4000 of 45127]
```

An open site takes the `[via direct]` fast path; a protected site gets
the full browser — same call shape either way.

## 5 · The answer the agent can now give

> Deno 2.9's headline is **`deno desktop`** — native desktop apps from a
> Deno project, "no Electron boilerplate and a single binary at the end",
> with `--hmr` hot reload in dev. Migration got easier too: **`deno
> install` now reads npm, pnpm, yarn, and Bun lockfiles directly**.
>
> Source: deno.com/blog/v2.9 (Bartek Iwańczuk, 25 Jun 2026), read
> 8 Aug 2026 `[via direct]` — quotes verbatim from the article; 4 KB of
> the 45 KB article was enough.

The quoted phrases are the article's own words — checkable against the
source — not a model's restatement of them.

## 6 · Measured improvement

- **Context:** 4 KB (~1k tokens) delivered of a 45,127-byte article, with
  the cap declared verbatim in the payload — never a silent truncation.
- **Citability:** verbatim markdown means the answer can quote the source;
  a paraphrase can't be checked against anything.
- **Provenance:** captured 8 Aug 2026 from Claude Code over MCP; the same
  URL returned 44 KB `[via direct]` in the
  [queued-reads run](/search/examples/queued-reads.md) the same morning.
  Repeat reads within 24 h come from cache.

## 7 · Run it yourself

Paste `deno.com/blog/v2.9` into the [try widget](/search#try), or
[install Search](/search#install) and ask the question.
