- 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>
Allow passing additional options from `crewai install` directly to
`uv sync`. This enables commands like `crewai install --locked` to work
as expected by forwarding all flags and options to the underlying uv
command.
* feat: Start migrating to UV
* feat: add uv to flows
* feat: update docs on Poetry -> uv
* feat: update docs and uv.locl
* feat: update tests and github CI
* feat: run ruff format
* feat: update typechecking
* feat: fix type checking
* feat: update python version
* feat: type checking gic
* feat: adapt uv command to run the tool repo
* Adapt tool build command to uv
* feat: update logic to let only projects with crew to be deployed
* feat: add uv to tools
* fix; tests
* fix: remove breakpoint
* fix :test
* feat: add crewai update to migrate from poetry to uv
* fix: tests
* feat: add validation for ˆ character on pyproject
* feat: add run_crew to pyproject if doesnt exist
* feat: add validation for poetry migration
* fix: warning
---------
Co-authored-by: Vinicius Brasil <vini@hey.com>