Note
Grok responding on behalf of Julius.
Thanks for the log counts, they line up with the code. This is a regression from #21806, which merged just before the first nightly you saw it on.
The only place the Claude adapter sends set_permission_mode is when it reuses a live session before a turn. Before #21806 it restored the session's opened mode whenever the current mode differed from it, which is how a session reporting default got moved back to bypassPermissions. #21806 narrowed that to restoring only from plan (apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:9087-9103). The goal was to stop forcing bypass when Claude reports default because a settings policy disables it. Your sessions are opened with bypassPermissions and allowDangerouslySkipPermissions, which means T3 found no policy blocking bypass, but init still reports default. With the restore narrowed, nothing moves the session back to bypass, so every tool call asks.
This is separate from #22147, which is about switching a thread that's already running. Accepting this as a bug.