Anthropic shipped a new model today, Claude 3.7 Sonnet, and buried in the announcement was a thing called Claude Code, a command-line tool that lets the model actually go into your terminal and run commands, edit files, that whole deal. I've been messing with it for about four hours now instead of doing literally anything else I was supposed to do today, so let's talk about that instead of the model itself.
The model part is the "hybrid reasoning" thing: you can ask it a quick question and get a quick answer, or you can flip on extended thinking and it'll show its work before it answers, with a token budget you can tune up or down depending on how much you want to pay for it to think. Pricing stayed the same as the old 3.5 Sonnet, $3 in and $15 out per million tokens, which I guess is Anthropic's way of saying the smarter mode is a freebie. Fine. Good. Not what I actually want to write about.
What I want to write about is Claude Code, because I got a waitlist invite this afternoon (I signed up the second I saw the tweet, I'm not proud of how fast I moved) and installed it before I'd even finished my coffee. It's an npm package, you run it from your terminal, and it just sits there like a shell prompt except the shell is a model that can read your files and propose edits and run your build.
I pointed it at the worst code I own, which is the Python script I use to resize and rename photos before I upload them to this very blog. It's held together with string. It has a variable in it called thing2. I am not exaggerating. I asked Claude Code to fix a bug where filenames with spaces in them were breaking the whole run, and it did, found it, patched it, explained what it changed in about four sentences, didn't make me feel stupid about thing2 even though it clearly noticed.
Here's my actual complaint, and it's a small one: it asks permission before it runs almost anything. Every command, every file write, there's a little prompt asking if this is okay. I get why. Nobody wants an agent quietly deleting their downloads folder, but after the fifth "may I run this" in ten minutes I found myself just mashing yes without reading, which sort of defeats the purpose of asking. I don't have a clean fix for this. I just think it's funny that the safety feature works great right up until the human gets bored of it, which, historically, is how all safety features go.
The other thing, and this is more of an observation than a gripe: it kept wanting to refactor stuff I didn't ask it to touch. I asked for a filename fix and it also cleaned up my imports and renamed two functions. The renames were better names! That's the annoying part. I didn't ask, but I also can't really be mad, because handle_stuff() is now resize_and_save() and that's just correct.
I won't rehash the DeepSeek thing from a few weeks back, everybody and their cousin already wrote ten thousand words about that panic and I don't have anything new to add except that it clearly spooked people in Silicon Valley enough that every lab is now racing to ship the next thing immediately, which is presumably part of why we got a new Sonnet and a whole new CLI tool dropped on the same Monday. Draw your own conclusions about whether that's a coincidence.
I also tried the tool on techpad's own theme files, just to see if it would find the CSS bug that's been making my sidebar wobble on mobile for probably eight months at this point. It found something, at least — a leftover media query I'd forgotten existed, from back when I redesigned this site in like 2019. Didn't fully fix the wobble. Progress, not victory.
Anyway. If you write code for a living or even just for a hobby and you get an invite, it's worth the twenty minutes to install and poke at. If you don't get an invite yet, you're not missing some finished product — this is clearly a rough, early thing, and it knows it, the CLI itself says "research preview" right when it starts up. I'll probably keep using it on small stuff around here and report back if it either saves me real time or burns my whole weekend chasing a refactor I never asked for.