tags: #claude-code #wsl #git-bash #shell #windows #chemins #mingw #msys2 #configuration #piege #bonne-pratique
Claude Code sur Windows peut s'exécuter dans deux environnements shell radicalement différents selon la façon dont il est lancé. Confondre les deux provoque des erreurs de chemins, des outils inaccessibles, et des comportements inattendus.
Quand Claude Code est lancé depuis Git Bash ou depuis le terminal Windows standard :
uname -a → MINGW64_NT-10.0-26200 ... Msys$SHELL → /bin/bash.exe (.exe = binaire Windows)$HOME → /c/Users/Bernard KANMAOZO/mnt/ → non monté (n'existe pas)/c/Users/...Quand Claude Code est lancé depuis un terminal WSL Ubuntu :
uname -a → Linux ... microsoft-standard-WSL2$SHELL → /bin/bash (bash Linux natif, sans .exe)$HOME → /home/kanmaber/mnt/c/ → monté automatiquement (disque C: Windows)/mnt/c/Users/...WSL2 monte les disques Windows automatiquement au démarrage de la session WSL, sans aucune configuration manuelle. Par défaut :
C:, D:...) sont montés sous /mnt/mount à exécuter manuellementCondition unique : être dans une vraie session WSL (pas Git Bash).
Dans Git Bash (MinGW/MSYS2), /mnt/ n'existe pas. Le disque C: est accessible via :
/c/Users/Bernard KANMAOZO/...
# 1. Ouvrir WSL (une de ces méthodes)
Win+R → wsl
# ou : Windows Terminal → onglet Ubuntu
# ou : PowerShell/CMD → wsl
# 2. Naviguer vers le projet
cd ~/projets/PsychoEnLigneV2
# 3. Lancer Claude
claude
Vérification rapide dans la session Claude :
uname -a doit retourner Linux ... WSL2 (pas MINGW)$HOME doit être /home/kanmaber (pas /c/Users/...)ls /mnt/c doit lister le disque C:| Piège | Conséquence | Solution |
|---|---|---|
| Lancer Claude depuis Git Bash | Shell MinGW, /mnt/ absent, outils WSL inaccessibles |
Toujours lancer depuis WSL |
Écrire /mnt/c/ dans CLAUDE.md si session Git Bash |
Chemins introuvables | /c/ si Git Bash, /mnt/c/ si WSL |
Taper $SHELL = /bin/bash pour changer le shell |
Erreur : =: No such file or directory |
Impossible en cours de session — relancer depuis WSL |
| Chercher un setting Claude Code pour changer le shell | Perte de temps | Aucun setting ne change le shell du Bash tool — seul le terminal de lancement compte |
Croire que SHELL=/bin/bash dans Git Bash suffit |
Ne change rien pour Claude | Le shell est hérité du processus parent, pas configurable après coup |
| Ressource | Git Bash (MinGW) | WSL2 |
|---|---|---|
| Disque C: | /c/ |
/mnt/c/ |
| Documents Windows | /c/Users/Bernard KANMAOZO/Documents/ |
/mnt/c/Users/Bernard KANMAOZO/Documents/ |
| Second cerveau | /c/Users/Bernard KANMAOZO/Documents/MesDocs/second-cerveau |
/mnt/c/Users/Bernard KANMAOZO/Documents/MesDocs/second-cerveau |
| Projet original PsychoEnLigne | /c/Users/Bernard KANMAOZO/Documents/mesProjetsDevs/PsychoEnLigne/ |
/mnt/c/Users/Bernard KANMAOZO/Documents/mesProjetsDevs/PsychoEnLigne/ |
| Home Linux | inexistant | /home/kanmaber/ |
claude-code ↔ shell ↔ wsl2 ↔ git-bashmingw ↔ msys2 ↔ bash-exewsl2 ↔ mnt-c ↔ montage-automatiquegit-bash ↔ slash-c ↔ chemins-windowsconfiguration ↔ claude-code ↔ bonne-pratiquepiege ↔ shell ↔ erreur-chemin20260428_1430 — Chemins second cerveau et projet original corrigés de /c/ → /mnt/c/ après passage à WSL220260428_1430 — Format de date standardisé : YYYYMMDD_HHMM via $(date '+%Y%m%d_%H%M')20260428_XXXX — Première version (MinGW uniquement, conclusion erronée : "Claude utilisera toujours MinGW")