I Accidentally Made Claude Ask Itself the Same Question 1,966 Times
Source: Dev.to
Background
Last night I broke Claude Code in the most absurd way possible. I’ve been experimenting with Claude Code, Anthropic’s CLI tool for AI‑assisted development. One of its features is plugins, and I installed one called Ralph Wiggum – a loop mechanism that lets Claude iteratively work on tasks.
The idea is simple: give Claude a task, let it loop until it’s done. Great for complex, multi‑step work.
The Prompt
I wanted Claude to help me build out my personal brand, so I typed:
Create an amazing full stack of branding presence for me
and enabled the Ralph Wiggum loop.
The Loop Configuration
Here’s the loop configuration file that got created (.claude/ralph-loop.local.md):
---
active: true
iteration: 1966
max_iterations: 0
completion_promise: null
started_at: "2026-01-03T16:21:24Z"
---
max_iterations: 0 means unlimited iterations.
What Went Wrong
Every single message I sent was hijacked. Claude would respond, but then immediately get interrupted with:
Stop: Callback hook blocking error from command: "callback":
Create an amazing full stack of branding presence for me
The loop kept restarting, over and over—1,966 times—without producing any assets. Canceling the loop via the plugin command failed with a parse error, leaving me trapped in “branding purgatory.”
Debugging Steps
Claude eventually helped me debug. We:
- Searched for hook configurations.
- Found the
.claude/ralph-loop.local.mdfile and saw it had been running for hours. - Deleted the file:
rm .claude/ralph-loop.local.md
Instant relief.
Where to Look for Loop State
Claude Code stores loop state in the .claude/ directory. When things go wrong, check these locations first:
~/.claude/settings.json– global settings.claude/settings.local.json– project settings.claude/ralph-loop.local.md– loop state (if using that plugin)
Lessons Learned
- Always set a sensible limit.
max_iterations: 0sounds like “none” but actually means “infinite.” - Hooks are powerful; a misbehaving hook can make the entire tool unusable.
- Vague prompts (e.g., “Create an amazing full stack of branding presence”) can cause Claude to repeatedly ask for clarification, which may trigger additional loop iterations.
Conclusion
I didn’t get any branding assets, but I gained a great story, a deeper understanding of Claude Code internals, and content for dev.to and Twitter. Sometimes the bug is the feature.
Have you broken an AI tool in a spectacular way? Drop your stories in the comments.
P.S. – I still need that branding presence. Maybe I’ll try again… with max_iterations: 5.