Files
dotfiles/dot_agents/skills/cloudflare/references/browser-rendering/configuration.md
T
Prad Nukala 6406208b35 shell: fish functions -> ~/.local/bin executables + bash/zsh ports; manage ~/.agents
- 16 cross-shell utilities converted to sh/bash chezmoi executables:
  ai c2p cp-appid extract_agents fab gdc gh-sonr-org-migrate ghg-clone
  ghn gho git-summary launch_omp_livediff_overlay lc-elir mdcp mdp pj
  (ghg-clone not named ghg: unrelated cargo binary owns that name)
- cwd/history helpers stay per-shell: yy c cd clip-last + ghg/ghn/gho
  cd-wrappers in bash/functions/ and zsh/functions/, loaded by rc files
- fish keeps only shell-state functions; converted ones now hit PATH
- cp-appid ignore gating moved to .local/bin path
- dot_agents/skills: 82 skills materialized from dotstate storage so
  dot_claude skill symlinks resolve on fresh bootstrap; dotstate
  profile/symlinks.json released .agents/skills .bashrc .zshrc
2026-08-10 15:15:06 -04:00

1.8 KiB

Configuration & Setup

Installation

npm install @cloudflare/puppeteer  # or @cloudflare/playwright

Use Cloudflare packages - standard puppeteer/playwright won't work in Workers.

wrangler.json

{
  "name": "browser-worker",
  "main": "src/index.ts",
  "compatibility_date": "2025-01-01",
  "compatibility_flags": ["nodejs_compat"],
  "browser": {
    "binding": "MYBROWSER"
  }
}

Required: nodejs_compat flag and browser.binding.

TypeScript

interface Env {
  MYBROWSER: Fetcher;
}

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    // ...
  }
} satisfies ExportedHandler<Env>;

Development

wrangler dev --remote  # --remote required for browser binding

Local mode does NOT support Browser Rendering - must use --remote.

REST API

No wrangler config needed. Get API token with "Browser Rendering - Edit" permission.

curl -X POST \
  'https://api.cloudflare.com/client/v4/accounts/{accountId}/browser-rendering/screenshot' \
  -H 'Authorization: Bearer TOKEN' \
  -d '{"url": "https://example.com"}' --output screenshot.png

Requirements

Requirement Value
Node.js compatibility nodejs_compat flag
Compatibility date 2023-03-01+
Module format ES modules only
Browser Chromium 119+ (no Firefox/Safari)

Not supported: WebGL, WebRTC, extensions, file:// protocol, Service Worker syntax.

Troubleshooting

Error Solution
MYBROWSER is undefined Use wrangler dev --remote
nodejs_compat not enabled Add to compatibility_flags
Module not found npm install @cloudflare/puppeteer
Browser Rendering not available Enable in dashboard