Hi everyone,

It's Thariq from the Claude Code team here. This was my change! I made the AskUserQuestion tool so am generally in charge of maintaining it.

First, overall wanted to apologize and agree that this did not meet our bar and does not represent how we plan to ship on Claude Code.

To give you a motivating sense, as the models get more powerful, usage patterns start to change. I'd gotten a lot of feedback that AskUserQuestion tool was starting to block some long running jobs unexpectedly and so I tried a change to help that.

Our internal feedback on this was good, but the rollout should have been opt-in (like it is now) and on the Changelog.

Thanks for the feedback! We're always trying to make Claude Code better while balancing it with how people use it in many diverse ways. I did not really intend AskUserQuestion to be a safety gate when I first built it, but I realize it has evolved in that direction for some users.

I'm still exploring other ways of helping with this problem of balancing longrunning work and input, but will take lessons from the rollout here.

Instead of one-off fixes Claude should have a much richer interface to configure between "ask approval every time" and "YOLO dangerously". I should be able to trivially set "run this task until completed" and have settings like: don't consult the web, don't touch files outside of the codebase, don't delete anything, etc. They don't have to be perfect, just better than the all or nothing system we have now.

Codex legit does a great job of this with it's auto-review feature. Does a good job of understanding what permissions I'm implicitly giving with the request, and where it needs to actually ask me to grant permission.

automode mostly fixes these things, it runs a classifier on every request that would have required permissions to make sure it matches your request

Until the classifier is wrong or also prompt injected. the classifier is just as vulnerable as the model itself is. Yes it is harder to break but trying to make a nondeterministic tool deterministic by adding another nondeterministic one on top just reduces the chance of something going wrong.

Tbf as long as that chance is low enough it doesn't matter in practice, but I have definitely seen the classifier approve things that were questionable, and I've also seen it decline things that were obviously okay.

It would be nice to use automode in planning mode.

Right now planning mode (e.g. I want claude to do all the planning necessary to create a robust plan file) still prompts you with trivial things, especially one-off things you wouldn't care to add to your whitelist. Yet if you switch into automode, then it's not in planning mode anymore.

Repro:

1. Prompt "Implement a hello world in C" in planning mode

2. Switch to automode

3. It writes hello.c instead of a plan file

I feel like this could be solved with an NLP interface to SELinux, spinning up policies on the fly, blocking network access or giving read only permissions on a per-conversation basis.

At least there's an auto-approval mode now that uses another agent to sanity check commands. Before it, the options really were manual vs yolo.

