Correction des Erreurs de Connexion WSL dans Cursor

À partir de Cursor 3.0.9, de nombreux utilisateurs ont rencontré une erreur de connexion WSL frustrante : Directory not found: --classic. Cela se produit car le shim WSL utilisé par Cursor est corrompu après la mise à jour de l'interface Glass (Agent). Ce guide fournit une solution fiable.
Comprendre le Problème
Lorsque vous essayez d'ouvrir un dossier WSL dans Cursor depuis le terminal, vous pouvez voir :
Directory not found: --classic
Cela se produit car :
- Cursor 3.0.9+ a introduit l'interface Glass (Agent)
- Le script shim WSL n'a pas été correctement mis à jour
- Le drapeau
--classicest interprété à tort comme un nom de dossier
La Solution : Créer un Script Wrapper Intelligent
Étape 1 : Localiser Votre Exécutable Cursor
Trouvez où Cursor est installé sur Windows :
# Emplacements courants :
C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe
# ou
C:\Program Files\Cursor\Cursor.exe
Étape 2 : Créer le Script Wrapper
Créez un fichier nommé cursor-wsl dans votre répertoire personnel WSL (~/.local/bin/) :
mkdir -p ~/.local/bin
cat > ~/.local/bin/cursor-wsl << 'EOF'
#!/bin/bash
# Smart wrapper for Cursor WSL connection
# Fixes the --classic directory error
WINDOWS_CURSOR="/mnt/c/Users/$(cmd.exe /c 'echo %USERNAME%' 2>/dev/null | tr -d '\r')/AppData/Local/Programs/cursor/Cursor.exe"
if [ ! -f "$WINDOWS_CURSOR" ]; then
WINDOWS_CURSOR="/mnt/c/Program Files/Cursor/Cursor.exe"
fi
if [ ! -f "$WINDOWS_CURSOR" ]; then
echo "Error: Could not find Cursor.exe"
echo "Please update WINDOWS_CURSOR path in this script"
exit 1
fi
# Convert WSL path to Windows path
WSL_PATH="$(wslpath -w "$PWD")"
# Launch Cursor with the correct path
"$WINDOWS_CURSOR" --classic "$WSL_PATH" "$@"
EOF
chmod +x ~/.local/bin/cursor-wsl
Étape 3 : Ajouter au PATH
Ajoutez ceci à votre ~/.bashrc ou ~/.zshrc :
export PATH="$HOME/.local/bin:$PATH"
Puis rechargez :
source ~/.bashrc # ou ~/.zshrc
Étape 4 : Créer un Alias Pratique
Ajoutez à votre configuration shell :
alias cursor='cursor-wsl'
alias c.='cursor-wsl .'
Solution Alternative : Méthode du Chemin Windows Direct
Si le wrapper ne fonctionne pas, utilisez cette approche directe :
# Ajouter à ~/.bashrc
cursor() {
local win_path
win_path=$(wslpath -w "${1:-$PWD}")
/mnt/c/Users/$(cmd.exe /c 'echo %USERNAME%' | tr -d '\r')/AppData/Local/Programs/cursor/Cursor.exe --classic "$win_path"
}
Vérifier la Correction
Testez votre configuration :
# Naviguer vers un projet
cd ~/my-project
# Ouvrir dans Cursor
cursor .
# Ou utiliser l'alias
c.
Cursor devrait maintenant s'ouvrir sans l'erreur --classic.
Conseils Supplémentaires
Mettre à Jour le Chemin Cursor Automatiquement
Si votre nom d'utilisateur Windows change ou si Cursor est déplacé :
# Trouver Cursor automatiquement
find /mnt/c -name "Cursor.exe" -type f 2>/dev/null | head -1
Gérer les Espaces dans les Chemins
Si votre nom d'utilisateur Windows contient des espaces, mettez le chemin entre guillemets :
"$WINDOWS_CURSOR" --classic "$WSL_PATH"
Paramètres Spécifiques à WSL2
Pour WSL2, assurez-vous que votre /etc/wsl.conf permet l'interopérabilité Windows :
[interop]
enabled = true
appendWindowsPath = true
Puis redémarrez WSL :
wsl --shutdown
Dépannage
| Problème | Solution |
|---|---|
command not found: cursor-wsl | Assurez-vous que ~/.local/bin est dans votre PATH |
Cursor.exe not found | Mettez à jour le chemin dans le script pour correspondre à votre emplacement d'installation |
| Démarrage lent | C'est normal pour l'interopérabilité WSL→Windows ; envisagez d'utiliser VS Code Remote WSL |
| Problèmes de surveillance de fichiers | Ajoutez des modèles "files.watcherExclude" dans les paramètres de Cursor |