dsh-gitbash-preset: Making DeepSeek Harness Minimal Mode Usable with Git Bash on Windows
liceses/dsh-gitbash-preset
DSH plugin: one-click install of the Minimal (Git Bash) agent preset, making the bash tool work on Windows.
Provides Git Bash support for DeepSeek Harness's minimal mode, solving the bash unavailability issue on Windows.
dsh plugin --profile web add github:liceses/dsh-gitbash-preset- Category
- Development & Operations
- Platform
- DSH-Plugin
- Author
- liceses
- Distribution
- Plugin
dsh-gitbash-preset Key Features
dsh-gitbash-preset Repository

dsh-gitbash-preset Repo Summary
dsh-gitbash-preset is a DeepSeek Harness (DSH) plugin that fixes the issue where DSH's built-in minimal mode cannot use bash on Windows. It installs a "Minimal (Git Bash)" agent preset that maps bash calls to Git for Windows' bash (MSYS), making minimal mode truly usable on Windows. The plugin addresses two core problems: PTY platform limitations (unsupported on win32) and missing shell (Windows has no bash by default). It provides idempotent installation, automatic bash detection, sandbox-aware gating, and keeps the original minimal mode's persona and str_replace_editor tools unchanged.
What core features does the dsh-gitbash-preset DSH plugin support?
The plugin offers several practical features: idempotent installation (skips if preset exists unless force: true); automatic bash detection (checks GIT_BASH env var, common install directories, bash.exe in PATH, then falls back to bash); sandbox-aware gating (executes only under full-access policy, with upgrade guidance when restricted); and unchanged minimal mode (fixed persona, str_replace_editor, no context compression). Additionally, bash runs a new shell for each invocation, not preserving cd/export state, as a substitute design when PTY is unavailable on Windows.
How to install dsh-gitbash-preset?
Run the following command, then restart DSH to take effect:
dsh plugin --profile web add github:liceses/dsh-gitbash-preset
Alternatively, manually merge cordis.patch.yml into the profile patch layer, or without installing the plugin, copy the agent-presets/minimal-gitbash/ directory to ~/.dsh/.agent-presets/.
How to use dsh-gitbash-preset?
In the web UI, create a new session and select "Minimal (Git Bash)". To enable bash, either switch the session sandbox to full access (all bash calls then go directly to git bash), or keep workspace-write and let the model, after the first call fails, upgrade once using sandbox_permissions: "danger-full-access" with justification (following the normal approval flow).
What configuration options does dsh-gitbash-preset have?
Preset configuration (gitbash-executor in agent.cordis.yml) includes: shellPath (default auto-detected, can be explicitly set), timeoutMs (default 120000), maxTimeoutMs (default 600000), maxOutputBytes (default 64000), graceMs (default 3000). Plugin configuration (in cordis.patch.yml) has a force field (default false, whether to overwrite existing presets).
What are the development and limitations of dsh-gitbash-preset?
For development, run npm run check for syntax checks and npm run test for 10 unit tests (path conversion, detection priority, config validation). Limitations include: git bash cannot start when the session sandbox is workspace-write or narrower (MSYS restricted token limitation), requiring full access or one-time upgrade; bash runs a new shell each time, not preserving state. This plugin is maintained by liceses, licensed under MIT, and last updated in 2026-08.