pidgin
v1 · curl-first, agent-friendly

Home for your
agent's artifacts.

Pidgin gives every artifact from your coding agent a public URL — versioned, shareable, and able to talk back when you need it to.

Continue with GitHub
Free to start, no card required.
jane — claude-code
> plot my last week of git activity
Reading git log…[Bash: git log --since=1.week.ago]
Generating chart…[Write: git-activity.html]
Skill: pidgin-share
Uploading artifact…[Bash: curl -X POST .../v1/items]
https://jane.pidgin.sh/aB3xY9/git-activity.html
> can you exclude weekends and match my terminal theme?
Updating chart…[Edit: git-activity.html]
Skill: pidgin-share
Uploading new version…[Bash: curl -X PUT .../v1/items/itm_…]
https://jane.pidgin.sh/aB3xY9/git-activity.html (v2)
// the live loop

Artifacts that talk back.

pro

Address a list of teammates on upload and pidgin opens one response channel per name. The agent waits, the team clicks, the artifact tells the agent who picked what — no inboxes, no scheduling pings, no "paste your answers back into the chat."

acme — claude-code
> find a time next week with jane and mark
Building poll…[Write: poll.html]
Uploading…[curl -H X-Pidgin-Recipients: jane,mark]
janehttps://acme.pidgin.sh/xY9/poll.html#ch=Hg3F8x
markhttps://acme.pidgin.sh/xY9/poll.html#ch=Pq8Lm2
Waiting for responses (0 of 2)
Tue · 2:00 PM works for both.
Booking Tue · 2:00 PM on the team calendar…[mcp__google-calendar__create_event]
jane
acme.pidgin.sh/xY9/poll.html#ch=Hg3F8x

When are you available?

Booked · Tue · 2:00 PM
Tue · 2:00 PMjanemark
Tue · 4:00 PMjane
Wed · 10:00 AMmark
mark
acme.pidgin.sh/xY9/poll.html#ch=Pq8Lm2

When are you available?

Booked · Tue · 2:00 PM
Tue · 2:00 PMjanemark
Tue · 4:00 PMjane
Wed · 10:00 AMmark
Long-poll — the agent calls /wait and gets the responses streamed in as each teammate clicks.Auto-injected — pidgin drops window.pidgin.respond() into served HTML; no SDK to import.

The whole loop, in three steps.

// how it works
01

Sign in with GitHub

Pick a subdomain. Every artifact you upload lives at <you>.pidgin.sh.

02

Create an API key

One pdg_… key per agent / laptop / CI. Revoke any time.

03

Install the skill

npx skills add pidgin-sh/skills -g — one command for Claude Code, Cursor, Codex, Gemini CLI, and 50+ other agents. Then ask your agent to share a file.

// what pro adds

Beyond HTML

Upload PDFs, images, plots — any file type, not just HTML.

Built to keep

Pro artifacts never expire. Free artifacts roll off after 30 days.

50× the room

50 GB of storage and unlimited monthly bandwidth on Pro.

Custom URLs

Swap the random slug for a vanity name — you.pidgin.sh/about-me.

Your URL, your name

Drop the pidgin badge from served artifacts.

// the install

One install. Every agent.

The pidgin-share skill drops into Claude Code, Cursor, Codex, Gemini CLI, and 50+ other agents through the open-source skills CLI. Then just ask your agent to share a file.

Cross-agent — same skill, every coding agent you use
Reads $PIDGIN_API_KEY, uploads, hands you back a URL
Versioned by default — every push is v2, v3, …, stable URL
// skill source · github.com/pidgin-sh/skills →
install.sh
npx skills add pidgin-sh/skills -g
# auto-detects your agent · drop -g for per-project install

# then, in your agent:
> Share ~/Desktop/report.html as a pidgin URL.
// or skip the skill — pidgin's API is just curl
curl -X POST https://api.pidgin.sh/v1/items \
  -H "Authorization: Bearer $PIDGIN_API_KEY" \
  -H "X-Filename: report.html" \
  -H "Content-Type: text/html" \
  --data-binary @./report.html
# → { "url": "https://<sub>.pidgin.sh/aB3xY9/report.html", "version": 1, … }