You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: correct Windows CLI detection for npm-installed tools (#294)
* fix: correct Windows CLI detection for npm-installed tools
The CLI managers for Claude Code, Gemini CLI, Codex CLI, and Qwen CLI
were incorrectly searching for `.exe` files on Windows. These tools are
installed via npm which creates `.cmd` wrapper scripts, not `.exe` files.
The fix removes the explicit `.exe` extension check because `shutil.which()`
automatically handles Windows PATHEXT environment variable, which includes
`.CMD`, `.BAT`, `.EXE`, and other executable extensions.
Before: `shutil.which("claude.exe")` -> None (not found)
After: `shutil.which("claude")` -> finds claude.cmd via PATHEXT
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: use Path objects for cross-platform path handling
- Add get_config_directory() and get_data_directory() to platform.py
- Update config.py, global_config.py, profile_config.py to use Path
- Update install.py and tunnel.py to use Path for consistent separators
- Fix test_profile.py to work with Path objects
This fixes mixed path separators on Windows (e.g., C:\Users\btf/.config/mcpm)
by using pathlib.Path throughout the codebase.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: address PR review comments
- Remove unused CERTIFICATE_PATH and DEFAULT_CONFIG_DIR import in tunnel.py
- Fix initialization order in GlobalConfigManager (ensure_dirs before loading)
- Move Path import to top-level in config.py
- Add documentation for architectural decisions in platform.py
- Clean up test imports in test_profile.py and test_qwen_cli.py
- Remove unnecessary mock in test_qwen_cli_manager_is_client_installed_windows
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix: address Gemini and CodeRabbit review comments
- Add type hints to ConfigManager constructor (config.py)
- Add error handling for config save operations (config.py, global_config.py)
- Fix type hint: `any` -> `Any` in global_config.py
- Refactor CLI detection to reduce duplication (doctor.py)
- Update qwen_cli.py to use shutil.which for cross-platform detection
- Fix test imports in test_qwen_cli.py
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Kirill Turanskiy <kt@novamedia.ru>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
0 commit comments