Match all four factsNative win32 · Minimal preset · model calls bash · exact terminal-inspection error.

The unsupported edge.

01Minimalno platform guard
→
02Persistent BashPTY-owned tool
→
03spawnTerminal()local subprocess
→
04InspectorLinux · macOS · no Windows

Choose the right route.

bash + exact errorPreset mismatchUse this guide.
pwsh failsWindows executorInspect PowerShell discovery and sandbox evidence.
bash ENOENTExecutable lookupInspect PATH and the execution world.
WSL hostLinux runtimeDo not classify it as native win32.

Recover without widening trust.

1Select Standard or CodeThey gate Bash and PowerShell by platform.
→
2Create a new SessionThe preset and roster are Session facts.
→
3Verify pwshRun a bounded read-only probe.

Optional companion checks have different proof.

npx dsh-win32@0.17.1 doctorMetadata + local diagnosisChecks the published packages and common installation failures.
npx dsh-win32@0.17.1 verifyComponent-chain acceptanceExercises persistence, confinement, cancellation recovery, and cleanup in temporary directories.
new DSH SessionFull product evidenceConfirms the stock preset, Host, provider route, model request, and visible tool roster.
verify ≠ model runDo not overclaimThe model-free companion check does not boot a complete stock Minimal Host.
These do not repair the boundary
  • Installing Git Bash
  • Using danger-full-access
  • Translating one command
  • Editing shipped preset YAML

Repair the composition—not the symptom.

Current MinimalPersistent Bash on every platformwin32 → unsupported inspector
Current Standard / Code / CordisPlatform-gated shell toolswin32 → pwsh
Durable targetNever advertise an impossible toolpreset × platform → supported roster

Eight regression gates.

  1. Win32 exposes pwsh.
  2. Win32 hides persistent Bash.
  3. POSIX keeps intended Bash.
  4. Descriptions match semantics.
  5. Read-only probe completes.
  6. Cancellation cleans children.
  7. New Session gets new roster.
  8. Resolved config shows choice.