Transcription
I know, I get it. We probably need a new counter guy at this point. I can't shut up about all of these Anthropic things. I don't want to do this video. Believe me, I pulled my audience asking if they thought I should do it, and enough of them said yes, that here we are.
Because despite all of the drama last week, Anthropic is still causing problems. And today, those problems went far enough that I would go as far as to say that for my use cases, Claude Code is no longer usable. There are two things I want to talk about in this video. The first is how I specifically use Claude Code and the things they've done to destroy it. And the second is about system prompts. There's a reason for this. Trust me, the system prompt thing in particular is very, very dramatic.
Just to make my point about the unusability here, I have Claude set up. I'm paying the $200 bucks a month. Yeah, still. And I'm going to run a Claude command here where I just pass it a prompt, but I'm going to add a little to the system prompt. Just going to mention that this is a personal assistant running inside of OpenClaw. I'm going to ask a simple question. Is Claude here? And I get an API error. I am far from the only one who has a problem now. And I wish this was my only problem. Believe me, like just mentioning OpenClaw in your system prompt being enough to cause your request to get rejected.
As always, Anthropic obviously doesn't pay me. I pay them a lot of money and neither does any of their competition. In fact, I pay them a lot of money, too. I am being paid by one person today, though, today's sponsor.
It's kind of crazy how AI has made so much stuff easier, but auth is still obnoxious. Getting all of the details right, setting things up so the auth flows work, and then trying to get preview builds working. God forbid you have to add billing to your service. All of this stuff is obnoxious no matter how good the AI gets. Unless you're using today's sponsor, Clerk. Whenever I'm not using Clerk, I honestly miss it. Their DX is unmatched. Not only do they have all of the components and libraries you would need for any modern tool you might find yourself using, they make it incredibly easy to integrate by literally just copying a prompt, going into your project, hitting paste, and it's implemented.
I pushed this to the limit a little bit. I had a project I was working on that y'all might have seen. It's called T3 Canvas. We ultimately folded this into the T3 Chat product. When I was working on it, I did a lot of experimentation. I had both a web and mobile app and they were working great, but I had no auth experience cuz they were built just as an experiment for me. As more people wanted it, I wanted to add auth. So, I decided to push the limits of Opus 4.5, not even 4.6. And I asked to add auth to my monorepo using Clerk. I'll be damned if I didn't get it first try across both web and mobile with fully synced experiences across both platforms with all of the integrations you would expect from Clerk, including their super helpful user component that lets you manage your account and do all of the things a user would want to do. This also includes organizations for companies that want to have everybody on their team in a single group. That's just built into Clerk. And yes, they even give you a component you can mount in your React app to do it. And if I was to tell you how much I love the billing product, I would need a lot more than the ad time here. So keep an eye out for the next one because Clerk has some really cool stuff cooking. Add auth that agents love at soy.link/Clerk.
Before we go any further, I want to make one thing super clear. The thing that's making me no longer use Claude Code and the thing that I just showed here with the system prompt. These are two different things, but they are both touching on system prompts and how these are affecting Claude Code.
First, we have to talk a bit about how Anthropic is changing Claude Code and the usage that you get on the usage plans that you can subscribe to. Anthropic is in a GPU crunch. They want to save GPUs and have more available for their researchers, for their enterprise customers, and for many other things. As such, they do a lot of different stuff to reduce how much GPU usage is happening. As I've mentioned many times by now, you're probably tired of it. You can get up to $5,000 of inference from the $200 a month plan in Claude Code. You pay $200 a month, you use Claude Code, and if you measure the tokens in and out, you can get up to the $5,000 plus range, which is an insane number. Anthropic is willing to eat that for two reasons. The first is because the average user of these plans isn't getting near that, so it balances out. And the second is those power users are using Claude Code. They might be using it a lot more than they're paying for, but they're now locked into the ecosystem. They're sometimes posting about it. They're helping grow the success of Claude. If you're the type who is spending $200 bucks a month and doing $5K a month of inference, you probably also have a job or people who care about what you say and can start to convince other people to do it. Maybe ones who won't do the $5K a month. They will do $50 a month, but they're paying $200. The people who overuse Claude Code end up growing the pie enough that it's a beneficial marketing spend for Anthropic.
OpenClaw users don't fall into this, though. OpenClaw users, generally speaking, are not a great source of information. They're not a great source of things you should learn and follow and go do. OpenClaw itself is awesome. I use it. I know a lot of people who use it. But heavy OpenClaw users are rarely the people you want to learn things from. And those power users of OpenClaw, how do I describe them? They use a lot of inference. They think they need the smartest model to summarize their emails. They always leave it on the highest version. OpenClaw will ping every 5 minutes a heartbeat with way too much context in it, sometimes doing multiple back and forths each time. OpenClaw can burn tokens even if you're barely using it. And if Anthropic saw a surge of Claude Code subs because people were just using it for OpenClaw, there's a good chance that bucked up their economics. If the average $200 a month Claude Code user does $100 of inference, I would bet the average $200 a month OpenClaw user is doing $400 of inference. It's fucked over their economics. Some of that is because of the implementation of OpenClaw not being great. In fact, Mario, the creator of Pi, one of my favorite agents, I much prefer it to Claude Code, pointed out that Boris, the creator of Claude Code, actually filed multiple PRs to OpenClaw, where he made a bunch of changes to fix caching to reduce the cost for people who are using OpenClaw with Anthropic models. This happened after the change that I already covered a lot on Twitter and promised YouTube I wouldn't do a video on, but here we are cuz it's not necessarily about that.
While I think a lot of the Anthropic bans of Claude Code usage and other things are stupid, in particular OpenClaw, I can hear the argument for why you shouldn't be able to use your Claude Code sub in OpenClaw, primarily out of incompetence for Anthropic, though. Because if they were competent, they could do better rate limiting such that Claude Code users would get a really good value for their money and OpenClaw users would hit limits faster because they're not caching right. They're burning inference. But it just did not align with how they had set up usage in Claude Code and as such they found it easier to just kill off. I think that is stupid considering how successful a company Anthropic is. I think they could have figured out a better way, but they chose not to. They did do this one good thing where they made the usage of tokens more efficient in OpenClaw. I appreciate them for that. Three of the four merging is cool. But on the other hand, they should have rethought things a bit to prevent needing to kick them out in the first place.
And here's where we get into the fun implementation details. When OpenClaw got banned, they did it through the headers because when you send a web request, you have the body of the request, which in this case is the chat. It's the thing you want it to respond to. We also have the headers, which are like where this came from and other properties, your API key and whatnot. If any of your headers mention OpenClaw, Anthropic will just fail it at the API level. They'll just refuse to process it. You get an error. They did the same for OpenClaw, as was expected. They even sent out an email warning Claude Code subs that used it with OpenClaw, which I got because it's one of the four things I use my Claude Code sub for. We'll go through the other three momentarily. I like how Opus models talk. I still like them more than GPT for interacting. And since OpenClaw is a thing that I text back and forth, I liked it for that. I found it nice for that. So, I used my Claude Code sub for this. And I was under the assumption they were going to check my headers to prevent that. Don't worry though, there's a workaround. Obviously, OpenClaw is its own harness. It has its own tools, its own stuff. So, you have to use that just with your API token. All makes sense. Banning that should be easy. Just ban the headers, ban the shape of those requests. It'll be hard to work around. But devs are clever. The OpenClaw maintainers in particular are quite clever. If you're allowed to use your sub through the Claude CLI, but you're not allowed to use it in other CLIs or harnesses, well, that's easy. Just call the Claude CLI then. And that was a workaround that the OpenClaw team had available. A binding where you would not use OpenClaw's harness directly. Instead, OpenClaw would programmatically call Claude Code not through agent client protocol, just cla-p in your terminal to trigger the thing and get back a response. But in order for that to work, they have to append some things to the system prompt because obviously for OpenClaw, the system prompt is nuts. Which means in order for OpenClaw to work, right, you need that system prompt. Even if you have another workaround to use the CLI, you have to sneak that in. So, not only did Anthropic ban all of the headers and things to make their harness stop working with the Claude sub, they banned the mention of OpenClaw in your system prompt so that you can't do it.
And ready to see just how nasty this gets. In the Claude dashboard, you can choose to turn on extra usage. This means that when you go over your limits, you can spend money out of whatever budget you have to keep going. Right now, I have extra usage off. If I try running this, I get the 400 error. Ready for just how nasty this gets? I just turned on extra usage. Now, they're willing to respond. They put a special flag in their routing where you are billed differently if you have the mention of OpenClaw in your system prompt. I get how they got here, but this is still so fucked dirty. It's insane.
This is all fact. Nothing I have said thus far is outside of the realm of just obvious correct information. I am saying this now because I'm drawing a line because I'm about to get into some conspiratorial thinking. And I hate this. If you watch me for a while, you know there's nothing I hate more than going into theories that aren't provable. I always prefer going with real information where and when and how I can. But I am not the only one that's been pushed past this point.
I'm going to actually raid a post for Matt Pocco, who if you're following me since the TypeScript days, you know Matt is like the much nicer, British, smarter, better at TypeScript Theo. Reminder, one of the nicest people I know. Matt has been incredibly polite and patient with Anthropic trying to figure out if the course he just made and put out for money that is built entirely around Claude Code, yes, he made a course, which is his living, that's how he makes money, that is primarily about Claude Code. And he made some wrapper stuff for Claude Code to do the things he likes and he doesn't know if he can put it out or not and he's just trying to get an answer. He's been trying to get an answer for over a month and when all of the drama happened last week, he made this post that I think will go down in history at this point.
"I don't know what all the fuss is about. Anthropic's rules on using subscriptions are very simple. Claude Code, okay. Claude Code's online platform, also okay. Agent SDK running in personal software, okayish. Agent SDK running in commercial software. Not okay, obviously. I mean, come on. Claude Code running in CI. Hmm. Maybe it's not so simple. Agent SDK running in CI. Claude-P running in CI. Claude-P running in personal software is okay. Claude-P running on distributed sandboxes kicked off by me. Distributing open source software which relies on Claude-P and documenting how to use it with your subscription. Hmm, how about all of the thousands of other edge cases? Let me be clear. I have never before experienced from any developer tool such a frustrating lack of clarity over the basic terms of usage. I personally asked 3 weeks ago and have received nothing but delays. The recent Boris announcement did absolutely nothing to clarify things. I say this as someone who just released a Claude Code course. My incentives all align with supporting Anthropic."
This is somebody who very clearly wants to support Anthropic. He wants to be the Claude Code fanboy and they are making it incredibly hard for him. Just to emphasize how bad things are here, remember Matt's like one of the nicest people I know. I can't remember the last time I saw him swear. Anthropic subscription rules are more complicated than TypeScript generics. That's fucked up. Yeah, hilarious.
Even the Anthropic defenders have been coming out and saying the system prompt thing changing the behavior is absurd. So, what can we do now other than make conspiracy theories? And now I'm going to get into my own. And I'm getting into this because I still do use Claude Code, believe it or not. And not just through T3 Code, which by the way, if you don't know, T3 Code is the only UI that is actually performant and a pleasant way to work with lots of different projects at once. It's also fully open source and free. And it uses your Claude Code sub by calling Claude Code with your API key from your local install through the Agent SDK, which we think is okay. We are under the belief it is okay from my contacts at Anthropic, from the people I have discussed this with online, offline, all around the world. I would be very, very surprised if they were not okay with this, but I am secretly hoping they do something to ban it because I will tear them to fucking pieces if they do. I could probably win in court. I do legitimately believe that.
Anyways, if you want to use models from a company that isn't evil, we also support CodeX with your CodeX sub. We don't charge any money. You can't even bring your own keys. You got to use your CodeX or Claude. However they're set up, we'll just give you a good UI for. We added Claude because again, I still use the models. I use Claude and specifically Claude Code either through T3 Code or believe it or not sometimes through the terminal still for three things.
I use it for front end because it's still my favorite model for doing UI. So, I'll sometimes get a bunch of work done in GPT 4.5 and then move over to Claude in order to get some UI fixes out. I use it for setting up new machines, which I have to do painfully often. I just like using Claude for quick one-off things like, "Hey, I have SSH connections to this other machine on my network. Copy over all my configs." I like it for that type of stuff still.
And then thing three, which I did still genuinely really like using Claude for until today, and I was so frustrated I went live on Easter to film this particular video. I use it for debugging random shit on my machine. I don't mean code. I mean things that aren't working how I expect. Maybe a video in code didn't go right or a video file isn't playing correctly. Maybe this file is too big and I don't know why. Maybe this program isn't launching the way it should. Since Claude Code itself is kind of a black box, I find it to be fun to use. Not somewhat ironically, but also just cuz I like using it and talking to it. I like using it for that type of debugging.
I have never had a more painful back and forth with a model than I did today when I had Dropbox failing to work on my new laptop. I still use Dropbox for managing media assets with my team. And I wanted to use it to make a thumbnail for today. I noticed that it wasn't appearing in my top bar. It is now, but it wasn't at the time. And whenever I typed in Dropbox in Finder or whatever else, like typing in Dropbox and enter to try and launch it, it would launch and then nothing would happen. I wouldn't see it. It wouldn't appear. It wouldn't do anything. So, I do what I normally do when I have these things happen. I open Claude Code. Honestly, the more I think about it, I think the reason why I do this is I have an alias for Claude Code that hides my email in it and also turns on yolo mode. With CodeX, I type out codex-yolo every time. With Claude Code, I just type cc and it's in there. So, that's actually a legitimately big part of why I do it.
So, I do what I always do. I open Claude Code and I ask it to fix the problem. "I can't get my Dropbox app to open. I think it's hung in the background. Kill it and relaunch it for me." It did. It relaunched. I signed in and nothing worked. I couldn't get it to pop up. I couldn't get it to behave. So I asked, "It's working now, but I don't see it in my menu bar." They make a change where it doesn't show anymore. That's outside my area. I'm built for software engineering tasks like writing code, debugging, and working with repos. I wouldn't know about recent Dropbox UI changes. I'd suggest checking Dropbox's settings for a "show Dropbox in menu bar" option or checking their support site for recent updates. "Do you know what you can do, Claude? Because you have a tool for search." "Yeah, I was pissed." So I then asked, "Can you do some research for me?" "Sure, but keep in mind I'm best suited for software engineering research, code bases, APIs, libraries, architecture, etc. What did you want me to look into?" "Why I can't see the Dropbox menu icon?" "That's really a Dropbox support question, not something I can reliably help with."
What the fuck? I know I put a question in the random number generator and got back numbers I didn't like. I understand. I've already been gaslit by Anthropic employees being told that this is just what happens with non-deterministic models. Nobody can be blamed when things don't work how they're expected to. Fuck you. It never did this before.
And here is where we start the conspiracy theory. I genuinely believe that part of this effort they have been putting in around the system prompt blocking is making it so you cannot use the claude-p command, which reminder I used earlier. It lets you run Claude Code without having the whole Claude Code interface. It just runs the prompt and gives the response. My conspiracy theory is that they want to make it so you cannot use this for OpenClaw. So the first thing they did was ban the OpenClaw phrase on the API level. And the second thing they did, and here's the conspiracy, they edited the system prompt to make it very clear to Claude Code, you are just here for doing software development tasks. You are not meant to assist the user with general computer stuff. Because yesterday this worked and today it doesn't. The only explanation is the system prompt. That is how things about software engineering leak in where it will say that's outside of my area. And until somebody at Anthropic comes out and says for a fact with receipts that they did not change the system prompt between releases, I am fully believing my fucked up conspiracy. And they are fucking lying.
And just for the record, here is me asking the same thing to our friends over at CodeX, which did it perfectly first try. I copy pasted the first message. "I can't get my Dropbox app to open. I think it's hung in the background. Kill and relaunch it." It did. I then said, "I don't see the menu icon or the window. It just opens the folder that's syncing. The background process is running, but the UI isn't servicing while trying to activate the app directly and bring its frontmost window forward." It ran through a bunch of stuff. It was getting close, but it didn't quite figure it out. So, I did a steering prompt while it was still running telling it, "Hey, you should also do some research online to see if others are having the same problem." And it immediately started searching, found some stuff. Specifically, it found that it should still show it. Found other user reports reporting the same behaviors, saying it doesn't look like a one-off. It's a recurring Dropbox on Mac OS tray issue. It made some proposals on how it could possibly find the problem. It hinted that there might actually be a second Dropbox install causing the problem, which would make sense because I did install it through Brew. Honestly, funny enough, I installed it through Brew via Claude Code on my other machine, seeing I had it and then installing it, which it might have done wrong. So, I installed it. Nuke all the Dropbox installs. I don't mind losing my sync folders. "When you're done, give me a to-do list on how to safely reinstall to minimize issues." And it did. It went and nuked it. It had to run commands and information for it. Asked me to fix that. I did. And then it gave me this to-do list of all the things I should do after I reboot. So, I did it. And now Dropbox is working again. All without opening a browser.
Even people who have previously been okay with these changes think this is absurd. As Simon Willis says here, "Billing differently based on text contained in the system prompt is a really bad look." Or Dex here, who I tore apart before for being way too defensive of Anthropic and trying to figure out some good faith reason they're being so shitty, saying that his previous narrative is entirely out the window now because they bill differently based on your system prompt. I was previously a little to the Anthropic side of the spectrum on this because of exactly one argument. Third-party harnesses don't use caching properly and they can't be controlled with feature flags. If they're blocking use of Claude Agent SDK wholesale and OpenClaw at a system prompt level, then this completely invalidates that argument and I desire an answer as to what is allowed and why. I am disappointed that the communications thus far have failed to articulate the reasons here and it does make it harder to trust whatever they say next.
Yeah, one of the few people who could ever convince me on my conspiracy theory here being wrong is here. Bad Logic Games, who is the creator of Pi, which I've already cited in this video, funny enough. Apparently, he actually tracks the system prompt in Claude Code to see how it changes over time. And it looks like there was no meaningful change here. Thank you immensely, Bad Logic. It's totally. Don't be sorry for giving me the factual information. For what it is worth, I have heard that Claude Code requests get some more system prompt injection happening on the API level. So, I would not be surprised there. But this puts a huge pile of speculation into my conspiracy theory for sure. But I will emphasize again, I've never had such a bad experience with Claude Code in my life since like the 3.5 days. Well, 3.7 I think is when it came out. Never had this bad an experience with it. It's got to be API injection. Thankfully, chat seems to agree because this is just absurdity. I've never seen anything like this.
I'm going to do a thing that hurts me a bit. It's time to change my habits. I could go performatively cancel my subscription, but that doesn't do that much. I'm going to do something else. I have an alias in my zshrc, CC. It opens Claude Code with a few custom flags. Replace it with one that opens CodeX with --yolo on. I already preferred CodeX for coding. I already preferred CodeX for research. I already preferred CodeX honestly in general and I love that the CLI is open source. I like the model more overall. It's smarter. It's more capable. I can trust it to do things for longer. But I still reached for Claude Code for just doing quick things on my computer. And that is now over. The directory for my sandboxing on my computer is literally CC Sandbox and the CC stood for Claude Code.
In December, Claude Code changed the way I build software and the way I think about software on a fundamental level. I know I give it a lot of shit and I know most people think of me as Claude Code's number one hater, but if you ask the people I know IRL, I've been known to defend it. I've called it a more than good enough solution and a phenomenal gateway into new ways of thinking and building. I was hoping throughout all of this that they would fucking wake up and do anything right. And every single time I think we're getting a taste of that, of them doing the right thing, they literally contradict it in my fucking replies. Even just two days ago when I saw Boris specifically say "yep" to someone asking if we can use the models and the subscriptions for personal local tools that are wrapping Claude harnesses like Claude Code and Claude Code headless with Agent SDK. Boris said, "Yep, working on improving clarity here." I thought we were in the clear. I was so excited. I thanked him publicly. I blasted this publicly. I was ready to defend them. I was ready for this all to be fucking over. And then poor Thoric, again, just doing his job in efforts to prevent misinformation, replied to me, "To be clear, this is not guidance or an update on the Agent SDK. We're still working on clarity there." Nothing has gotten better, and everything has continued to get worse.
But despite all of that, Claude Code was still usable, and I didn't have enough reason to stop using it. That changed today. Today is the last day I intentionally open Claude Code for anything other than content. And now my binding officially points to a CLI that doesn't hate you, that is transparent about what you can and can't do with it, that has humans that answer hard questions with harder answers, that is trying, and that for whatever fucked reason, despite being worth $800 billion plus dollars, seems to care. I'm done telling Anthropic what they can do to fix things because they're not fucking fixing things. They're making them worse and I'm tired. So, I'm gonna focus my energy on the team that is listening, the team that is excited to do better, the team that hangs out in my Twitch chat, the team that makes jokes when I call them out for their shit, the team that is actually trying to win, and the team that's going to win.
If you haven't tried Codex yet, I highly recommend it. It is a better CLI. It has access to better models. It's open source. It's easier to build on top of, and you can use the API key other places. If you don't like the CLI, go use your auth in Pi. Go use it in Open Code. Go use it in T3 Code. Go use it somewhere better because OpenAI aren't fucking fucks. And I'm done. I really am. That's all I got to say on this one. My last reasons for using Claude Code died in front of me this morning and I had to make one last video. I will do my best to make this actually the last one and I will hope the next model doesn't bring me back with my tail between my legs. This is my honest take. And if you see this video and you're still thinking that I'm being paid by one of these labs to talk about things, I don't know what the fuck you're asking for at this point. I couldn't be more honest here. I was still using Claude Code until today and I no longer am. I am done and I encourage you to explore other options too. And until next time, peace nerds.