DEV Community

An Pham
An Pham

Posted on

Your AI agent can't fetch behind logins. I built a <400kb fix in Zig.

Claude Code has WebFetch. Every AI coding agent has some way to grab a webpage.

They all hit the same wall: auth.

Try fetching a Medium article. A Facebook post. A private Substack. Anything behind Cloudflare. The agent gets a login page, a CAPTCHA, or nothing — and makes up the rest.

What playpanda does

playpanda https://medium.com/@someone/private-post
Enter fullscreen mode Exit fullscreen mode

You log in once. Cookies get saved. After that, fetching just works — from an agent, a script, or the terminal.

The output is markdown with the junk stripped out. No nav bars, no cookie banners, no ads, no image CDN URLs. Just the content.

How agents can use it

Anything that can shell out can use it:

# Replace WebFetch in Claude Code
playpanda https://docs.example.com/private-api

# Fetch multiple pages at once
playpanda https://url1.com,https://url2.com,https://url3.com
Enter fullscreen mode Exit fullscreen mode

How fetching works

It tries the fastest method first and escalates when something gets in the way:

Method Speed When it kicks in
HTTP fetch ~200ms Default, works for most pages
JS rendering ~1.5s Page needs JavaScript to load
Real browser + anti-detection ~6s Site actively blocks bots

The agent doesn't need to know which tier ran. It just gets markdown back.

Size

Single Zig binary, under 400kb.

Install

One-liner:

curl -fsSL https://raw.githubusercontent.com/ancs21/playpanda/main/scripts/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

As an agent skill:

npx skills add ancs21/playpanda
Enter fullscreen mode Exit fullscreen mode

From source (requires Zig 0.15+):

git clone https://github.com/ancs21/playpanda.git
cd playpanda
zig build -Doptimize=.ReleaseFast
cp zig-out/bin/playpanda ~/.local/bin/
Enter fullscreen mode Exit fullscreen mode

GitHub: https://github.com/ancs21/playpanda (Apache 2.0 license)

Top comments (0)