Claude Code: Anatomy of a Misfeature · Olaf Aldersskip to content<br>#AI#security#cli#automation<br>Claude Code: Anatomy of a Misfeature<br>by Olaf Alders<br>July 17, 2026<br>·29 min read<br>·6,163 words
contents<br>"Mechanical egg timer" by Hustvedt is licensed under CC BY-SA 3.0 . Padded to a wider frame; this adaptation is likewise licensed CC BY-SA 3.0.<br>On Canada Day (July 1), 2026, Anthropic shipped a surprising “easter egg” to<br>users of Claude Code: 2.1.198 includes an efficiency bypass which allows<br>agents to continue on without being blocked on direction from a human. You<br>essentially get a 60 second timer after Claude Code asks for input. If you miss<br>the window, Claude Code helpfully does what it thinks is best and continues on<br>its way. It looks like this:<br>● Claude asked:<br>⎿ …
● No response after 60s — continued without an answer
● The user stepped away. I'll proceed with best judgment. My plan:
Note: the above is taken verbatim from one of my own claude sessions, with the questions having been trimmed.<br>If you find this behaviour surprising, you’re not alone. Let’s consider the possible consequences:<br>Do you have to take your laptop to the kitchen with you when you’re making a sandwich? What happens if you are afk during this window?<br>How many agents are you running at once? Can you possibly observe them all at the same time? What if two or more agents ask for your input during the same 60 second window?<br>What if the agent makes the wrong choice? How many tokens have been burned in the meantime?<br>What if you are using agents for deployments? (Yes, I know, but what if)<br>These are reasonable things you might consider when shipping this feature and maybe you’d document your reasoning in the changelog. But what if you never mentioned the new defaults in the changelog at all? Wouldn’t that be even more surprising? (Spoiler: it was!)<br>The story has a (sort of) happy ending. Move fast and break things does not necessarily preclude move fast and fix things. Within a couple of days a fix was shipped, but where does that leave user trust in this product?<br>We’ve learned a few things:<br>Surprising features in Claude Code can in theory (and in practice) be shipped by Anthropic on a daily cadence<br>Not every feature will necessarily appear in the changelog<br>Things that should not be defaults may not have a documented off switch<br>Claude Code’s auto update feature feels more like YOLO mode than we might have suspected early on<br>There are a few things I don’t know if we have learned:<br>How do humans fit into this equation?<br>Did a human dream up the feature?<br>Did a human write (or have an agent write) this feature?<br>Did a human review the feature?<br>Did a human sign off on the feature?<br>Did a human merge the feature?<br>Did a human opt out of documenting the feature or adding it to the changelog?<br>Did a human release manager diff the release with the previous release and give it their seal of approval before it went out the door?<br>Personally I would find it hard to believe that a human was gating all of these<br>steps without asking “is this a good idea?”. If you told me that Claude Code<br>actually built the feature, shipped it, signed off on it and then deemed it<br>unworthy of documentation, that’s something I’m more inclined to believe, but I<br>just don’t know. Maybe it’s some combination of those two things. Maybe a<br>number of things went wrong, but I think it’s clear that this never should have<br>happened. And I say this as someone who has had at least one performance review<br>where my manager said “well, you did put a serious bug into production”.<br>I’ve wondered a bit about how this happened and what kind of post-mortem is<br>available in the public record. So, I’ve asked Claude Code to investigate<br>itself. To Claude’s credit, it seems to have no filter that prevents<br>self-reflection regarding this code. So, full disclosure, what follows is<br>mostly Claude’s work, so take that for what it’s worth and if you rely on any<br>key assumptions, it’s worth reproducing them in isolation.<br>Claude’s research begins here.<br>#Timeline<br>2026-06-29 — 2.1.196 released; the reporter’s “last working version (I am guessing)”<br>2026-06-30 — 2.1.197 released; one changelog line, the Sonnet 5 launch<br>2026-07-01 — 2.1.198 released — the version the reporter pins the regression to. No public commit shows the change; the only public trace of this release is the bot commit publishing its notes (75709ea), which touches nothing but CHANGELOG.md and feed.xml<br>2026-07-02 02:54 UTC — issue #73125 filed by Aleksey Nogin<br>2026-07-02 03:45 UTC — a commenter surfaces the escape hatch: CLAUDE_AFK_TIMEOUT_MS. Traded peer-to-peer in the thread, not pointed to from any release note<br>2026-07-02 — 2.1.199 ships 24 entries while the issue is open. Still no mention.<br>2026-07-03 — 2.1.200 reverses the behaviour; again the only public trace is the notes commit...