docs/edge/en/installation.mdx
Install our coding agent skills (Claude Code, Codex, ...) to quickly get your coding agents up and running with CrewAI.
<button type="button" className="button button-primary" onClick={async (event) => { const prompt = `Set up this environment so I can build with CrewAI.
First install the official CrewAI coding-agent skills if this environment supports npx:
npx skills add crewaiinc/skills
If npx is missing or the current agent cannot load skills, do not fail the whole setup. Report the exact issue and continue using the CrewAI docs directly.
Use these CrewAI docs as source of truth before making assumptions:
Setup steps:
Do not hardcode API keys. Use .env. Do not invent CLI flags. Validate with crewai --help or crewai create --help. If a command fails, show the exact command and error, explain the likely cause, fix what you can safely fix, and retry once.`; const button = event.currentTarget; try { await navigator.clipboard.writeText(prompt); button.textContent = "Copied"; } catch { button.textContent = "Copy failed"; } finally { window.setTimeout(() => { button.textContent = "Copy instructions for coding agents"; }, 1600); } }}
Copy instructions for coding agents </button>
<iframe src="https://www.loom.com/embed/befb9f68b81f42ad8112bfdd95a780af" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style={{width: "100%", height: "400px"}}></iframe>Watch this video tutorial for a step-by-step demonstration of the installation process:
<iframe className="w-full aspect-video rounded-xl" src="https://www.youtube.com/embed/-kSOTtYzgEw" title="CrewAI Installation Guide" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe>CrewAI requires Python >=3.10 and <3.14. Here's how to check your version:
python3 --version
If you need to update Python, visit python.org/downloads
</Note> <Note> **OpenAI SDK Requirement**CrewAI 0.175.0 requires openai >= 1.13.3. If you manage dependencies yourself, ensure your environment satisfies this constraint to avoid import/runtime issues.
CrewAI uses the uv as its dependency management and package handling tool. It simplifies project setup and execution, offering a seamless experience.
If you haven't installed uv yet, follow step 1 to quickly get it set up on your system, else you can skip to step 2.
Use `curl` to download the script and execute it with `sh`:
```shell
curl -LsSf https://astral.sh/uv/install.sh | sh
```
If your system doesn't have `curl`, you can use `wget`:
```shell
wget -qO- https://astral.sh/uv/install.sh | sh
```
- **On Windows:**
Use `irm` to download the script and `iex` to execute it:
```shell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
If you run into any issues, refer to [UV's installation guide](https://docs.astral.sh/uv/getting-started/installation/) for more information.
</Step>
<Step title="Install CrewAI 🚀">
- Run the following command to install `crewai` CLI:
```shell
uv tool install crewai
```
<Warning>
If you encounter a `PATH` warning, run this command to update your shell:
```shell
uv tool update-shell
```
</Warning>
<Warning>
If you encounter the `chroma-hnswlib==0.7.6` build error (`fatal error C1083: Cannot open include file: 'float.h'`) on Windows, install [Visual Studio Build Tools](https://visualstudio.microsoft.com/downloads/) with *Desktop development with C++*.
</Warning>
- To verify that `crewai` is installed, run:
```shell
uv tool list
```
- You should see something like:
```shell
crewai v0.102.0
- crewai
```
- If you need to update `crewai`, run:
```shell
uv tool install crewai --upgrade
```
<Note>
This upgrades the **global `crewai` CLI tool** only. To upgrade the `crewai` version inside your project's virtual environment, see [Upgrading CrewAI in a project](/en/guides/migration/upgrading-crewai).
</Note>
<Check>Installation successful! You're ready to create your first crew! 🎉</Check>
</Step>
crewai create crew now creates a JSON-first crew project. Agents live in agents/*.jsonc, tasks and crew-level settings live in crew.jsonc, and crewai run loads that JSON definition directly.
- This creates a new project with the following structure:
```
my_project/
├── .gitignore
├── .env
├── agents/
│ └── researcher.jsonc
├── crew.jsonc
├── knowledge/
├── pyproject.toml
├── README.md
├── skills/
└── tools/
```
- If you need the older Python/YAML scaffold with `crew.py`, `config/agents.yaml`, and `config/tasks.yaml`, run:
```shell
crewai create crew <your_project_name> --classic
```
- Start by editing `crew.jsonc` and the files in `agents/` to define your crew's behavior.
- Use `{placeholder}` values in agent and task text, then set defaults in `crew.jsonc` under `inputs`. When you run `crewai run`, the CLI prompts for any missing values.
- Keep sensitive information like API keys in `.env`.