Skip to content

Add option to disable persistent "Always Allow" approvals (force per-action confirmation) #2497

@willheisenberg

Description

@willheisenberg

What would you like to be added?

Description

Hi 👋

First of all, thank you for building and maintaining this extension — it's a great tool and already very useful in daily workflows.

I would like to request a feature (or configuration option) to disable persistent approvals, specifically the behavior behind the "Always allow" option.

Why is this needed?

Problem

Currently, when selecting "Always allow" for an action (e.g. file edits), the decision is persisted (likely via workspace/global state).
This leads to the following behavior:

  • The extension stops asking for confirmation for subsequent actions

  • User-level settings such as:

    • qwen.approvalMode = "default"
    • qwen.confirmFileEdits = true

    are effectively bypassed after that point

This creates a mismatch between:

  • configured intent (always ask) and
  • runtime behavior (auto-approve after one click)

Additional context

Why this is problematic

From a safety and control perspective:

  • Users may accidentally grant broader permissions than intended

  • There is no obvious way to revert this behavior except:

    • resetting sessions
    • clearing storage manually
  • This is especially problematic in:

    • production environments
    • devcontainers
    • multi-repo workflows

Feature Request

Introduce a configuration option to disable persistent approvals entirely, for example:

{
  "qwen.disablePersistentApprovals": true
}

or:

{
  "qwen.approvalPersistence": "session" // or "none"
}

Expected Behavior

When enabled:

  • The extension should always prompt for confirmation, regardless of previous "Always allow" selections
  • No approval decisions should be persisted across actions
  • Behavior should be deterministic and aligned with user configuration

Optional Enhancements

  • Add a UI toggle:
    "Disable 'Always allow' (always ask per action)"

  • Allow scoping:

    • per workspace
    • per tool (edit, shell, etc.)

Additional Context

This would bring the extension more in line with policy-based permission systems, similar to tools like OpenCode, where:

  • permissions are declarative
  • behavior is predictable
  • no hidden state overrides configuration

Summary

This feature would:

  • improve safety
  • reduce confusion
  • give advanced users more control
  • align runtime behavior with configuration

Thanks for considering this! 🚀

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions