-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Windows Support for Claudia - Community Fix v4.2 Available
Overview
This post documents the complete evolution of the Windows compatibility fix for Claudia, from initial implementation to the current robust v4.2 solution. The fix enables full Claude Code functionality on Windows using WSL as a bridge.
🔗 Latest implementation (v4.2): → Claudia Windows Fix Gist ←
Problem Statement
Claudia doesn't natively support Windows because:
- Claude Code officially only supports macOS/Linux
- Claudia uses Unix-specific commands (
which
) and paths - Windows users cannot use Claudia with Claude Code without modifications
Solution Evolution
Version 1 - Initial Implementation
- Created WSL bridge script (
claude.bat
) to enable Windows→WSL communication - Basic source code patches for Windows compatibility
- Documentation for setup process
Version 2 - Agent Support
Key Discovery: Claudia sends --system-prompt
parameter which Claude CLI doesn't support, causing agent failures.
Fix: Updated bridge script to filter unsupported parameters:
- ✅ Claude Code detection working
- ✅ Agent execution without errors
- ✅ Proper version detection
- ✅ Full parameter passing (except unsupported ones)
Version 3 - Community Feedback Integration
Based on reports from @hkirste and @Joly0:
Fixed Issues:
bash: line 1: claude: command not found
- Now installs to/usr/local/bin/
- Multiple WSL distributions - Added configuration option
~/.claude directory
missing - Auto-creation implemented
Major Improvements:
- New
4-start-claudia.bat
launcher with 5-point pre-flight checks - Automatic latest Claude CLI version fetching
- Better error messages and recovery instructions
Version 4.1 - Automatic Version Detection
Foundation improvements:
- Dynamic version detection replacing hard-coded values
- Multi-version support in main.rs
- Explicit path handling (
~/.npm-global/bin/claude
) - Enhanced argument processing
Version 4.2 - Complete Windows Build Compatibility
Critical fixes based on real-world testing:
-
Build Script Patches:
// Platform-specific commands if (process.platform === 'win32') { await runCommand('robocopy', [srcPath, destPath, '/E', '/NFL', '/NDL', '/NJH', '/NJS', '/nc', '/ns', '/np']); } else { await runCommand('cp', ['-r', srcPath, destPath]); }
-
Robocopy Exit Code Handling:
const isRobocopy = command === 'robocopy' || command.endsWith('robocopy.exe'); const isSuccess = isRobocopy ? code >= 0 && code <= 7 : code === 0;
-
Icon Format Resolution:
- Added
icon.ico
to tauri.conf.json - Comprehensive troubleshooting guide
- Added
-
Installation Order Optimization:
- Reordered files for logical flow (Patch → Setup → Launch)
- Clear separation of WSL vs Windows operations
Complete Feature Set (v4.2)
What Works
- ✅ Full Claude Code functionality through WSL bridge
- ✅ All agent features operational
- ✅ Automatic version detection and compatibility
- ✅ Windows-native build process
- ✅ Icon handling and customization
- ✅ Pre-flight system verification
- ✅ Support for multiple WSL distributions
Technical Implementation
- WSL Bridge (
claude.bat
) - Translates Windows calls to WSL - Version Compatibility Patch - Accepts any Claude Code version
- Build Script Fixes - Full Windows command support
- Smart Installation Flow - Optimized setup order
Installation Summary
Prerequisites
- Windows 10/11 with WSL2
- Ubuntu (or similar) in WSL with Node.js 18+
- Bun installed on Windows
- Rust toolchain on Windows
- Visual Studio Build Tools
Quick Steps
- Download all files from the gist to
.gist_v4.2
folder - Apply main.rs patch (
2-claude_binary_patch.rs
) - Run setup script (
3-setup-windows.bat
) - Apply build script patches (detailed in guide)
- Build with
bun run tauri build
in Windows CMD - Launch with
4-start-claudia.bat
Error Resolution Matrix
Error | Solution |
---|---|
claude: command not found |
Run setup script |
cp command not found |
Apply build script patches |
icon.ico not in 3.00 format |
Use provided icons or regenerate |
ENOENT: spawn bun |
Add shell support to scripts |
pkg-config not found |
Build in Windows CMD, not WSL |
Version mismatch | v4.2 patch accepts all versions |
Testing Results
- Tested on Windows 10/11 with WSL2
- Claude Code versions: 1.0.35, 1.0.41, 1.0.43
- All Claudia features functional
- Build process fully Windows-compatible
Proposal for Official Integration
This community fix demonstrates that Windows support is achievable with minimal core changes:
-
Option A: Full Integration
- Merge the version compatibility patch
- Add Windows-specific build scripts
- Include WSL bridge in distribution
-
Option B: Official Windows Branch
- Maintain Windows-specific fork
- Regular syncs with main branch
- Windows-specific CI/CD pipeline
-
Option C: Plugin Architecture
- Create plugin system for platform bridges
- Windows support as official plugin
- Community-maintained platform plugins
Community Contribution
This fix represents collaborative effort from multiple community members:
- Initial implementation and WSL bridge concept
- Agent parameter filtering discovery
- Multiple user reports leading to v3 improvements
- Real-world testing revealing build system issues for v4.2
Special thanks to: @hkirste, @Joly0, and all testers who provided feedback.
Next Steps
- For Users: Use the v4.2 gist for immediate Windows support
- For Maintainers: Consider integration options above
- For Contributors: Test and report any edge cases
The Windows user base would greatly benefit from official support. This community fix proves it's technically feasible and maintainable.
Note: After applying this fix, Claude Code is fully supported with Windows CMD and PowerShell, providing the same functionality as macOS/Linux users enjoy.
Would the maintainers be interested in discussing official Windows support integration?