Set up Pigeon
Pigeon creates a Cloudflare R2 bucket, configures upload access, and installs a shared agent skill.
1. Create a Cloudflare token
Pigeon needs one Cloudflare API token that carries two permissions: Workers R2 Storage · Edit (creates the bucket, public route, and lifecycle rule) and API Tokens · Write (mints the bucket-scoped upload key). The token is never stored.
- 1. Open dash.cloudflare.com/profile/api-tokens.
- 2. Click Create Token.
- 3. At the bottom, next to Create Custom Token, click Get started.
- 4. Name it
p1geon. - 5. Under Permissions, set the first row to
Account → Workers R2 Storage → Edit. - 6. Click + Add more and set the second row to
User → API Tokens → Write. - 7. Under Account Resources, choose
Include→ your account. - 8. Click Continue to summary, then Create Token, and copy the token — it is shown only once.
Find your Account ID on the R2 Overview page (right sidebar), or in the dashboard URL after dash.cloudflare.com/.
2. Run setup
Paste the token when prompted (or set CLOUDFLARE_API_TOKEN). Add --dry-run to validate the token and account without creating anything. To supply pre-made bucket credentials instead, add --with-key.
3. Check it works
Doctor uploads a small file, opens it through the public route, then deletes it.
Requirements
Agents use aws-cli to upload files. Screenshot capture uses native tools or headless Chromium. Config lives at ~/.pigeon/config.
Manage it
p1geon env --shell sh
p1geon rotate
p1geon destroy