Comprehensive Windows Git Bash and MINGW path conversion guide for Docker volume mounts and commands
View on GitHubJosiahSiegel/claude-plugin-marketplace
docker-master
plugins/docker-master/skills/docker-git-bash-guide/SKILL.md
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/JosiahSiegel/claude-plugin-marketplace/blob/main/plugins/docker-master/skills/docker-git-bash-guide/SKILL.md -a claude-code --skill docker-git-bash-guideInstallation paths:
.claude/skills/docker-git-bash-guide/# Docker on Windows Git Bash / MINGW - Path Conversion Guide This skill provides comprehensive guidance on handling Docker commands in Git Bash (MINGW) on Windows, with specific focus on volume mount path conversion issues and solutions. ## The Path Conversion Problem When running Docker commands in Git Bash (MINGW) or MSYS2 on Windows, automatic path conversion can cause serious issues with volume mounts and other Docker commands. ### What Triggers Automatic Conversion MSYS/MINGW shells automatically convert arguments that look like Unix paths when calling Windows executables (like `docker.exe`): **Examples of problematic conversions:** ```bash # What you type: docker run -v /c/Users/project:/app myimage # What Docker receives (BROKEN): docker run -v C:\Program Files\Git\c\Users\project:/app myimage ``` **Triggers for path conversion:** - Leading forward slash (`/`) in arguments - Colon-separated path lists (`/foo:/bar`) - Arguments with path components after `-` or `,` **What's exempt from conversion:** - Arguments containing `=` (variable assignments) - Drive letters (`C:`) - Arguments with `;` (already Windows format) - Arguments starting with `//` (network paths/Windows switches) ## Shell Detection for Docker Commands ### Detecting Git Bash / MINGW Environment Use these environment variables to detect when path conversion issues may occur: ```bash # Most reliable: Check for MSYSTEM if [ -n "$MSYSTEM" ]; then echo "Running in Git Bash/MINGW - path conversion needed" fi # Alternative: Check uname if [[ "$(uname -s)" == MINGW* ]]; then echo "Running in MINGW environment" fi # Environment variable to check: # MSYSTEM values: MINGW64, MINGW32, MSYS ``` ## Solution 1: MSYS_NO_PATHCONV (Recommended for Git Bash) The most reliable solution for Git Bash on Windows. ### Per-Command Usage Prefix each Docker command with `MSYS_NO_PATHCONV=1`: ```bash # Volume mount with $(pwd) MSYS_NO_PATHCONV=1 docker run -v $(pwd):/app myimage # Volume mount with