-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
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! 🚀