You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Desktop 3.17.2 (macOS): composer permission-mode selection silently reverts in background chats (never persisted until a message is sent) #1386
In a background/side chat, selecting a different permission mode in the composer (e.g. "Ask before changes" → "Autonomous mode") silently reverts to the previous mode once the chat loses focus and is re-opened. The selection is never persisted anywhere until a message is sent.
Steps to reproduce
Have two chats in the same project: chat A in the foreground, chat B in the background/side pane.
In chat B, open the composer mode picker and select Autonomous mode. Do not send a message.
Click away to chat A (or another view) and wait ~30 s (the session-data keep-warm window), then re-open chat B.
The mode picker shows Ask before changes again.
Expected
The selected permission mode persists for the chat until changed, ideally persisted immediately like other composer selections.
Actual
Verified with a 0.5 s polling monitor across all persistence locations while reproducing twice:
Toggling the mode produces zero writes and zero log lines. None of these change: task-index tasks.mode, session.permission in the CLI db, the persisted composer draft in Local Storage (its mode field keeps the old value and old timestamp), and no renderer/host events are emitted.
When the background conversation store is closed after the keep-warm window and re-opened, the composer re-initializes from the persisted draft + task meta — which still hold build — so the picker visibly snaps back.
The selection only becomes durable if a message is sent while it is still selected: the mode rides with the turn and is written into the task index at turn completion (observed tasks.mode flip build → guarded exactly at turn.completed).
So any mode change made in a background chat is lost unless the user sends before the store recycles — which also explains "the agent does not respect the mode" follow-ups: the message goes out with the old mode.
Workaround
Pick the mode and immediately send the next message without switching chats. After the first turn completes in the new mode, it sticks (recorded in task meta).
Suggested fix
Persist the composer mode selection immediately (draft-level, like modelSelection appears to be), and/or respect the draft mode when the conversation projection re-initializes after a store recycle instead of falling back to task-meta/build.
Activity
github-actions commentedon Nov 3, 2026
👋 感谢你的反馈,我们已经收到。
status: 待评估,你可以随时补充信息。needs: 更多信息标签并 @ 你。👋 Thanks — we've received your issue.
status: 待评估(Triage); feel free to add context.needs: 更多信息and ping you.