Skip to content

[FEATURE][Desktop]: Show a persistent indicator when auto-accept permissions is active, and make the setting a real default for new sessions #38289

Description

@vokasug

Describe the enhancement you want to request

Problem

Since v1.4.0 (#23586), auto-accept permissions is toggled via Settings → General or the command palette (Cmd+Shift+A), but once enabled there is no persistent visual indication in the session UI that subsequent tool calls run without approval. The only feedback is a one-time toast. This leads to two issues:

  1. Safety / awareness. There is no way to tell at a glance that the current session auto-approves permission requests — for example after toggling it via the keybind by accident, or when returning to a session started earlier. Other agent harnesses address this with a persistent status indicator (e.g. Claude Code shows its "bypass permissions" mode in the status line).
  2. Confusing persistence. As noted in [FEATURE][Desktop]: Move per-session auto-accept permissions toggle from General Settings #25642, the Settings toggle looks like a global preference but effectively resets for new sessions, because toggling it inside a session is session-scoped. Users who want auto-accept as their default workflow have to re-enable it constantly.

Relation to previous requests

I'm aware of #21578, #25642 and #21423 (closed as not planned), which asked to restore the per-session toggle button in the session UI. This request is deliberately different: it does not ask to bring back per-session controls, and keeps the v1.4.0 design direction. It only asks to (a) surface the already tracked auto-accept state and (b) make the already existing setting behave predictably.

Proposal

  1. Persistent indicator while auto-accept is active. A small badge in the prompt footer, next to the model/variant selector — e.g. ⚡ Auto-accept (icon + short label, distinct styling, tooltip: "Permission requests are being auto-approved"). The state is already available (permission.isAutoAccepting(sessionID, directory) / isAutoAcceptingDirectory), so this is a read-only visualization of existing state with no changes to permission logic. Optionally, clicking the badge could disable auto-accept or explain how to turn it off.
  2. Make the Settings toggle an honest default for new sessions. When auto-accept is enabled globally (Settings → General, outside a session), persist it so that new sessions start with auto-accept on until it is explicitly disabled. This matches the mechanism already used for permission: "allow" in config (enableConfiguredDirectory) and resolves the confusion described in [FEATURE][Desktop]: Move per-session auto-accept permissions toggle from General Settings #25642 — without adding any new controls to the session UI.

The two parts complement each other: a persistent default is only good UX when its state is constantly visible — which is exactly what the indicator provides.

Benefits

  • Users always know when OpenCode acts without asking — fewer "surprise" approvals. Related: [Desktop/Web] Auto-accept permissions gets turned on for every conversation #15589, where auto-accept re-enabling unexpectedly was reported as a bug; a visible indicator makes such behavior immediately explainable.
  • Power users get a stable "auto-accept by default" workflow without re-toggling every session.
  • No regression of the v1.4.0 simplification: zero new per-session controls, just one small read-only badge.
  • Better discoverability of the feature for new users.

Environment

OpenCode Desktop 1.18.4, macOS

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions