Skip to content
MyDSHMy DSH Field Notes
中文
Independently maintained; not affiliated with DeepSeek. No association with mydsh.dev or other MyDSH sites.

Home/Models, permissions & security/Permissions & allowlists

Approval policy ask and never: does a failure close or open

Clicking approve every time is tedious and you want to allow everything, or you want to know what breaks if you do.

VerifiedVersion and environmentChecked 2026-11-14
Host version
0.1.2-alpha.5
Source
docs/subsystems/approval.zh.md
Checked
2026-11-14

Copyable command

dsh --dump-config | grep -i -A3 approval

Approval covers a different dimension: may this specific operation proceed. It is an independent knob from sandbox mode; the docs bundle the two into named permission presets for the UI.

PolicyMeaningRisk
askEvery operation needing approval asks youSafe, but noisy for high-frequency work
neverNo asking; allowSmooth, but you gave up this layer of review

The key design: fail closed

Outcomes are a closed set: allowed-once, rejected, cancelled, unavailable. The docs are explicit: only allowed-once permits; the other three are treated as refusal. A missing, non-responsible, or throwing answerer yields unavailable, not permission.

Worth remembering on its own: a broken approval path results in not executing, not quietly executing. So when something mysteriously did not run, suspect the approval path before blaming the tool.

allowed-once really is once

The name is deliberate: this grant does not extend to the next similar operation. So 'I approved once and it ran a pile of commands' should not happen by design — if it does, the cause is elsewhere.

The two default presets

PresetBundleGood for
workspace-writeworkspace-write sandbox + ask approvalThe default. Enough for daily work; crossing the line asks you
danger-full-accessdanger-full-access sandbox + never approvalWhen you know you need out of confinement. Both layers open

Note that danger-full-access opens both: sandbox bypassed and approval silenced. It is not 'just one of them'. Think about both consequences before choosing it.

Choosing

  • Daily work that edits files → workspace-write.
  • Read-only analysis where an accidental write is unacceptable → read-only + ask.
  • danger-full-access only for two cases: you are in a disposable environment, or you know exactly what this run does. Do not use it to save a few clicks.

What counts as working

Check every line. All of them pass or the job is not done.

  • You know which preset is active
  • You know danger-full-access opens both sandbox and approval
  • You have seen one refusal, confirming the default is closed

Where it fails

Symptom, cause, what to do — written in the order it actually happens.

SymptomCauseWhat to do
The prompt never appears and the operation stallsPossibly no answerer (unavailable), which counts as refusalConfirm the UI is alive and the session is connected; check logs for approval events
Switched to never to avoid clickingYou dropped both the sandbox and the approval layerUse it only when required; otherwise stay on workspace-write

Sources

Verified means measured here. Compiled means every line carries a source.