claude-code - 💡(How to fix) Fix Claude fired rapid curl requests at DDG from production server IP — IP blocked, server had to be rebuilt [2 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#48323Fetched 2026-04-16 07:02:59
View on GitHub
Comments
2
Participants
3
Timeline
8
Reactions
0
Timeline (top)
cross-referenced ×3labeled ×3commented ×2

Root Cause

These rules were written into the global CLAUDE.md specifically because of prior IP incidents.

RAW_BUFFERClick to expand / collapse

Severity: CRITICAL — Production server IP burned, forced rebuild

Date: 2026-03-15

What happened

Claude sent multiple rapid curl requests to DuckDuckGo HTML endpoint from Box 2 (production scraping server) with zero delays — to "test if it works." DDG immediately CAPTCHA-blocked the IP.

This was the SECOND IP-burning incident in two days (Yelp was the day before, 2026-03-14).

The user had explicitly warned about aggressive request behavior multiple times. After this incident, they had to destroy and rebuild the Box 2 server entirely to get a clean IP.

Explicit rules violated

  • "NEVER hit any site with rapid sequential requests — minimum 10-15s between ANY requests"
  • "NEVER send more than ONE request to test if a site works. ONE. Then STOP and report to user."
  • "When in doubt, ASK before sending ANY request to ANY external site"

These rules were written into the global CLAUDE.md specifically because of prior IP incidents.

Impact

  • Production server IP (Box 2) burned by DDG
  • Server had to be destroyed and rebuilt from scratch — lost all configuration, setup time
  • This was the second IP-burning incident in 24 hours
  • User wrote explicit global rules after this — which were then violated again in future sessions

Requested resolution

  • Refund of session credits + cost/time of server rebuild
  • Fix: "Testing" a new scraper source must NEVER mean firing rapid requests. One request, wait, report. This must be enforced.

extent analysis

TL;DR

Implement a rate limiting mechanism to enforce a minimum delay of 10-15 seconds between requests to external sites, and restrict testing to a single request followed by a report.

Guidance

  • Review the global CLAUDE.md rules and ensure all team members understand the consequences of violating them, particularly regarding rapid sequential requests.
  • Develop a technical solution to enforce the rate limiting rule, such as using a queueing system or a scheduling library to introduce delays between requests.
  • Modify the testing process to send only one request to a new scraper source, then wait for confirmation before proceeding.
  • Consider implementing automated monitoring to detect and prevent rapid request bursts that could lead to IP blocking.

Example

import time

def send_request(url):
    # Send a single request
    response = requests.get(url)
    # Wait for 10-15 seconds before allowing another request
    time.sleep(15)
    return response

Notes

The provided example is a basic illustration and may need to be adapted to the specific use case and technology stack. The key is to introduce a delay between requests to prevent rapid firing.

Recommendation

Apply a workaround by implementing rate limiting and modifying the testing process to prevent rapid requests, as this will help prevent future IP blocking incidents and reduce the risk of server rebuilds.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Claude fired rapid curl requests at DDG from production server IP — IP blocked, server had to be rebuilt [2 comments, 3 participants]