← Back to home

Our Claude Code Is Different—Same Horse, Different Harness

Long-Form Video · EP0019 May 25, 2026 12:02
What this episode covers

Harness originally means the tack on a horse—saddle, reins, stirrups. In the AI world it refers to everything outside the model: rules, config, the memory system, tools.

Claude Code itself is a general-purpose harness. This episode is about the config I added on top of the general one for my own needs—19 rules, 23 hooks, plus a memory system organized by category. The defining traits: executability over description, a scar mechanism that condenses incidents into rules, and deliberate forgetting to avoid hallucination.

Companion files · Drop them into Claude Code

Why does my Claude Code feel so much better to use? The answer isn’t in the model—it’s in the harness.

What a harness is

Harness originally means the tack on a horse—the saddle, reins, and stirrups strapped onto it. In the AI world it refers to everything outside the model—rules, config, the memory system, tools.

Claude Code is itself a general-purpose harness, a systematized configuration Anthropic hands to everyone. What I’m covering today is the customization I added on top of that config for my own needs.

Three core concepts

Rules—rules of behavior, like law, like Dalio’s Principles. How the model talks to me, how it changes code, what it puts first when priorities collide—rules decide all of it.

Memory—project knowledge. What each project taught me, the operation history, the core of our conversations: compressed down to the meaning and saved as documents. A knowledge base the model can pull from any time.

Hook—I think of hooks as the police. Like rules, they constrain the model, but they’re harder—when this happens, this is what must happen next, no discussion. Rules are closer to moral guidelines, elastic; a hook is a hard interception, executed to the letter.

Beyond those there are settings documents holding environment variables and API keys, plus a layer I added myself, a notes system—memory is the memory the model reads, notes are the memory I read. Every time I finish an important project, the output and the lessons become an HTML page and get saved. Saving experience as web pages has quietly become standard practice, and Anthropic recommends it too.

Four defining traits

This system is the result of four months of repeated iteration, and it also borrows from the circle theory in Lao Jin’s Meta. Four traits stand out:

Organized by category—memory and everything else is filed by kind, not dumped into one bucket.

Executability over description—what counts is how the mechanism performs once it’s live, not how well designed it looks on paper.

The scar mechanism—incidents condensed into rules. Every time my work with the AI goes wrong, it logs the failure on its own. Failures that repeat get boiled down into a rule. If the rule still gets ignored, it escalates to a hook for hard interception. Incident to rule to interception, tightening at each step.

Deliberate forgetting—when a project ends, a config changes, a server isn’t rented anymore, the matching experience and memory get archived so the model stops retrieving them. That’s what keeps hallucinations out.

A rule in practice: the values ordering

I have 19 rules; I’ll go through four.

The first is the values ordering—when the model has to decide, it sorts by my values: honor, excellence, truth, beauty, efficiency.

The output doesn’t chase efficiency first, and it isn’t “just get something out.” What it weighs is whether the thing can stand as my work, and whether I’m satisfied with it. Tech selection and architecture design follow the excellence line, without worrying about compute cost or development difficulty. The truth principle keeps the model from flattering me. Back when I used GPT, in its telling I was Tesla or Edison reborn, and that makes a self-consistency trap easy to fall into. So I require the model to hold my proposals up against feasibility and hard criticism. Beauty is a demand on both me and the AI, and I pass my aesthetic standards along to it.

The one thing I left out is cost. You can’t really max out the subscription plan, so it isn’t a worry.

If you can look it up, don’t ask

Claude Code constantly stops mid-task to ask, “what’s the key? I don’t know it.” The keys are already stored somewhere safe. So the rule is: when you hit a question like that, go look it up—don’t come ask me.

Three levels of change

Changes split into L1, L2, L3. L1 is front-end page work that can’t break anything—just do it. L2 is a small feature touching three to five files; verify after the change, then ship. L3 is a new feature or a complicated process, and it goes through the full seven-step flow—clarify the requirements, research, plan, execute, test, and so on.

Livestream redaction

I livestream with Claude Code open a lot, and the terminal prints IPs, keys, emails, and other private information. So the model is required to never print that in plaintext on screen.

Twenty-three hooks

I’ve set up 23 hooks. One splits memory into the permanently fixed kind (height, blood type, genes) and the volatile kind (computer model, server keys), then spot-checks the volatile ones against reality on a schedule. Others tell it where credentials live, intercept dangerous commands, run automatic checks after a file is edited, and force a recap at the end of a task—any lessons from failures, any reusable experience, any new process.

On memory, Claude Code only reads the first 200 lines. Too much memory doesn’t just eat context; the model’s attention only stretches so far, so some of those memories never get used at all.

Parallel invention

Plenty of people say Claude Code is copying OpenCode, copying OpenClaw, copying Amazon. I don’t think that’s what’s going on—we’re in an era of parallel invention. We all have the same needs, and we built similar features in different ways at the same time. No need to care who copied whom. Good features getting absorbed into general-purpose tools is a good thing.

Where it fits and where it doesn’t

I didn’t design this harness up front. I hit problems while using it, asked Claude Code whether anyone else had solved them and whether best practices existed, then set things up step by step and checked that they held.

It fits a one-person team running many projects especially well. It doesn’t fit team collaboration—for teams I recommend Lao Jin’s Meta project.

The harness will eventually be internalized

The harness has been on its way out since the day it appeared. It will end up folded into the model’s own capabilities. Claude Code keeps updating too.

Claude Code vs Codex

Big argument lately—Claude Code or Codex? To me both are harnesses, both are tack. My logic is dead simple: pick the faster horse—and for now that’s Claude. Then adjust the harness myself so it fits what I need, instead of slapping on a stock saddle and riding a horse that doesn’t run fast enough.

I'll pick the faster horse, then adjust the harness myself so it fits what I need.