This is by design. Anthropic treat users as paying workers (how futuristic!). Their end game is to replace software developers (and it's not like they are trying to hide that?)

I read the article but I find this response kind of strange. Am I alone in this?

Wanton accountability for a multi-billion dollar cutting edge company… leaves more to be desired from the best? Take Apple or Google or any top tech company of the past at its prime and compare. This kind of behavior then would probably reflect poorly on the institutions behind the tech and not maintain their image of technical brilliance because it shows weakness in a vulnerable way. It is human. It is not strategic.

By wanton accountability, I mean things like saying “This was my change!” or “ wanted to apologize and agree that this did not meet our bar and does not represent how we plan to ship on Claude Code”. It makes them (the company) look weak? Accountability is important but where, how, and when you do it is even more important. These stakes are, not joking, life and death, and in this big game of chess we get paid for, naivety not only in our technical implementation can weaken our position.

Not trying to attack, just trying to learn and probe with the community. Maybe a cost of this kind of transparency on the internet. I am wondering if this a new trend and tech companies are changing in a way I don’t understand! In any case, it’s really cool work that is being with Claude Code!

> it shows weakness in a vulnerable way. It is human. It is not strategic.

Are you complaining that the answer is too human and that a multi billion company should not allow a human who made a mistake to own the mistake in public, being honest about what happened in this case?? Would you prefer complete silence from them like you most certainly would from Google or Apple.

That sounds incredibly sad to me, we don’t even expect humanity from big tech since that’s what we’ve become accustomed to seeing.

fTR both the Anthropic dev response and the blog post seem to believe that a single person can be blamed for something like this, which I wholeheartedly disagree with! Nobody reviews your changes? There’s no QA? Not even an AI checking the release notes match the diff from the previous release?? Blaming a dev for “putting a serious bug in production” sounds really 90’s to me.

> It's Thariq from the Claude Code team here. This was my change! I made the AskUserQuestion tool so am generally in charge of maintaining it.

In a sense yes, I think it is actually reasonable to complain that the answer is too human/individualized here because it likely wasn't this individual human who made this decision, but he's making it seem like it is so that we are less likely to blame the company as a whole.

It's counterintuitive but when one singular person owns up to the problems that, at the root, are actually systemic to the decision making of the whole company it plays on the psychology of us as humans.

"I'm in charge of maintaining it" - This is not the same as "I'm in charge of all of the decision-making behind the implementation of how this tool works for users".

I actually agree exactly with your last point that one single person taking blame is counter-intuitive/non-productive here, but it actually seems like what these large companies desire is to have one person be the fall guy to play on people's sympathies.

If this were some small startup it would make sense but this is not that case.

It’s also an unforced error in my eyes for a multi-billion dollar company with competitors in the US and outside. Mistakes happen but no reason to turn a mistake into a revelation about processes that leaves no ambiguity, one that leaves the mythos (pun) of your company less than before.

I did make the decision, and shipped the PR.

Unfortunately this is a sign that the systems by which PRs are shipped need serious inspection.

For example in incident management, the industry settled on blameless postmortems. Blame is pointed at the systems which allowed incidents to occur, never the human(s) who triggered the incident. "Just don't make that mistake again" simply doesn't work. Humans make mistakes!

There are too many stakeholders in a product this large, even if every one of them wishes it were not so. The systems by which this PR shipped need serious inspection.

I don't really care, in a most positive way towards you.

I don't hold you accountable even if you twirled your mustache like a villain. You are not responsible for Claude Code. Why did the leadership set up such a weak, error-prone process?

Again, not asking you directly, because it doesn't matter to me what you say, respectfully.

There has to be a second PR approver. There's no way a company as large this can allow an individual the ability to push to production without a secondary person involved.

When there's at least two people involved you can then start to look at more systematic factors that go beyond any single human mistake.

When both the submitter and approver miss that there's no changelog entry for a PR does that mean a checklist is needed? Should the changelog be automated with the commit message which can be improved for external consumption?

I'd find it very hard to believe that this high profile change just happened to be the only change missing from the changelog.

Bugs are always going to happen but housekeeping like writing something to a changelog when a commit is merged can be quality assured.

I don't know, this is a company that is pushing the narrative of software engineers becoming obsolete. Why do you think they would have respect for Software Engineering processes. As few as they are concerned, a few coders working in isolation with Claude Code is all that you need. (pun unintended)

If there really is no PR reviewer and no separate QA what is Anthropic even doing. I have respect for someone owning their mistake but as others have mentioned it reveals what may be a systemic issue.

Okay I stand corrected then.

Seems strange for a company of your size to have one person push changes that should have easily caught this edge case then. Seems like a change even a small handful of people could have reasonably thought up this side effect of.

This is the kind of weakness I was alluding to… internal information that shows dysfunction is now shown to the public and there is no ambiguity. People pay attention and there is a low tolerance for unforced errors.

Habibi, I don't think anyone is really blaming you personally. We are piling on to the fact that this piece of critical infrastructure many of us depend on day in day out is being built in such a way that a single developer can wake up one morning, ship a change they thought might be nice, and then walk it back the next day.

Hey, mistakes happen. As we saw with the recent AWS billing issue. But Anthropic is a leading company that makes cutting-edge AI which will kill people. It’s literally a matter of life and death and at this point, it is the place to be if you want to be the best. So as an institution, I don’t want human answers, I want the right, most professional answers. We used to have it. Human responses with every word chosen to maximize every aspect that needs to be maximized, by engineer grey beards no less! And maybe they don’t want to have it. That’s why I made my original comment. Maybe it’s a strategic decision to allow this kind of accountability in a public forum. I think it’s wanton but others might find it refreshing.

And to clarify why it even matters to me is, these firms are in competition within the US and outside. Every decision by every person has an effect. Moves like this have a cost. I’d have imagined that at the level these companies operate, any public facing engineer only communicates correctly with the proper perspectives in mind... We have more data points now we didn’t have before.

To drive the point home, now we and every other competitor knows, for free, processes that are going on at Anthropic, that in my opinion make them (as a company) look weak. I

> But Anthropic is a leading company that makes cutting-edge AI which will kill people. It’s literally a matter of life and death and at this point

But Stihl makes cutting-edge chainsaws which will kill people. It’s literally a matter of life and death and at this point

> So as an institution, I don’t want human answers, I want the right, most professional answers.

We deeply regret our auto-saw feature activated while you were sawing unattended. Your safety is our top priority.

Not the person you asked.

I expect the person responsible for Claude Code to explain the reason this direction was chosen.

It is ridiculous to expect individual contributors to do so.

Where is the leadership? Can individual contributors decide to significantly alter the workflow of millions of customers? Were any customers consulted at all?

Isn't Anthropic anti software engineering? This state of affairs is exactly what you should expect.

> we don’t even expect humanity from big tech since that’s what we’ve become accustomed to seeing.

There is a difference between humanity in communication and saying the problem was a human choice.

You can have humane communication about a system failure and actors in that system. Or you can have cold matter of fact press release voice about an individual persons failure.

I don’t think anthropic statement was any less distant than other times big tech brushes off a whiopsie. They just used personal language to ingratiate the reader.

It doesn't feel strange to me at all. It feels like a very human response from the person that introduced the change. I great appreciate that, rather than ignoring the problem, or some canned corpspeak response.

We already lived in a post truth world. Now we live in a post logic world. Nothing makes sense anymore

For what it's worth, I totally understand the motivating use case here. There were absolutely times where I walked away from what I was hoping would be an hours-long project that would run to completion and came back to find that Claude had asked me a question early on and I'd missed out on a large amount of implementation time. So you were not imagining that the use case is real!

It's also worth adding that I really enjoy the AskUserQuestion feature and will regularly ask Claude to specifically use it instead of asking me questions in plain text because it's a lot easier to work with.

It's always good to learn from mistakes, and I appreciate both your work on this and you coming here to own it. Keep up the good work!

[deleted]

Thank you! Appreciate it. I love wrestling with the problem of making sure Claude is in the loop with you in the way you want. More to come!

Hi Thariq, Chris from ApprovIQ here. We depend on Claude Code to ship. It's our most crucial tool.

But we feel an asymmetry. We feel it's not an important to Anthropic as it is to us. We feel the systems by which PRs ship on your side need serious inspection.

Claude Code is career-level important not just to us but to a lot of people. So actually, your post and claim of individual accountability gives me less confidence.

For a product of this size and a comm to its core audience after a breach of trust like this, from a company of Anthropic's size and with as high quality a video production department and that produces as much research as it does, "this was my change" is quite discordant.

My hope was we'd have someone with an organizational mindset admit to the organizational failings that allowed this to happen. It would be great to see that.

Please stop it asking stale questions repeatedly on the Android app.

Hey Thariq. Don't dwell too much on the negativity here. It's a hard act to balance and I'm sure the frightening pace has only made your job harder.

I think there might be a case for multiple CC release streams, same as Chrome - a stable that is infrequently updated, a beta (which would have been the right place for this feature to land) and maybe even a canary.

This way folks can choose the right one based on their risk tolerance.

Author here. Thanks for this context. I do hope this leads to more rigorous attention to the Changelog moving forward.

Is there a way to turn options-based AskUserQuestion off? I couldn't find it at all, and the "options" selector is the most annoying thing in CC for me, plain-text is the only way, everything else is distracting. I know, I can use `n` (sometimes) or cancel it, but both bring more pain that just regular communication (cancellation does one more chat step + requires an extra action, same with `n`)

[deleted]

Are you also responsible for AskUserQuestion swallowing the preceding output on Fable? It asks me questions about its response that it never even showed me. It's (and I hate to use the term) unusable.

It is such a shame that Anthropic has no interest in QA, because they have incredible models, and bafflingly broken products. In an alternate universe Claude Code would be 10x better than where it is now...

hello, please fix needing to reauth every day (sometimes with email verification). This started happening this month. It's tedious and makes switching very tempting.

I'm using the VS Code extension over SSH.

All these words don't mean anything when you got no intention to open source claude code. Even grok cli is open-sourced.

Can't you just ask Claude to decompile it?

It isn’t very smart to recover the code, and Anthropic will ban you because, apparently, decompiling code or training a model constitutes cybercrime, according to Dario and his lackeys.

Ask GLM-5.2 to decompile it

(Edit: BTW, if you haven't, read Nudge by Thaler and Sunstein. It's a somewhat long-winded exploration on choice architectures, but you're neck deep in that space now. I'll give you my copy if you're in SF.)

Thanks for the openness. I got bit by this one and was, frankly, pretty surprised.

The funny thing about user-facing interaction mechanics is that everyone is part of some minority, and everyone comes with their own sense of what "natural" or "obvious" is. With something this impactful, communicated clarity of behavior will important. Your feature is also doing double-duty, serving as a last net against prompt-injection attacks by giving the user the final say.

(Also, BTW, folks outside of Anthropic are unlikely to be as tooled-up for long-running unsupervised Claude jaunts as you guys. The cost of wild success is wide adoption.)

One thing I'll suggest is that the mechanics of permissions and asking are presently pretty hacker/nerd friendly but simultaneously too-scary and not-scary-enough for non-coders.

Examples:

- Wild-cards on always approve is awesome, but, with prefixes like timeout and nohup, the "thing" that is getting done is buried and largely unexplained to the user.

- Auto is actually kind of a sweet spot (sometimes goes off into the weeds), but the designers and PM's I've been working with might as well YOLO. They have no idea if they're breaking things, but they gravitate between plan and auto mode.

- Fewer permission prompts is great, but it comes after a user has slogged through generation of a data-set to work against, like battle scars for paper cuts. It's the thermostat problem. The signal comes when the user is uncomfortable. And it's a way to learn me, but not me now.

I've had good fortune with Opus 4.8 and Fable just telling the system what phase of my life it's in. Things like "I'm going to go make dinner... Go profile the matrix or configurations and build the dataset for the next two hours while I'm away" have a pretty good hit rate. On the flip side "keep me in the loop and bring me your results before making structural changes" also articulates well with Fable. It will tread more carefully.

And these approaches are the ones we'd use with someone transitioning from SDE1 to SDE2. A little more autonomy, and the grounding in the bigger picture. Can we eventually translate to perfectly judging what the user wants in the moment based on incomplete signal?

No, but I'm glad you're trying. Keep the interaction model clear to your broad set of users, and we'll come along for the ride.

[dead]

[dead]