Changes:
- start_ui.sh, start.sh: Check for venv/bin/activate instead of just
venv/ directory to detect Windows venvs in Linux/WSL
- Auto-recreate venv when incompatible platform structure detected
- Add error handling for venv removal, creation, and activation failures
- Provide actionable error messages with distro-specific instructions
- start_ui.bat: Check for venv\Scripts\activate.bat for consistency
with start.bat pattern
Fixes issue where users cloning repo in WSL would encounter:
- "venv/bin/activate: No such file or directory"
- "No module named pip" errors
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Extend auth error detection to the web UI flow:
server/main.py:
- Fix setup_status() endpoint to check ~/.claude directory instead of
non-existent .credentials.json file
- Add explanatory comments about Claude CLI credential storage changes
server/services/process_manager.py:
- Add AUTH_ERROR_PATTERNS for detecting auth errors in agent output
- Add is_auth_error() helper function
- Add AUTH_ERROR_HELP message template
- Update _stream_output() to detect auth errors in real-time
- Buffer last 20 lines to catch auth errors on process exit
- Broadcast clear help message to WebSocket clients when auth fails
start_ui.sh:
- Add Claude CLI installation check with helpful guidance
- Add ~/.claude directory check with login reminder
- Non-blocking warnings that don't prevent UI from starting
This ensures users get clear, actionable feedback when authentication
fails, whether using the CLI or the web UI.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
start_ui.sh and start_ui.bat were using system Python directly,
causing ModuleNotFoundError for dotenv. Now they create and activate
the venv before running, matching the pattern in start.sh.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>