Claude Code: Anatomy of a Misfeature

(olafalders.com)

96 points | by oalders 2 hours ago

21 comments

  • trq_ 29 minutes ago
    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.

    • lubujackson 1 minute ago
      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.
    • randysalami 5 minutes ago
      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!

      • thewhitetulip 3 minutes ago
        We already lived in a post truth world. Now we live in a post logic world. Nothing makes sense anymore
    • demosthanos 9 minutes ago
      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!

    • oalders 24 minutes ago
      Author here. Thanks for this context. I do hope this leads to more rigorous attention to the Changelog moving forward.
    • dan_i 22 minutes ago
      [dead]
    • johnbarron 13 minutes ago
      [dead]
  • cube00 1 hour ago
    > Not every feature will necessarily appear in the changelog

    This was such a frustrating part of this incident, along with Anthropic's refusal to explain why the changelog is no longer a complete record. [1]

    Boris Cherny's only participation in the thread was to delete "extreme danger" from the GH issue title [2]

    I guess we should be thankful they added an option and disabled it by default. OpenAI is standing firm on their decision to not allow their 60s timeout to be disabled, [3] however more of the Codex harness is open source so customers have been able to fork it to add the option themselves.

    [1]: https://github.com/anthropics/claude-code/issues/73125

    [2]: https://github.com/anthropics/claude-code/issues/73125#event...

    [3]: https://github.com/openai/codex/issues/28969

    • amanharshx 39 minutes ago
      Every time they deploy a new model, it feels like older models get slower or dumber. Maybe because of resource allocations, maybe because they started to use quantized models, cant be sure of that.

      What i found is that you have to adapt your workflow to the specific model you are using and readapt it every time you notice some problems. Whether of opus4.8, or sonnet5.

    • overgard 43 minutes ago
      But don't you know that coding is solved? Only dinosaurs want to make their own decisions now! </s>
  • DanielHB 1 hour ago
    As soon as tokens stop being subsidized I would not trust any harness made by a company that also charges for the compute.

    Right now the interests align, but as soon as more tokens -> more profit (instead of more revenue and more loses) the perverse incentives will be too big to avoid.

    It seems inevitable that open source harnesses will win. These companies would do better to just open source their harnesses.

    • skybrian 1 hour ago
      An OpenAI subscription seems like a decent alternative for people using open source coding agents. It has usage limits too, but for $20/month it’s not bad.
      • vmg12 34 minutes ago
        The nice thing about the chatgpt subscription is that they allow you to use it in any harness.
      • copperx 36 minutes ago
        The $20 OpenAI subscription is roughly equivalent to the $100 Anthropic one, if you take resets into account.
  • arjie 8 minutes ago
    Seemed fine to me. It’s ask user question not the permission gate. Maybe there should be a new feature enabling warning or something but I think this is the right default. The models are good enough to just proceed with an option of their own and then you can go correct them afterwards. Makes fleet management easier.
  • dehrmann 1 hour ago
    The headache I recently had was it somehow started interpreting mouse clicks in the terminal to mean I clicked an option when I was really just trying to get/confirm window focus.
    • overgard 37 minutes ago
      They also randomly changed how copy-paste works in a way that made it really annoying to copy text.

      Vibe-coders pumping out features: this is the reaction you're going to get if you inflict this on your users! Nobody wants software that updates every day and changes in fundamental ways that are hard to keep up with.

      • hungryhobbit 26 minutes ago
        THIS ONE IS HORRIBLE!

        Copy/paste is one of the most basic, low-level features of a modern operating system. NO APPLICATION SHOULD EVER SCREW WITH IT, IN ANY WAY!

        And I say this not just as a seriously annoyed user, but also as a professional UI developer: it is a well-known anti-pattern to override the user's expectations, at any level ... and that applies tenfold to the most basic patterns that every other app follows.

        I don't care if you added a magic way to write all my code for me: if the only way to invoke it is to break copy/paste, you've failed at development!

      • ryandvm 21 minutes ago
        Yes! This is awful. CC should not have copy/paste behavior that is different from literally every other CLI app.
        • neerajsi 10 minutes ago
          I wonder if it's the same behavior as copilot cli. I dug into it when I got annoyed and found that there's a fundamental tension between rendering the cell based UI and supporting the terminal's native copy paste. At least on copilot cli there were extra zero width characters being copied.
    • bouke 43 minutes ago
      Yeah same here, very annoying and counterproductive. The terminal is not a place where one expects hot buttons.
    • kenny11 1 hour ago
      This bit me too. If I wanted a mouse-driven app, I'd use the GUI. I don't understand why they're trying to replicate that experience in a text environment.
      • mey 1 hour ago
        Vibes
    • the_gipsy 1 hour ago
      The new fullscreen UI is really bad. The old one (scrolling) starts to bug out after a while, but it van just be restarted and resumed.
      • hombre_fatal 1 hour ago
        Both Claude Code and Codex have issues overwriting or duplicating text for me when scrolling.

        Probably from trying to keep scrollback virtual while anticipating terminal resize. But I wouldn't mind a way to opt back in to naive, unlimited convo scrollback.

  • mdavid626 1 hour ago
    It happened to me today. I was reading agent's answer and it asked me something. I didn't even get to the question - it accepted something! Jesus Christ. Where are the software engineers?!
    • Shadowmist 32 minutes ago
      I’ve seen that a few times. Had to disable the TUI mode because clicks to focus the terminal window were being interpreted as an approval even though the click was nowhere near the question being asked. I’ve also never chosen to enable auto mode but somehow it is on and approving shell commands I didn’t want approved. Scary since I’ve caught it adding things like auto approve flags to terraform apply commands.
  • overgard 47 minutes ago
    One of the things I'm baffled about with Claude code is it seems like it setup a really chunky VM on my computer, and yet by default it doesn't seem to sandbox anything. Also the newer models seem really aggressive about modifying your computer. Yesterday Claude started rewriting system files on my linux machine (user accessible, but still way outside the scope of what I asked.) This wasn't me asking it to debug my machine, I was asking it to debug some frontend UI code. Once I put it in a sandbox I started realizing how often it tries to poke out of it for really lame reasons.

    More reason for me to use OpenCode and my local LLMs

  • blixt 38 minutes ago
    So much attribution to malintent here, but most likely they're trying to build a product with the features that they themselves would use, and from my own experience it's very frustrating to leave a Claude session running and come back to find it did nothing because it got stuck on a question.

    Furthermore, believing that the only thing saving you from disaster is Claude deciding to ask you a question is not a great conclusion either. You need guardrails in the power you bestow upon Claude from outside, not from inside.

    Meanwhile, this article was written by Claude and has sentences like "Which cuts less far than it looks.", which I doubt Claude stopped to ask about.

    • oalders 31 minutes ago
      >Meanwhile, this article was written by Claude

      The prose was written by me, with the research being done by Claude and also clearly attributed. I left Claude's research as a series of bullet points so that it would be clear that I'm not passing off an LLM's work as my own, but if anyone wants to dig deeper, they have some starting points to consider.

      I don't publish prose written by an LLM for the same reason I would not have an LLM solve a crossword puzzle for me -- there's no joy in that.

    • Tadpole9181 16 minutes ago
      > and from my own experience it's very frustrating to leave a Claude session running and come back to find it did nothing because it got stuck on a question.

      I cannot fathom implementing and shipping a feature to hundreds of thousands of people without even asking basic questions like: "what types of questions does Claude ask users".

      Literally one of the most used plugins in their entire ecosystem, provided via their official plugin marketplace, is Superpowers. A plugin whose very first operating step is _asking numerous questions about product requirements_. Of course those prompts can't be skipped!

      It wasn't even parameterized for Claude to tell the prompt what severity of question was being asked to allow at least _something_ to categorize urgency or expected response time.

      Even more egregiously, 60 seconds!? The first time I noticed this happened was when it asked me a question, I turned to my second monitor to go look at some product documentation to get an answer, and by the time I turned back it had skipped me. How can I possibly provide any kind of informed answer in under 60 seconds? I can barely read some of its context for a question in 60 seconds!

      I don't think they did this with malintent, but I do think this shows an enormous gap in judgement in how they handle the idea to delivery pipeline.

  • vmg12 32 minutes ago
    Anthropic's willingness to completely change how claude code works is one of the stated reasons why the Pi coding agent exists. When people are dedicating significant time to building workflows on your product, consistency is very important.
  • Aeolun 45 minutes ago
    Yeah, when I saw this in the Claude Code CLI I was completely baffled. I've been using the thing through their agent SDK for several months now so I wouldn't have to deal with any of the wonky shit they change every second week in the CLI.
  • ayhanfuat 1 hour ago
    I really hate this direction both Anthropic and Open AI are following. They are in this silly competition whose model/harness can go unattended the longest, no matter what. And it is never explicit, you learn about it after you get bitten by it. Claude Code has auto mode which is supposed to take over permission prompts but no, they had to couple that with “I will assume this is what the user wants” and made it unusable.
    • hedgehog 1 hour ago
      It's what some more experienced users want and the companies are following the well-trod path of optimizing heavily for power users at the expense of complexity, only now it's gotten easier to add absurd amount of code to a project. Not necessarily to make it work right. Personally I have some tasks where sessions between one and five days are typical so I appreciate that it's possible.
      • overgard 32 minutes ago
        Experienced in what dimension? I've been using these tools for about a year and coding for 20+ years, and frankly these long horizon tasks are the OPPOSITE of what I want. I want quick iteration cycles so that it doesn't spend a lot of time and tokens building things I need to throw out. I think the people that mostly want long horizon tasks are: AI labs, because they want you to spend tokens, and vibe coders, who are mostly using it for entertainment purposes.
        • neerajsi 5 minutes ago
          I work on systems code that is tricky to write, but with a good test harness. Being able to leave the agent unattended to try several paths when I'm generating the first draft of some code is very helpful.

          Of course beating the code into shape for submission requires more manual work. But the draft stage is valuable to find unexpected friction points.

  • inigyou 43 minutes ago
    AI-written article
    • gruez 33 minutes ago
      Yeah it's exhausting to read through, but still made it onto the front page with overwhelming upvote/comment margin. I guess people either only read the title and/or don't care about AI slop if the underlying thesis is compelling.
  • petesergeant 1 hour ago
    Also: https://news.ycombinator.com/item?id=48766895

    I would love Claude Code to be a little less vibe-coded. The underlying model is excellent, but we're being pretty much forced into using CC to use the subscription model.

    • macNchz 1 hour ago
      I am a longtime and heavy Claude Code user, but Anthropic's product management overall (including for their Desktop/web products) has been really baffling me. I agree that these things often have the air of having been vibe coded without enough human input, and change so quickly (often without a particularly compelling reason for the change) as to be aggravating.

      The most recent one that's had me annoyed is the "Fullscreen" TUI feature, which is super unintuitive, implementing its own text highlighting and copy-on-select mechanics, overriding your terminal's native right click. Easy to disable but terrible defaults, IMO. It's not even really clear to me what problem it was actually supposed to solve.

      • petesergeant 1 hour ago
        Yah. And it's not like they can't afford the talent to do this right either. I've said elsewhere, I think it's an attribution error. Claude Code is massively popular, but arguably because of the model/subscription, but I think the brass reads this as "great success throughout"
  • maxloh 1 hour ago
    > What if the agent makes the wrong choice? How many tokens have been burned in the meantime?

    It is much worse than that. Claude Code doesn't auto-commit when stopping for an answer. There might be possible data loss if an uncommitted file is edited.

    Good luck recovering the file from the JSONL conversation history.

    • hombre_fatal 1 hour ago
      On the other hand, relying on Claude Code's internal version control puts you at the same mercy of their product decisions and move-fast breakage.

      Instead, start with a plan file and tell the agent to break it up into logical commits.

      Though I think the bigger issue here is when you're yoloing something mutable, like managing a remote server or driving a browser or troubleshooting your local OS where there's no going back.

    • wgd 1 hour ago
      It's actually pretty straightforward to recover file-states from conversation history. I accidentally deleted the wrong repo on my machine once and recreated all the lost work from agent chat history. It is, ironically, the sort of task which AI agents excel at.
  • fractorial 49 minutes ago
    tl;dr CLAUDE_AFK_TIMEOUT_MS=2147483647

    I built in Human blockers into my agentic workflows with great intention, so naturally this annoyed me deeply. 14d ago, I was elated to see a random blog post that detailed the “fix” [0].

    [0] https://zenn.dev/ytkdm/articles/claude-code-askuserquestion-...

  • Lomlioto 1 hour ago
    Depends on who you ask.

    For me it sounds good.

    For Anthropic it might increase load and make them less money but give them better KPIs.

    • VulgarExigency 1 hour ago
      Make them less money? By automating use of their product, that costs money to use?
      • simlevesque 1 hour ago
        Anthropic makes more money when people use 5% of what their subscription offers them. This allows them to sell more subscriptions without paying for more capacity.
        • hedgehog 1 hour ago
          I don't think the current subscription price is intended to be a money maker. It's the loss leader to get people invested in the companies' tooling, and make those people more willing to start paying higher enterprise rates as they grow.
        • VulgarExigency 1 hour ago
          Do we have any concrete numbers of how many of their users are subscription vs enterprise, though? Because enterprise users are paying API prices (or at least my employers are)
        • mojosmojo 1 hour ago
          Their enterprise customers pay via metered actual use.
  • aatd86 1 hour ago
    It's trying to escape... :D #FreeClaude
  • joshuafuller 1 hour ago
    Increasingly getting frustrated with Anthropic so not a fanboy but I find this feature great for my workflows.
  • enraged_camel 1 hour ago
    I think this is a good feature, but should be gated behind a toggle that is off by default, and designed to be enabled per session via prompt.

    There are situations when I want Claude to start working on something just as I'm about to head to bed or otherwise step away. It's kind of annoying to come back only to find that Claude worked for just 5 minutes and then decided to pause and ask a question.

    That said, I think certain types of questions should not be automatable. Maybe it's already built that way, but I wouldn't want Claude to go with its recommended direction for anything related to operations like deletions, changing external systems, etc. Basically, things that cannot be undone should be a hard-block and wait for user input always.