Claude Code builds a local video compression interface
Willison wanted to optimize a phone recording before publishing it. He used Claude Code for web to build a browser tool around FFmpeg compiled to WebAssembly, with multiple output presets.
AddedWillison used Claude Code to narrow a Cloudflare challenge to multi-parameter searches. When the MCP interface could not edit the relevant rules, the agent switched to the API.
Editorial adaptation, not the source author’s exact prompt. Replace bracketed inputs and review tool permissions first.
Using read-only access, inspect [site] WAF rules and identify the rule affecting [request pattern]. Propose the exact expression and a rollback. Stop before any PATCH request. After explicit approval, change only that rule and verify both the allowed and challenged request patterns.
Willison documents the API update and reports ordinary single-term searches no longer trigger the challenge.
Reported by Simon WillisonWillison chose the rule behavior and created an expiring token with Zone WAF edit permission.
A person approved each step before the agent continued.
Claude adapted its tool strategy after the MCP route failed and located the identifiers needed for the API change.
Firsthand operational account includes commands and permission scope. Do not infer that all API credentials were minimally scoped.
Credit: Simon Willison
Source published 15 Jun 2026
Source checked 14 Oct 2026
Claude Code · Cloudflare MCP · Cloudflare API · curl · jq
Operations · Checkpoints
Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.