<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sean K</title>
    <description>The latest articles on Forem by Sean K (@sean8).</description>
    <link>https://forem.com/sean8</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3647645%2Fcf9cd108-64c1-4ce6-b2cc-8710f07e3b8a.jpg</url>
      <title>Forem: Sean K</title>
      <link>https://forem.com/sean8</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sean8"/>
    <language>en</language>
    <item>
      <title>6 Claude 4.5 Best Practices That Changed How I Work</title>
      <dc:creator>Sean K</dc:creator>
      <pubDate>Sun, 04 Jan 2026 10:47:43 +0000</pubDate>
      <link>https://forem.com/sean8/6-claude-45-best-practices-that-changed-how-i-work-lff</link>
      <guid>https://forem.com/sean8/6-claude-45-best-practices-that-changed-how-i-work-lff</guid>
      <description>&lt;p&gt;After months of daily Claude Code usage, here are the 6 practices that made the biggest difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Be Explicit
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; "Create an analytics dashboard"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt; List exactly what you need with bullet points&lt;/p&gt;

&lt;p&gt;Why it works: Claude fills in gaps with assumptions. More specifics = fewer surprises.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Give Context for Rules
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; "NEVER use ellipses"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt; Explain WHY - "Your response will be read by text-to-speech, so never use ellipses since the engine won't know how to pronounce them."&lt;/p&gt;

&lt;p&gt;Why it works: Claude follows rules better when it understands the reason.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Use CLAUDE.md for persistent context across sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Long-Horizon Reasoning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; Just say "Build this feature"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use git commits for state&lt;/li&gt;
&lt;li&gt;Write tests FIRST&lt;/li&gt;
&lt;li&gt;Tell Claude NOT to wrap up early&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why it works: Complex tasks need checkpoints. Git commits let Claude recover context.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Avoid "AI Slop" in Frontend
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; "Build me a landing page"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt; "No generic gradients, no excessive shadows. Reference: [screenshot]"&lt;/p&gt;

&lt;p&gt;Why it works: Screenshots &amp;gt; descriptions. Show Claude what good design looks like.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Parallel Tool Calling
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; Let Claude run tools sequentially (8 seconds)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt; Say "run these in parallel" (2 seconds - 4x faster!)&lt;/p&gt;

&lt;p&gt;Why it works: Claude can execute multiple independent operations simultaneously.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Deep Research
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Don't:&lt;/strong&gt; "Research this topic" (lazy summarizer mode)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do:&lt;/strong&gt; "Search broadly, verify claims, triangulate sources. Don't stop at the first answer."&lt;/p&gt;

&lt;p&gt;Why it works: Default behavior is to stop early. Explicit instructions unlock thorough research.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bonus: Persistent Memory with Memento
&lt;/h2&gt;

&lt;p&gt;Want Claude to remember these practices automatically? Check out &lt;a href="https://github.com/SeanZoR/claude-memento" rel="noopener noreferrer"&gt;Memento&lt;/a&gt; - it extracts session learnings into CLAUDE.md so you don't repeat yourself.&lt;/p&gt;




&lt;p&gt;Follow me for more Claude Code tips: &lt;a href="https://twitter.com/_sean8" rel="noopener noreferrer"&gt;@_sean8&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Memento: Give Claude Code Persistent Memory So You Stop Repeating Yourself</title>
      <dc:creator>Sean K</dc:creator>
      <pubDate>Sat, 03 Jan 2026 20:46:50 +0000</pubDate>
      <link>https://forem.com/sean8/memento-give-claude-code-persistent-memory-so-you-stop-repeating-yourself-22je</link>
      <guid>https://forem.com/sean8/memento-give-claude-code-persistent-memory-so-you-stop-repeating-yourself-22je</guid>
      <description>&lt;p&gt;If you use Claude Code, you've probably had this experience:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;You: Install the dependencies
