- Fix RUF005: Use spread syntax instead of concatenation in install_crew.py
- Fix S108: Replace /tmp with /home/test in test paths
- Fix E501: Shorten function name to meet line length requirements
These changes address the lint failures in CI while maintaining the core
Windows subprocess compatibility fix.
Co-Authored-By: João <joao@crewai.com>
- Create cross-platform subprocess utility with Windows shell=True support
- Update all CLI commands to use new subprocess utility instead of direct subprocess.run()
- Add comprehensive tests for Windows compatibility scenarios
- Fixes#3522: Access denied errors on Windows CLI execution
The core issue was that Windows with restrictive security policies blocks
subprocess execution when shell=False (the default). Using shell=True on
Windows allows commands to execute through the Windows shell, which
typically has the necessary permissions.
Files updated:
- src/crewai/cli/subprocess_utils.py (new utility)
- tests/cli/test_subprocess_utils.py (new tests)
- All CLI files that use subprocess.run(): run_crew.py, kickoff_flow.py,
install_crew.py, train_crew.py, evaluate_crew.py, replay_from_task.py,
plot_flow.py, tools/main.py, git.py
The solution maintains existing behavior on Unix-like systems while
providing Windows compatibility through platform detection.
Co-Authored-By: João <joao@crewai.com>