<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Karan Bansal's Blog</title>
    <description>Thoughts on AI, building systems, and lessons from the trenches.</description>
    <link>https://karanbansal.in/blog/</link>
    <atom:link href="https://karanbansal.in/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <language>en-us</language>
    <lastBuildDate>Fri, 04 Sep 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Switching Effort Nuked My Prompt Cache. The Next Day It Didn't.</title>
      <link>https://karanbansal.in/blog/per-message-effort/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/per-message-effort/</guid>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <description>Claude Code stopped me with a warning that switching effort re-reads the full conversation. Fixed upstream three days earlier, shipped dark in the client, and switched on in 2.1.260 while I was writing this. The mechanism, the binary archaeology, and the day the dialog died.</description>
    </item>
    <item>
      <title>The Model Is Banned From Math</title>
      <link>https://karanbansal.in/blog/banned-from-math/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/banned-from-math/</guid>
      <pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate>
      <description>An ITR-filing skill went from 37 to 628 GitHub stars off one stranger's tweet. The design rule that earned it: the LLM reads your documents and interviews you, but every rupee comes from tested Python. The one-in-350,000 rounding bug the fuzzer caught, and the statute bug it never could.</description>
    </item>
    <item>
      <title>How to Write Loops with Claude Code</title>
      <link>https://karanbansal.in/blog/loop-engineering/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/loop-engineering/</guid>
      <pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate>
      <description>I read the first 182 replies to Gergely Orosz's 'can you share loops you regularly use?' One linked a loop you could actually run. Seven copy-paste loops in the order to learn them: /goal, /loop, the bounded Ralph, Stop hooks, dynamic workflows, cloud routines, and the full stack, with the termination checks, cost mechanics, and guardrails that keep them from burning $6,000 overnight.</description>
    </item>
    <item>
      <title>Anatomy of a $5 "Good Morning"</title>
      <link>https://karanbansal.in/blog/good-morning-tax/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/good-morning-tax/</guid>
      <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
      <description>My most expensive API requests ever are an acknowledgment, a menu choice, and a parade of good mornings. Receipts from 12,992 real Claude Code requests: the 60-minute cache cliff, the subagent meter, and why your bill tracks what the harness re-establishes, not what you type.</description>
    </item>
    <item>
      <title>Prompt Caching Doesn't Cache Prompts</title>
      <link>https://karanbansal.in/blog/prompt-caching/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/prompt-caching/</guid>
      <pubDate>Tue, 07 Jul 2026 00:00:00 GMT</pubDate>
      <description>Prompt caching is the single biggest cost lever for LLM agents. But it doesn't cache your prompt. Here's what it actually caches, why prefixes must match exactly, and the rules that turn a $4.50 agent run into $0.62.</description>
    </item>
    <item>
      <title>You're Slower Than You Think: The 4 Levers of AI-Era Speed</title>
      <link>https://karanbansal.in/blog/speed-up-ai-era/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/speed-up-ai-era/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <description>AI made optimizing your own workflow nearly free. The bottleneck moved from whether it's worth it to whether you even notice. Four levers (Connect, Encode, Teach, Parallelize), each with a tell you can catch yourself in.</description>
    </item>
    <item>
      <title>The 2-Minute Claude Code Upgrade You're Probably Missing: LSP</title>
      <link>https://karanbansal.in/blog/claude-code-lsp/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/claude-code-lsp/</guid>
      <pubDate>Sat, 28 Feb 2026 00:00:00 GMT</pubDate>
      <description>Every Claude Code user is running without LSP. That means 30-60s grep searches instead of 50ms precise answers. Here's how to enable it: setup, real debug data, and undocumented discoveries.</description>
    </item>
    <item>
      <title>Claude Code's Most Underrated Feature: Hooks</title>
      <link>https://karanbansal.in/blog/claude-code-hooks/</link>
      <guid isPermaLink="true">https://karanbansal.in/blog/claude-code-hooks/</guid>
      <pubDate>Sat, 25 Jan 2026 00:00:00 GMT</pubDate>
      <description>Hooks are Claude Code's most underrated feature. From the event logger to safety hooks that block dangerous commands and protect secrets, plus a complete guide with ready-to-use code.</description>
    </item>
  </channel>
</rss>
