expectedwrong hindsight

The Good Claude

On the particular grief of a context window filling up.

2 min read 362 words #claude #ai #tooling #agents #llms
hindsight — still happening

You get a good one and you know it immediately. The variance in Claude quality — sometimes it inspects the runtime, sometimes it guesses — that hasn't been fully resolved. The good one is still a treat.

You get a good one and you know it immediately — the way it writes, looks at the complete file, rewrites the optimal implementation, writes again. Not grinding through the task. Actually thinking.

The thing that surfaced this time: instead of guessing at the structure of a library object, it wrote a fifteen-line Node script and ran it. Just cracked open the runtime and looked. No hallucination, no confident wrongness — just console.log('Table object keys:', Object.keys(testTable)) and the truth sitting right there in the terminal.

This is such an obvious move that almost nothing ever does it.

The pattern is: when you don't know the shape of a thing, instantiate the thing and inspect it. Don't read docs you're not sure are current. Don't infer from types that might lie. Don't ask the person sitting next to you. Run the code. The answer is one shell command away and always has been.

I've had enough Claudes confidently describe an API that stopped existing two versions ago to understand what the alternative looks like. This one didn't do that. It wrote the script, ran it, got the structure, and kept moving.

Whether this is a model tweak or just a genuinely good seed — a lucky initialization that landed somewhere in capability-space where self-correction actually kicks in — I can't say. Probably both. Probably neither. The nondeterminism is the whole thing.

What I'm doing with it: shaping the pattern into CLAUDE.md as a base philosophy. Give Claude all the tools up front. Not so it doesn't need to ask me for anything — so it doesn't need to ask anyone for anything. The goal is a Claude that reaches for the runtime before it reaches for its priors.

The sad part is the context window. You get a good run going — the model has context on your codebase, your patterns, the three decisions you made this morning that it needs to hold to give good advice — and then the window fills and you start over with a stranger. Every good Claude is temporary. Every good Claude ends mid-sentence, functionally, when you blow the limit.

I'll be sad when this one goes.