Don’t be a tool fool

·4 min read

I don’t trust anything labeled free.

Free-to-play. Free trial. Free, with in-app purchases. Ninety-nine cents to skip the timer. A dollar-ninety-nine for the good sword. Four bucks a month, cancel anytime, that you will absolutely forget to cancel. None of it feels like money in the moment. That’s the whole design. A single microtransaction is engineered to sit just beneath your notice — small enough that stopping to check the total would feel petty. So you don’t check. You get microtransactioned to death by a thousand painless little cuts, and the bleeding only shows up on the statement at the end of the month, by which point you’ve mentally filed it under huh, weird.

The worst version isn’t the charge you approved. It’s the meter you didn’t know was running.

I found one of mine today.

It started because a model wouldn’t say hi back

I wasn’t hunting for cost. I was trying to get a local model to answer a greeting.

I run a couple of small models on my own hardware — my electrons, my problem, no invoice. One of them, Ling Mini 2, started throwing a context-length error at me. On the word “Hi.” One token in, and it was already howling that the room was full. That’s the kind of error that means something upstream is lying about how much space is left, so I did the unglamorous thing and looked at what was actually leaving the building on every request.

It was a piggy. Roughly a hundred and fifty kilobytes of JSON per message. Call it thirty-something thousand tokens — before I’d typed a single character. And the overwhelming bulk of it wasn’t my prompt. Wasn’t the model’s instructions either. It was a tool schema. An entire integration I’d installed last week, wasn’t using, and had cheerfully forgotten about — serialized in full and shipped on every single turn. Every “Hi.” Every follow-up. The whole catalog, resent, forever.

I ripped it out. Model said hi back. Turns out the hard part of debugging is admitting you’re the one who loaded the gun.

But here’s where the microtransaction thing crawled back into my skull. On my hardware, that waste is free — I’m just heating my office a little faster. Most people aren’t running local, though. They’re renting a model by the token. And a tool schema you’re not using is the purest hidden cost there is: dead weight, billed as input, resent every turn, whether the model ever touches it or not.

So I did the math on what that exact bloat would’ve cost me on a commercial model.

The meter, at commercial rates

I ran it against Claude Sonnet 4.6 — published rates, mid-2026: three dollars per million input tokens, fifteen per million output. A plain twenty-round back-and-forth. Short questions, short answers, the kind of chat you have fifty times a day without thinking about it. Then I ran it twice: once clean, once with that ~32,000-token dead tool schema riding shotgun on every request.

Cost comparison: clean conversation vs conversation carrying dead tool schema

That’s not a rounding error. The dead weight I wasn’t using turned a thirty-six-cent conversation into a two-dollar-and-twenty-eight-cent one. Same questions. Same answers. A 6.3× bill, and every extra cent of it on the input side — the side you never watch, because your eyes are on what the model says, not on what you’re shipping it.

“But caching,” I hear the sharp ones saying. Fair. Prompt caching bills that repeated prefix at a tenth of the price. So I ran it that way too.

Cost comparison with prompt caching applied

Caching softens the blow. It does not kill it. The first round still pays full freight on all thirty-two thousand tokens, and after that you’re paying tenth-rate rent, every turn, on a thing you never use. Twenty-eight cents on a chat that should’ve cost twelve. Now stack that across every conversation, every day, every seat on your team. Swap Sonnet for Opus rates. The cents stop being cute in a hurry.

A few things I keep telling myself now:

▹ Every tool you leave enabled is input you pay for, whether the model calls it or not. ▹ Caching is a discount on your waste, not a license for it. ▹ The output bill never moved — all the damage was in what I was sending.

One honest caveat: those numbers are estimates. I made reasonable assumptions about prompt sizes and reply lengths, and yours will differ with your actual traffic. But the shape doesn’t change, and the shape is the point. Unused tooling is a meter you forgot you switched on.

Read your outbox, not just your inbox. Turn off the tools you don’t use.

The model was never the problem. The stuff I forgot I was carrying was.

Don’t be a tool fool.


This story was originally posted on my Medium account, drahcir_rahl — read the original: Don’t be a tool fool.

Related Posts