cloudflare
Cloudflare CLI - manage DNS records, purge cache, and control Workers routes.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Cloudflare CLI
Manage Cloudflare DNS, cache, and Workers via the API.
🔑 Required Secrets
| Variable | Description | How to Get |
|---|---|---|
CLOUDFLARE_API_TOKEN |
Scoped API token | Cloudflare → My Profile → API Tokens |
Recommended token permissions:
- DNS:Read, DNS:Edit
- Cache Purge:Purge
- Workers Routes:Edit
⚙️ Setup
Configure in ~/.clawdis/clawdis.json:
{
"skills": {
"cloudflare": {
"env": {
"CLOUDFLARE_API_TOKEN": "your-token"
}
}
}
}
📋 Commands
Verify Token
# Test that your token works
uv run {baseDir}/scripts/cloudflare.py verify
Zones (Domains)
# List all zones
uv run {baseDir}/scripts/cloudflare.py zones
# Get zone details
uv run {baseDir}/scripts/cloudflare.py zone <zone_id_or_domain>
DNS Records
# List DNS records for a zone
uv run {baseDir}/scripts/cloudflare.py dns list <domain>
# Add DNS record
uv run {baseDir}/scripts/cloudflare.py dns add <domain> --type A --name www --content 1.2.3.4
uv run {baseDir}/scripts/cloudflare.py dns add <domain> --type CNAME --name blog --content example.com
# Update DNS record
uv run {baseDir}/scripts/cloudflare.py dns update <domain> <record_id> --content 5.6.7.8
# Delete DNS record (asks for confirmation)
uv run {baseDir}/scripts/cloudflare.py dns delete <domain> <record_id>
# Delete without confirmation
uv run {baseDir}/scripts/cloudflare.py dns delete <domain> <record_id> --yes
Cache
# Purge everything
uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --all
# Purge specific URLs
uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --urls "https://example.com/page1,https://example.com/page2"
# Purge by prefix
uv run {baseDir}/scripts/cloudflare.py cache purge <domain> --prefix "/blog/"
Workers Routes
# List routes
uv run {baseDir}/scripts/cloudflare.py routes list <domain>
# Add route
uv run {baseDir}/scripts/cloudflare.py routes add <domain> --pattern "*.example.com/*" --worker my-worker
📤 Output Formats
All commands support --json for machine-readable output:
uv run {baseDir}/scripts/cloudflare.py dns list example.com --json
🔗 Common Workflows
Point domain to Vercel
# Add CNAME for apex
cloudflare dns add example.com --type CNAME --name @ --content cname.vercel-dns.com --proxied false
# Add CNAME for www
cloudflare dns add example.com --type CNAME --name www --content cname.vercel-dns.com --proxied false
Clear cache after deploy
cloudflare cache purge example.com --all
📦 Installation
clawdhub install cloudflare
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-30
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!