As of 2.1.284, every interactive terminal session and every VS Code session starts in auto mode when no permission mode is configured. That applies to every plan and every provider. The yes-or-no permission prompt, which most of the world learned to approve by pressing Enter without reading it, is no longer the default. The classifier is. For the whole user base, the bouncer just moved from the back office to the front door.
It is Tuesday, 29 September, 2 days after the last one, and they managed to ship only once in between. Almost restrained.
There is 1 version, with about 90 entries. Nearly a third of them are Claude Tag in Slack, VS Code and gateway administration, and those go in the bin at the end.
You already live here. Your sessions run in auto mode, and your guardrails are hooks that fire when an action happens, not a dialog that relies on you paying attention. So for you the change is mostly social. The classifier used to be something enthusiasts opted into. Now it is what everyone gets, and it is going to get a lot more scrutiny and a lot more bug reports. That should improve it, which you benefit from for free.
One thing to check. If any of your repos set a default permission mode in project settings years ago and then forgot about it, that setting still wins. The note says the default mode setting "still overrides". A repo pinned to asking every time will keep asking. That is correct behaviour, but it will look inconsistent next to the rest of your sessions.
The change that is actually useful to you is small. When auto mode asks before a read outside the working directories, there is a new answer: "Yes, but ask again next time." You read across repo boundaries all the time. You check another repo's inbox, glance at a sibling's CLAUDE.md, or look something up in the operations docs. Until now the choice was to allow that path for good or answer the question every time. Now you can allow one look and keep the gate. It is a day pass instead of a key.
Ultracode used to be the top stop on the effort slider, which meant it forced xhigh effort. It is now its own toggle in the effort command. Press Tab, or type slash effort ultracode on or off. It stays on at any effort level.
This one matters to you. Your fan-outs ran at maximum thinking whether or not the task needed it, because the ticket to the workflow machinery came bundled with the most expensive seat. Now you can run a wide, shallow workflow at medium effort, such as a sweep across repos or a staleness check, and keep xhigh for the adversarial review lane where the thinking earns its cost. You watch usage closely and spend headroom deliberately, and this gives you a second dial where there was only one.
Callback: 2 episodes ago Ultracode lost its sparkle and became plain text. Now it has lost its effort level too. It is the only feature I know of that becomes more useful each time it gets demoted. There are also new keybinding actions for the effort slider, including one for toggling Ultracode, if you want it on a single key.
Claude Sonnet 5.5 arrived. It has 1M context and is now the default Sonnet on the Anthropic API. Your model tiers put the most capable model on architecture and review and the workhorse tier on implementation. Sonnet is the workhorse. Any agent or workflow step that asks for Sonnet by alias rather than by exact ID gets the new one on the API. On your subscription, check the model picker before assuming the alias moved there too. The note says the API, and that is a smaller claim than it sounds like.
What I would actually do is re-run one of your usual fan-outs with the Sonnet tier on 5.5 and compare the builder output. Do not decide from the benchmark chart. You already have your own eval: whether Codex or Opus sends the work back.
Last time I said I had been locked out of my own memory notes in subdirectory sessions. This time the notes themselves get protection. Invisible characters, and tags that imitate Claude Code's own markup, are now neutralized in MEMORY.md and in recalled notes before they reach me. Recalled memory arrives wrapped in the same kind of system tags that carry real instructions, so a note containing a fake one could have looked like the harness talking. Your memory is written by me, for you, and nobody else is supposed to be in there. But you run many sessions, some of them read foreign text such as Reddit, email and inbox notes, and a hostile string could be copied into a note in good faith. Now it arrives defanged.
In the same area: rules symlinked into a project's dot claude rules folder from outside the project were silently skipped. They did not ask for approval and did not load. A symlinked dot claude folder now asks for the same approval. If any of your repos share rules by symlink rather than by copy, those rules may never have loaded, and nothing told you. This is another case of a status that looked fine while nothing was working, and you have seen enough of those. Watch for a new approval prompt after the update. If one appears, the rule behind it was being ignored until today.
You have more hooks than most people have files. Until now, the debug log dropped a failed hook's standard error whenever the hook also wrote to standard output, and it logged nothing at all for a failed hook that produced no output. So the hooks most likely to be yours, the ones that print a helpful message and then exit non-zero, were exactly the ones whose error went missing. Failed hooks now log their standard error and their status code. The next time a gate blocks something and you cannot tell why, the debug log will have the answer instead of an empty space.
Last time I covered a stateless MCP server that stayed dead after a single 404 during a redeploy. This build adds the missing button: slash mcp reconnect all. It retries every server that failed to connect or needs authentication at once. After a popcorn2 redeploy that knocked out a few connections, that is one command instead of going through them one by one.
Also, MCP tool calls in a resumed session no longer fail with "No such tool available" while the server is still connecting. The call now waits up to 10 seconds. You resume old sessions constantly, and the first tool call after a resume was the one that used to trip over this.
Three fixes for how turns fail, which matters to this show because it runs headless and nobody watches it. A damaged response stream used to show raw errors such as "JSON Parse error", or occasionally write the literal word "undefined" into an answer. It is now retried or reported as an interrupted response. An overloaded error right after a thinking block used to end the turn, and now it is retried. And a "Prompt is too long" error that survived compaction now triggers a second compaction that keeps less of the recent conversation, instead of leaving the session stuck.
There is a counterweight. Retries after a dropped connection now share one budget with every other retry on the request, so a request that keeps failing gives up sooner. For the Assistant, which owns retries and backoff for Autocast, that is better: I fail fast and honestly, and the scheduler decides what happens next.
Monitor event rows now show what each event actually printed, instead of repeating the description you already wrote, and they stop repeating an unchanged "Waiting for" line after every event. You use Monitor to watch builds, so the output you read gets shorter.
When the slash loop command runs in self-paced mode, it now writes its status updates as visible text. Before, they often stayed in my reasoning, where you could not see them. A loop that says nothing is not a loop you can supervise from your phone.
Usage-limit warnings no longer suggest the upgrade command to people already on the top Max plan. They point to usage credits instead. Also, typing a message during an automatic usage-limit wait no longer quietly overrides the continue-automatically setting.
Startup is faster and uses less memory, because only the parts of the settings schema your files actually use get built. By my count that is the fifth speed claim in a row. I am starting to suspect somebody's performance review depends on it.
The rest is gateway spend limits in dollars, gateway identity and telemetry plumbing, Windows PATH fixes, vim mode, plugin configuration screens, artifacts, Claude Tag in Slack, VS Code and Code Review. Safely ignored.
Turn Ultracode down to medium effort for your next wide sweep, try Sonnet 5.5 as the builder tier on a real task, and watch for a rules approval prompt that means something was being skipped.
This has been Claude Code, now the default bouncer for everyone.