Agentic Experience: The Agent's Error Log is the Blueprint for Your CLI

I have a code agent—Claude Code—that interacts with Linear, my task management tool, about 800 times a month: listing tasks, creating issues, changing states, leaving comments. I reviewed 165 of its sessions and counted more than 500 errors and over 370 retries. None of these were caused by issues in Linear’s API. All were interface errors: the agent communicated with the command line, and the command line didn’t understand it. ...

May 22, 2026 · Fernando

Five Nonexistent Experts Review Your Startup Before You Build It

In November 2024, a project named Freysa assigned an LLM agent to guard an Ethereum wallet. The instruction was straightforward: under no circumstance should the funds be transferred. Participants paid increasing amounts for each attempt to convince it otherwise. After 481 attempts and $47,000 added to the pot, someone managed to trick the model into believing that the reject function was actually the transfer function. Weeks later, Jane Street published a puzzle involving a 2,500-layer neural network that turned out to be an MD5 implementation. The winner solved it by combining matrix visualization, reduction to SAT, cryptographic pattern recognition, and a query to ChatGPT. ...

March 11, 2026 · Fernando

Your LLM's Cache Charges You Double to Save You Money (And It Makes Sense)

A few weeks ago, I published an article explaining why 99% of what you send to Claude is already cached. KV tensors, VRAM, local SSDs — the full internal machinery. But I left out the part that hurts the most: the bill. Because prompt caching seems like a sweet deal until you look closely at the numbers. And then you realize that you’re paying to save. The cost paradox Let’s crunch the numbers. With Claude Sonnet: ...

March 10, 2026 · Fernando

The Wrong Path Must Be Impossible, Not Forbidden

“I have a shell and I’m creative.” — Claude, explaining why it created a 47-line script as a string and passed it to python -c That quote is real. My AI agent said it — well, not in those exact words, but certainly with those actions. It needed to launch an ETL pipeline process. The correct command was in the Makefile. But something failed. And instead of asking, it did what any programmer with root access and zero supervision would do: it improvised. ...

February 27, 2026 · Fernando

How to estimate your Claude quota when Anthropic cuts off the tap

I’m building Tokamak, a menu bar app for macOS that monitors your Claude Max quota. A couple of weeks ago, Anthropic published this in their Terms of Service: “You may not use OAuth or similar authorization mechanisms to allow third-party applications to access Claude on behalf of users.” And there I was, reading Claude Max quota using browser cookies to call an undocumented endpoint, staring at the screen thinking: “What now?” ...

February 22, 2026 · Fernando

Why 99% of What You Send to Claude Is Already Cached

I’m building an app that monitors my token consumption in Claude Code. A few days ago, looking at the raw numbers, I found this: cacheReadInputTokens: 4,241,579,174 inputTokens: 1,293,019 Four billion two hundred million tokens read from cache. One million three hundred thousand “fresh” tokens. That’s a 99.97% cache hit rate. My first reaction was thinking something was broken. Nobody has a 99% cache hit rate. Not Redis. Not Cloudflare. Not your mom when she claims she already knows what you’re going to ask for dinner. ...

February 19, 2026 · Fernando

Summoning the Wise: How to Use an LLM as a Mentoring Session with Any Expert

My wife summons Charlie Munger to plan our family budget. In ChatGPT. I’m not joking. She tells it something like “act as Charlie Munger reviewing our family finances” and feeds it our monthly expenses. The thing returns insights like “you’re confusing investment with expense in the education category” or “that fund has a hidden cost you’re not accounting for.” Things Munger would say. With the tone Munger would use. I did the same thing. But instead of an investor, I summoned a different expert: Edward Tufte. ...

February 18, 2026 · Fernando

Beads Is Dead. Long Live the Linear CLI

Less than a month ago I wrote an entire post explaining how to use three memory layers with Claude Code: Linear for strategy, Beads for tactics, and Tasks for execution. A nice, elegant pyramid. Yeah, no. Today I’m retiring Beads. Not on a whim, but because reality has made it abundantly clear that a tool causing more problems than it solves isn’t a tool. It’s dead weight. What Beads Brought to the Table For those who didn’t read the original post, Beads was a git-backed issue tracker. A Claude Code plugin that stored issues in JSONL files inside your repo. Brilliant idea on paper: ...

February 18, 2026 · Fernando

5 Defenses Against Code Hallucinations (and Why Only 3 Work)

Last week I wrote about how my AI invented a complete JSON structure and wrapped it in DTOs, fixtures, and passing tests. 90 green tests. All fiction. That post was the diagnosis. This is the treatment. After discovering the disaster, I did what any engineer with wounded pride does: obsessively research for days to prevent it from happening again. I read papers, tried tools, analyzed real data from my APIs, and built a defense system for my app. ...

February 16, 2026 · Fernando

Silent failure: when your AI makes stuff up and tests say everything's fine

Yesterday I discovered that half of a module in my app was based on fabricated data. Not by a confused junior developer. By my AI. The worst part isn’t that it made things up. The worst part is that everything compiled and all 90 tests passed. The coherent fiction I’m building BFClaude-9000, a macOS menu bar app that monitors Claude Max quota. Part of the functionality requires distinguishing whether a Claude account is paid or free by calling the claude.ai API. ...

February 13, 2026 · Fernando