Show HN: Browser Tools SDK โ€“ an optimal browser harness for agents

Show HN (score: 7)
Found: July 21, 2026
ID: 6183

Description

Show HN: Browser Tools SDK โ€“ an optimal browser harness for agents Weโ€™re open-sourcing Browser Tools SDK: a small TypeScript package to give any AI agent a reliable way to control a real browser. With just a few lines of code, you can give any agent a production-ready browser harness

  import { createAiSdkBrowserTools } from "libretto-browser-tools/ai-sdk";
  import { LocalBrowserProvider } from "libretto-browser-tools";

  const { tools } = createAiSdkBrowserTools(new LocalBrowserProvider());

  const result = await generateText({
    model: anthropic("claude-sonnet-4-5"),
    tools,
    prompt: "Go to Hacker News and tell me the top story",
  });
We built the Browser Tools SDK because access to a browser is one of the most important tools of a productive agent, but we found many of the existing tools lacking. Using the insights we gained building Libretto, we were able to build the SDK so that itโ€™s significantly more context and cost-efficient than other tools:

We compared Browser Tools SDK against agent-browser, playwright-cli, and dev-browser on 26 live-site tasks with GPT 5.6 Sol (best results from 3 runs). Browser Tools tied for the best pass rate at 24/26 and came in about 55% cheaper per successful task than the next alternative ($0.106 vs $0.235) while also using far fewer tokens (1.45M vs 2.29M+). Benchmark methodology is in the repo.

The Browser Tools SDK only exposes 6 tools, of which only 2 are really important: `browser_snapshot` and `browser_exec`. The snapshot tool was designed from the ground up to be extremely context-efficient and provide agents the overview they need to know what to try next. The exec tool takes and executes raw Playwright code, of which the models have been trained on heaps of, and know how to use without much direction.

Works with AI SDK and Pi out of the box, plus a custom path for anything else. More frameworks are coming soon. You can also use any browser infra provider (Libretto Cloud, Kernel, Browserbase, etc.) or use `LocalBrowserProvider` to run Chromium locally (although that will have less anti-bot protections).

MIT licensed. Check out the docs: https://libretto.sh/docs/browser-tools/quickstart and join the Discord: https://discord.gg/NYrG56hVDt.

Weโ€™d love any and all feedback.

More from Show

Show HN: Superserve โ€“ Firecracker microVM sandboxes for long-running AI agents

Show HN: Superserve โ€“ Firecracker microVM sandboxes for long-running AI agents Hey HN, I built Superserve, a compute layer that lets AI agents live inside isolated Firecracker microVMs with no session time limits.<p>The problem I kept running into: most sandbox providers kill your agent after 24 hours. If you&#x27;re running something autonomous that needs to work for days โ€” refactoring a codebase, running tests in a loop โ€” you&#x27;re constantly fighting timeouts and rebuilding state.<p>Superserve lets you snapshot a running VM at any point, fork it into parallel branches, and resume exactly where you left off. Each agent gets its own VM, no shared kernels. There&#x27;s also a credentials broker so agents never touch raw API keys directly, and egress is locked to URLs you specify.<p>You bring your own agent (Claude Code, Codex, etc.). We handle the durable compute underneath. TypeScript and Python SDKs, MCP support, open-source and self-hostable.<p>Would love to hear feedback, especially from anyone building long-running agents.

No other tools from this source yet.