Claude: npm install
You: No, use pnpm in this project
Claude: pnpm install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Next session? Same thing. Claude has no memory between conversations.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Claude Code reads &lt;code&gt;CLAUDE.md&lt;/code&gt; files at the start of each session - that's how it learns your project conventions. But manually maintaining these files is tedious, and you often forget to document the corrections you make during coding sessions.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Solution: Memento
&lt;/h2&gt;

&lt;p&gt;I built &lt;a href="https://github.com/SeanZoR/claude-memento" rel="noopener noreferrer"&gt;Memento&lt;/a&gt; - a Claude Code command that analyzes your conversations and extracts actionable insights automatically.&lt;/p&gt;

&lt;p&gt;Named after the Christopher Nolan film where the protagonist leaves notes for his future self (because he can't form new memories), Memento helps you leave notes for future Claude sessions.&lt;/p&gt;
&lt;h3&gt;
  
  
  How It Works
&lt;/h3&gt;

&lt;p&gt;At the end of any coding session, run:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/memento
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Memento will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Analyze&lt;/strong&gt; your conversation for corrections, preferences, and learnings&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filter&lt;/strong&gt; for actionable insights (not vague observations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Categorize&lt;/strong&gt; into project-specific vs. personal preferences&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Present&lt;/strong&gt; suggestions for you to approve&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You select which ones to keep, and they're appended to the appropriate &lt;code&gt;CLAUDE.md&lt;/code&gt; file.&lt;/p&gt;
&lt;h3&gt;
  
  
  What Makes a Good Suggestion?
&lt;/h3&gt;

&lt;p&gt;Memento focuses on &lt;strong&gt;actionable&lt;/strong&gt; insights:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;✅ Actionable&lt;/th&gt;
&lt;th&gt;❌ Not Actionable&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"Use pnpm, not npm"&lt;/td&gt;
&lt;td&gt;"Check package manager"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Tests are in &lt;code&gt;__tests__/&lt;/code&gt;"&lt;/td&gt;
&lt;td&gt;"This was a good session"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Always show command before running"&lt;/td&gt;
&lt;td&gt;"Be more careful"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;

&lt;p&gt;One-liner:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.claude/commands &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/SeanZoR/claude-memento/main/.claude/commands/memento.md &lt;span class="nt"&gt;-o&lt;/span&gt; ~/.claude/commands/memento.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;That's it! The command is now available in all your Claude Code sessions.&lt;/p&gt;
&lt;h2&gt;
  
  
  Try It Out
&lt;/h2&gt;

&lt;p&gt;Give it a spin and let me know what you think! Issues and PRs welcome.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/SeanZoR" rel="noopener noreferrer"&gt;
        SeanZoR
      &lt;/a&gt; / &lt;a href="https://github.com/SeanZoR/claude-memento" rel="noopener noreferrer"&gt;
        claude-memento
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Memory tools for Claude Code: /memento extracts session learnings, /brag generates social content ideas
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;pre&gt;███╗   ███╗███████╗███╗   ███╗███████╗███╗   ██╗████████╗ ██████╗
████╗ ████║██╔════╝████╗ ████║██╔════╝████╗  ██║╚══██╔══╝██╔═══██╗
██╔████╔██║█████╗  ██╔████╔██║█████╗  ██╔██╗ ██║   ██║   ██║   ██║
██║╚██╔╝██║██╔══╝  ██║╚██╔╝██║██╔══╝  ██║╚██╗██║   ██║   ██║   ██║
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║███████╗██║ ╚████║   ██║   ╚██████╔╝
╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝╚══════╝╚═╝  ╚═══╝   ╚═╝    ╚═════╝
&lt;/pre&gt;
&lt;p&gt;
  &lt;strong&gt;Memory tools for Claude Code&lt;/strong&gt;&lt;br&gt;
  &lt;em&gt;Because Claude forgets, but your notes don't.&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/SeanZoR/claude-memento/blob/main/LICENSE" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667" alt="License"&gt;&lt;/a&gt;
  &lt;a href="https://github.com/SeanZoR/claude-memento/stargazers" rel="noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/47fd76011fadfeb98df9f0178223665372bd9e3c27f6eb204cc8aeca2d06ebe4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f5365616e5a6f522f636c617564652d6d656d656e746f3f7374796c653d736f6369616c" alt="GitHub stars"&gt;&lt;/a&gt;
  &lt;a href="https://claude.ai" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/52e38cd6ebe40489b4ce92537d09419c8c396cff4593b13cb514c8f244df9aeb/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436c617564652d436f64652d626c756576696f6c6574" alt="Claude Code"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Install&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;mkdir -p &lt;span class="pl-k"&gt;~&lt;/span&gt;/.claude/commands &lt;span class="pl-k"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
curl -fsSL https://raw.githubusercontent.com/SeanZoR/claude-memento/main/.claude/commands/memento.md -o &lt;span class="pl-k"&gt;~&lt;/span&gt;/.claude/commands/memento.md &lt;span class="pl-k"&gt;&amp;amp;&amp;amp;&lt;/span&gt; \
curl -fsSL https://raw.githubusercontent.com/SeanZoR/claude-memento/main/.claude/commands/brag.md -o &lt;span class="pl-k"&gt;~&lt;/span&gt;/.claude/commands/brag.md&lt;/pre&gt;

&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Commands&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;
&lt;code&gt;/memento&lt;/code&gt; — Extract session memories&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;Run at the end of any Claude Code session to capture learnings into your CLAUDE.md files.&lt;/p&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;/memento [--project PATH] [--user PATH]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Argument&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--project PATH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Custom project memory location (default: &lt;code&gt;./CLAUDE.md&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--user PATH&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Custom user memory location (default: &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Analyzes your conversation for mistakes, corrections, and preferences&lt;/li&gt;
&lt;li&gt;Filters for actionable insights only&lt;/li&gt;
&lt;li&gt;Sorts into Project Memory (&lt;code&gt;./CLAUDE.md&lt;/code&gt;) vs User Memory (&lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Lets you pick which suggestions…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/SeanZoR/claude-memento" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;








&lt;p&gt;&lt;em&gt;Have you built any tools to improve your Claude Code workflow? I'd love to hear about them in the comments!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I Accidentally Made Claude Ask Itself the Same Question 1,966 Times</title>
      <dc:creator>Sean K</dc:creator>
      <pubDate>Sat, 03 Jan 2026 20:26:03 +0000</pubDate>
      <link>https://forem.com/sean8/i-accidentally-made-claude-ask-itself-the-same-question-1966-times-1c5h</link>
      <guid>https://forem.com/sean8/i-accidentally-made-claude-ask-itself-the-same-question-1966-times-1c5h</guid>
      <description>&lt;h2&gt;
  
  
  I Accidentally Made Claude Ask Itself the Same Question 1,966 Times
&lt;/h2&gt;

&lt;p&gt;Last night I broke Claude Code in the most absurd way possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;I've been experimenting with &lt;a href="https://docs.anthropic.com/en/docs/claude-code" rel="noopener noreferrer"&gt;Claude Code&lt;/a&gt;, Anthropic's CLI tool for AI-assisted development. One of its features is plugins, and I installed one called &lt;strong&gt;Ralph Wiggum&lt;/strong&gt; - a loop mechanism that lets Claude iteratively work on tasks.&lt;/p&gt;

&lt;p&gt;The idea is simple: give Claude a task, let it loop until it's done. Great for complex, multi-step work.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Prompt
&lt;/h2&gt;

&lt;p&gt;I wanted Claude to help me build out my personal brand. So I typed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create an amazing full stack of branding presence for me
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And enabled the Ralph Wiggum loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Went Wrong
&lt;/h2&gt;

&lt;p&gt;Here's the loop configuration file that got created (&lt;code&gt;.claude/ralph-loop.local.md&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;active&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;iteration&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1966&lt;/span&gt;
&lt;span class="na"&gt;max_iterations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;
&lt;span class="na"&gt;completion_promise&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
&lt;span class="na"&gt;started_at&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;2026-01-03T16:21:24Z"&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="s"&gt;Create an amazing full stack of branding presence for me&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;See the problem?&lt;/p&gt;

&lt;p&gt;&lt;code&gt;max_iterations: 0&lt;/code&gt; = &lt;strong&gt;unlimited iterations&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Symptom
&lt;/h2&gt;

&lt;p&gt;Every single message I sent got hijacked. Claude would respond, but then immediately get interrupted with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Stop:Callback hook blocking error from command: "callback":
Create an amazing full stack of branding presence for me
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Over. And over. And over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1,966 times.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I couldn't have a normal conversation. Every response was intercepted. Canceling the loop via the plugin command failed with a parse error. I was trapped in branding purgatory.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Irony
&lt;/h2&gt;

&lt;p&gt;The task was to create my branding presence.&lt;/p&gt;

&lt;p&gt;Claude attempted this task &lt;strong&gt;1,966 times&lt;/strong&gt; without producing a single asset.&lt;/p&gt;

&lt;p&gt;This might be the most committed non-delivery in AI history. Maximum effort, zero output.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Fix
&lt;/h2&gt;

&lt;p&gt;Eventually Claude itself helped me debug. We:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Searched for hook configurations&lt;/li&gt;
&lt;li&gt;Found the &lt;code&gt;.claude/ralph-loop.local.md&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;Discovered it had been running for hours&lt;/li&gt;
&lt;li&gt;Deleted it with &lt;code&gt;rm&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;rm&lt;/span&gt; .claude/ralph-loop.local.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instant relief.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Always Set Max Iterations
&lt;/h3&gt;

&lt;p&gt;If you're using any loop mechanism, &lt;strong&gt;always set a sensible limit&lt;/strong&gt;. &lt;code&gt;max_iterations: 0&lt;/code&gt; sounds like "none" but means "infinite."&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Know Where Config Files Live
&lt;/h3&gt;

&lt;p&gt;Claude Code stores loop state in &lt;code&gt;.claude/&lt;/code&gt; directories. When things go wrong, check there first:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;~/.claude/settings.json&lt;/code&gt; - global settings&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.claude/settings.local.json&lt;/code&gt; - project settings&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;.claude/ralph-loop.local.md&lt;/code&gt; - loop state (if using that plugin)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Hooks Can Hijack Everything
&lt;/h3&gt;

&lt;p&gt;Claude Code hooks are powerful - they can intercept and modify any interaction. A misbehaving hook can make the entire tool unusable.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Vague Prompts + Infinite Loops = Bad Time
&lt;/h3&gt;

&lt;p&gt;"Create an amazing full stack of branding presence" is vague. Claude kept asking for clarification, which triggered another loop iteration, which asked for clarification...&lt;/p&gt;

&lt;h2&gt;
  
  
  The Silver Lining
&lt;/h2&gt;

&lt;p&gt;I didn't get my branding assets. But I got a great story, a deeper understanding of Claude Code internals, and content for dev.to and Twitter.&lt;/p&gt;

&lt;p&gt;Sometimes the bug &lt;em&gt;is&lt;/em&gt; the feature.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Have you broken an AI tool in a spectacular way? Drop your stories in the comments.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. - I still need that branding presence. Maybe I'll try again... with &lt;code&gt;max_iterations: 5&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>cli</category>
      <category>discuss</category>
      <category>tooling</category>
    </item>
    <item>
      <title>Getting a NO from an open source maintainer</title>
      <dc:creator>Sean K</dc:creator>
      <pubDate>Fri, 05 Dec 2025 12:35:47 +0000</pubDate>
      <link>https://forem.com/sean8/getting-a-no-from-an-open-source-maintainer-5b5j</link>
      <guid>https://forem.com/sean8/getting-a-no-from-an-open-source-maintainer-5b5j</guid>
      <description>&lt;p&gt;You think you're immune from rejections in reallife, zen and all, but getting a big NO from an opensource maintainer always hits differently&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
