Preface

In DSH / DeepSeek Harness, when models execute Windows shell commands, common tool paths include native pwsh or bash that relies on WSL. For Windows environments without WSL but with Git for Windows already installed, dsh-tool-gitbash provides a more direct option: registering the gitbash tool as a DSH tool plugin, using the bash.exe bundled with Git for Windows.

What This Is

dsh-tool-gitbash is a Git Bash tool plugin for Windows. The GitHub repository is named dsh-win-gitbash, maintained by buhuikongpan, and licensed under MIT.

It is registered as the gitbash tool in the form of a DSH tool plugin, replacing native pwsh / WSL-only bash without requiring WSL.

Core Capabilities

The following main capabilities have been verified:

  • Relies on the bash.exe bundled with Git for Windows and automatically detects multiple installation paths.
  • Supports file sandbox mode, timeout control, output truncation, and background tasks.
  • Supports the run_in_background parameter, exposed only when enableRunInBackground is enabled.
  • Supports sandbox-restricted escalation prompts and permission requests, triggered by the dual conditions of sandbox_permissions and justification.
  • Supports working directory resolution: sandbox root takes precedence; otherwise, the session cwd is normalized via canonicalPath.
  • Supports explicit configuration of the bash path via bashPath.
  • The invocation card is consistent with native pwsh, reusing DSH’s built-in terminal card.

Installation and Enablement

First, install Git for Windows to ensure the system provides bash.exe.

Then run the installation command:

dsh plugin add dsh-tool-gitbash

After installation, enable the bundle in the DSH composition/profile and restart. The model will only gain access to the gitbash tool after the restart.

The installation command automatically handles @deepseek-ai/* peer dependencies. The required peer dependencies include:

@deepseek-ai/cordis
@deepseek-ai/dsh-tools
@deepseek-ai/dsh-llm
@deepseek-ai/dsh-sandbox
@deepseek-ai/dsh-shell
@deepseek-ai/dsh-timeout

Alternatively, you can search for dsh-tool-gitbash in DSH Web Settings → Plugin Marketplace (dsh-market) for one-click installation.

You can also place the package in DSH’s node_modules or reference it as a local dependency, then enable the plugin in the DSH composition and restart.

Configuration and Typical Usage

The tool parameters include:

Parameter Description
command The Git Bash command to execute
description A one-sentence description of the command’s purpose
timeoutMs Timeout, default 120s, maximum 600s
workdir Working directory
run_in_background Run in background, exposed only when enableRunInBackground is enabled
sandbox_permissions / justification Sandbox escalation, available when a sandbox is configured

If automatic detection fails to locate bash, you can configure bashPath in the cordis.patch.yml plugin line, for example:

- insert:
    - id: tool-gitbash
      name: 'dsh-tool-gitbash'
      config:
        bashPath: 'C:\Users\me\scoop\apps\git\current\bin\bash.exe'

This step explicitly specifies the bash.exe path to avoid automatic detection failure.

Applicable Scenarios and Notes

It is suitable for providing bash execution capability to DSH models on Windows, especially when Git for Windows is already installed and WSL dependency is undesirable.

Notes to keep in mind:

  • Git for Windows must be installed to provide bash.exe.
  • Automatic detection skips the WSL launcher under System32.
  • timeoutMs defaults to 120s with a maximum of 600s.
  • The run_in_background parameter is exposed only when enableRunInBackground is enabled.
  • Sandbox escalation is triggered by the dual conditions of sandbox_permissions and justification, and goes through approveEscalation + ctx.approval.
  • The plugin runs with the current dsh process permissions; review the source code and license before installation.

Links

GitHub repository:

https://github.com/buhuikongpan/dsh-win-gitbash