fix: addresses issue with full tauri build commands not finding CC installation#39
Closed
will-bogusz wants to merge 1 commit intowinfunc:mainfrom
will-bogusz:fix/cc-not-found
Closed
fix: addresses issue with full tauri build commands not finding CC installation#39will-bogusz wants to merge 1 commit intowinfunc:mainfrom will-bogusz:fix/cc-not-found
will-bogusz wants to merge 1 commit intowinfunc:mainfrom
will-bogusz:fix/cc-not-found
Conversation
mufeedvh
added a commit
that referenced
this pull request
Jun 24, 2025
…binary detection This commit provides a comprehensive solution to Claude binary detection issues by implementing a user-friendly version selector UI and improving the binary discovery logic. It addresses all concerns raised in multiple PRs and comments. Changes: - Add ClaudeVersionSelector component for selecting from multiple installations - Update ClaudeBinaryDialog to use version selector instead of manual path input - Fix unused variable warning in production builds (claude.rs:442) - Improve select_best_installation to handle production build restrictions - Add listClaudeInstallations API endpoint to fetch all available installations - Make Claude version indicator clickable to navigate to Settings - Move Claude installation selector to General tab in Settings (per user request) - Enhance dialog UX with loading states and clear installation instructions - Add Radix UI radio-group dependency for version selector Fixes: - Production build warning about unused claude_path variable - Version detection failures in production builds due to process restrictions - Poor UX when Claude binary is not found (now shows helpful dialog) - Inability to easily switch between multiple Claude installations This implementation takes inspiration from: - PR #3: Version selector dropdown approach (preferred by users) - PR #4: Binary detection improvements and path validation - PR #39: Additional detection methods and error handling - Commit 5a29f9a: Shared claude binary detection module architecture Addresses feedback from: - #4 (comment): User preference for dropdown selector - Production build restrictions that prevent version detection - Need for better error handling when Claude is not installed The solution provides a seamless experience whether Claude is installed via: - npm/yarn/bun global installation - nvm-managed Node.js versions - Homebrew on macOS - System-wide installation - Local user installation (~/.local/bin, etc.) Refs: #3, #4, #39, 5a29f9a
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix Claude detection in production builds on macOS
Problem: The packaged DMG cannot locate Claude Code, showing "Claude Code not found" even when Claude is installed and working in development mode.
Fixes #37
Root Cause: In production builds, macOS sandboxing prevents spawning external processes like
claude --version. The binary detection logic was filtering out any Claude installation without a detectable version, causing all valid installations to be rejected.Solution: Modified
select_best_installation()inclaude_binary.rsto accept installations without version information in production builds, while still preferring versioned installations when available.Changes:
Testing:
This ensures the app works consistently across both development and production environments on macOS.