Installation failure of crewai-tools on Python 3.13.7

Hi CrewAI Team,

I am trying to upgrade my project to Python 3.13.7 and ran into an issue with installing crewai-tools.

While crewai==0.130.0 installs successfully, crewai-tools==0.47.1 fails to install because it requires embedchain>=0.1.114, which is currently not available for Python 3.13.7.

Error message:

“crewai-tools==0.47.1 cannot be installed: embedchain>=0.1.114 is not published for Python 3.13.7.”

This prevents me from using crewai-tools in a Python 3.13 environment. Could you please let me know if there are plans to support embedchain and crewai-tools on Python 3.13, or any recommended workaround?

Thank you for your support.

Hi there, I may recommend you to try using Python 3.11, where crewai can work without version conflict :smiley:

Python 3.11 version is not allowed under non-compliance in our organization. Is there any alternative solution with upgraded python version.

I think you should update your packages. The current version of crewai-tools is 0.75.0, and CrewAI no longer depends on Embedchain and is compatible with Python 3.13.7:

$ python --version

Python 3.13.7

And:

$ uv tree --package crewai-tools

crewai-tools v0.75.0
├── beautifulsoup4 v4.14.2
│   ├── soupsieve v2.8
│   └── typing-extensions v4.14.1
├── crewai v0.201.1
│   ├── appdirs v1.4.4
│   ├── blinker v1.9.0
│   ├── chromadb v1.1.0
│   │   ├── bcrypt v5.0.0
│   │   ├── build v1.3.0
│   │   │   ├── packaging v25.0
│   │   │   └── pyproject-hooks v1.2.0
│   │   ├── grpcio v1.75.1
│   │   │   └── typing-extensions v4.14.1
│   │   ├── httpx v0.28.1
│   │   │   ├── anyio v4.11.0
│   │   │   │   ├── idna v3.10
│   │   │   │   └── sniffio v1.3.1
│   │   │   ├── certifi v2025.8.3
│   │   │   ├── httpcore v1.0.9
│   │   │   │   ├── certifi v2025.8.3
│   │   │   │   └── h11 v0.16.0
│   │   │   └── idna v3.10
│   │   ├── importlib-resources v6.5.2
│   │   ├── jsonschema v4.25.1
│   │   │   ├── attrs v25.3.0
│   │   │   ├── jsonschema-specifications v2025.9.1
│   │   │   │   └── referencing v0.36.2
│   │   │   │       ├── attrs v25.3.0
│   │   │   │       └── rpds-py v0.27.1
│   │   │   ├── referencing v0.36.2 (*)
│   │   │   └── rpds-py v0.27.1
│   │   ├── kubernetes v33.1.0
│   │   │   ├── certifi v2025.8.3
│   │   │   ├── durationpy v0.10
│   │   │   ├── google-auth v2.41.0
│   │   │   │   ├── cachetools v6.2.0
│   │   │   │   ├── pyasn1-modules v0.4.2
│   │   │   │   │   └── pyasn1 v0.6.1
│   │   │   │   └── rsa v4.9.1
│   │   │   │       └── pyasn1 v0.6.1
│   │   │   ├── oauthlib v3.3.1
│   │   │   ├── python-dateutil v2.9.0.post0
│   │   │   │   └── six v1.17.0
│   │   │   ├── pyyaml v6.0.3
│   │   │   ├── requests v2.32.5
│   │   │   │   ├── certifi v2025.8.3
│   │   │   │   ├── charset-normalizer v3.4.3
│   │   │   │   ├── idna v3.10
│   │   │   │   └── urllib3 v2.5.0
│   │   │   │       └── pysocks v1.7.1 (extra: socks)
│   │   │   ├── requests-oauthlib v2.0.0
│   │   │   │   ├── oauthlib v3.3.1
│   │   │   │   └── requests v2.32.5 (*)
│   │   │   ├── six v1.17.0
│   │   │   ├── urllib3 v2.5.0 (*)
│   │   │   └── websocket-client v1.8.0
│   │   ├── mmh3 v5.2.0
│   │   ├── numpy v2.3.3
│   │   ├── onnxruntime v1.23.0
│   │   │   ├── coloredlogs v15.0.1
│   │   │   │   └── humanfriendly v10.0
│   │   │   ├── flatbuffers v25.9.23
│   │   │   ├── numpy v2.3.3
│   │   │   ├── packaging v25.0
│   │   │   ├── protobuf v5.29.5
│   │   │   └── sympy v1.14.0
│   │   │       └── mpmath v1.3.0
│   │   ├── opentelemetry-api v1.37.0
│   │   │   ├── importlib-metadata v8.7.0
│   │   │   │   └── zipp v3.23.0
│   │   │   └── typing-extensions v4.14.1
│   │   ├── opentelemetry-exporter-otlp-proto-grpc v1.37.0
│   │   │   ├── googleapis-common-protos v1.70.0
│   │   │   │   └── protobuf v5.29.5
│   │   │   ├── grpcio v1.75.1 (*)
│   │   │   ├── opentelemetry-api v1.37.0 (*)
│   │   │   ├── opentelemetry-exporter-otlp-proto-common v1.37.0
│   │   │   │   └── opentelemetry-proto v1.37.0
│   │   │   │       └── protobuf v5.29.5
│   │   │   ├── opentelemetry-proto v1.37.0 (*)
│   │   │   ├── opentelemetry-sdk v1.37.0
│   │   │   │   ├── opentelemetry-api v1.37.0 (*)
│   │   │   │   ├── opentelemetry-semantic-conventions v0.58b0
│   │   │   │   │   ├── opentelemetry-api v1.37.0 (*)
│   │   │   │   │   └── typing-extensions v4.14.1
│   │   │   │   └── typing-extensions v4.14.1
│   │   │   └── typing-extensions v4.14.1
│   │   ├── opentelemetry-sdk v1.37.0 (*)
│   │   ├── orjson v3.11.3
│   │   ├── overrides v7.7.0
│   │   ├── posthog v5.4.0
│   │   │   ├── backoff v2.2.1
│   │   │   ├── distro v1.9.0
│   │   │   ├── python-dateutil v2.9.0.post0 (*)
│   │   │   ├── requests v2.32.5 (*)
│   │   │   └── six v1.17.0
│   │   ├── pybase64 v1.4.2
│   │   ├── pydantic v2.11.9
│   │   │   ├── annotated-types v0.7.0
│   │   │   ├── pydantic-core v2.33.2
│   │   │   │   └── typing-extensions v4.14.1
│   │   │   ├── typing-extensions v4.14.1
│   │   │   ├── typing-inspection v0.4.1
│   │   │   │   └── typing-extensions v4.14.1
│   │   │   └── email-validator v2.3.0 (extra: email)
│   │   │       ├── dnspython v2.8.0
│   │   │       └── idna v3.10
│   │   ├── pypika v0.48.9
│   │   ├── pyyaml v6.0.3
│   │   ├── rich v14.1.0
│   │   │   ├── markdown-it-py v4.0.0
│   │   │   │   └── mdurl v0.1.2
│   │   │   └── pygments v2.19.2
│   │   ├── tenacity v9.1.2
│   │   ├── tokenizers v0.22.1
│   │   │   └── huggingface-hub v0.35.3
│   │   │       ├── filelock v3.19.1
│   │   │       ├── fsspec v2025.9.0
│   │   │       ├── hf-xet v1.1.10
│   │   │       ├── packaging v25.0
│   │   │       ├── pyyaml v6.0.3
│   │   │       ├── requests v2.32.5 (*)
│   │   │       ├── tqdm v4.67.1
│   │   │       └── typing-extensions v4.14.1
│   │   ├── tqdm v4.67.1
│   │   ├── typer v0.16.1
│   │   │   ├── click v8.3.0
│   │   │   ├── rich v14.1.0 (*)
│   │   │   ├── shellingham v1.5.4
│   │   │   └── typing-extensions v4.14.1
│   │   ├── typing-extensions v4.14.1
│   │   └── uvicorn[standard] v0.37.0
│   │       ├── click v8.3.0
│   │       ├── h11 v0.16.0
│   │       ├── httptools v0.6.4 (extra: standard)
│   │       ├── python-dotenv v1.1.1 (extra: standard)
│   │       ├── pyyaml v6.0.3 (extra: standard)
│   │       ├── uvloop v0.21.0 (extra: standard)
│   │       ├── watchfiles v1.1.0 (extra: standard)
│   │       │   └── anyio v4.11.0 (*)
│   │       └── websockets v15.0.1 (extra: standard)
│   ├── click v8.3.0
│   ├── instructor v1.11.3
│   │   ├── aiohttp v3.12.15
│   │   │   ├── aiohappyeyeballs v2.6.1
│   │   │   ├── aiosignal v1.4.0
│   │   │   │   └── frozenlist v1.7.0
│   │   │   ├── attrs v25.3.0
│   │   │   ├── frozenlist v1.7.0
│   │   │   ├── multidict v6.6.4
│   │   │   ├── propcache v0.3.2
│   │   │   └── yarl v1.20.1
│   │   │       ├── idna v3.10
│   │   │       ├── multidict v6.6.4
│   │   │       └── propcache v0.3.2
│   │   ├── diskcache v5.6.3
│   │   ├── docstring-parser v0.17.0
│   │   ├── jinja2 v3.1.6
│   │   │   └── markupsafe v3.0.3
│   │   ├── jiter v0.10.0
│   │   ├── openai v1.109.1
│   │   │   ├── anyio v4.11.0 (*)
│   │   │   ├── distro v1.9.0
│   │   │   ├── httpx v0.28.1 (*)
│   │   │   ├── jiter v0.10.0
│   │   │   ├── pydantic v2.11.9 (*)
│   │   │   ├── sniffio v1.3.1
│   │   │   ├── tqdm v4.67.1
│   │   │   └── typing-extensions v4.14.1
│   │   ├── pydantic v2.11.9 (*)
│   │   ├── pydantic-core v2.33.2 (*)
│   │   ├── requests v2.32.5 (*)
│   │   ├── rich v14.1.0 (*)
│   │   ├── tenacity v9.1.2
│   │   └── typer v0.16.1 (*)
│   ├── json-repair v0.25.2
│   ├── json5 v0.12.1
│   ├── jsonref v1.1.0
│   ├── litellm v1.74.9
│   │   ├── aiohttp v3.12.15 (*)
│   │   ├── click v8.3.0
│   │   ├── httpx v0.28.1 (*)
│   │   ├── importlib-metadata v8.7.0 (*)
│   │   ├── jinja2 v3.1.6 (*)
│   │   ├── jsonschema v4.25.1 (*)
│   │   ├── openai v1.109.1 (*)
│   │   ├── pydantic v2.11.9 (*)
│   │   ├── python-dotenv v1.1.1
│   │   ├── tiktoken v0.11.0
│   │   │   ├── regex v2025.9.18
│   │   │   └── requests v2.32.5 (*)
│   │   └── tokenizers v0.22.1 (*)
│   ├── openai v1.109.1 (*)
│   ├── openpyxl v3.1.5
│   │   └── et-xmlfile v2.0.0
│   ├── opentelemetry-api v1.37.0 (*)
│   ├── opentelemetry-exporter-otlp-proto-http v1.37.0
│   │   ├── googleapis-common-protos v1.70.0 (*)
│   │   ├── opentelemetry-api v1.37.0 (*)
│   │   ├── opentelemetry-exporter-otlp-proto-common v1.37.0 (*)
│   │   ├── opentelemetry-proto v1.37.0 (*)
│   │   ├── opentelemetry-sdk v1.37.0 (*)
│   │   ├── requests v2.32.5 (*)
│   │   └── typing-extensions v4.14.1
│   ├── opentelemetry-sdk v1.37.0 (*)
│   ├── pdfplumber v0.11.7
│   │   ├── pdfminer-six v20250506
│   │   │   ├── charset-normalizer v3.4.3
│   │   │   └── cryptography v46.0.1
│   │   │       └── cffi v2.0.0
│   │   │           └── pycparser v2.23
│   │   ├── pillow v11.3.0
│   │   └── pypdfium2 v4.30.0
│   ├── portalocker v2.7.0
│   ├── pydantic v2.11.9 (*)
│   ├── pydantic-settings v2.11.0
│   │   ├── pydantic v2.11.9 (*)
│   │   ├── python-dotenv v1.1.1
│   │   └── typing-inspection v0.4.1 (*)
│   ├── pyjwt v2.10.1
│   ├── python-dotenv v1.1.1
│   ├── pyvis v0.3.2
│   │   ├── ipython v9.6.0
│   │   │   ├── decorator v5.2.1
│   │   │   ├── ipython-pygments-lexers v1.1.1
│   │   │   │   └── pygments v2.19.2
│   │   │   ├── jedi v0.19.2
│   │   │   │   └── parso v0.8.5
│   │   │   ├── matplotlib-inline v0.1.7
│   │   │   │   └── traitlets v5.14.3
│   │   │   ├── pexpect v4.9.0
│   │   │   │   └── ptyprocess v0.7.0
│   │   │   ├── prompt-toolkit v3.0.52
│   │   │   │   └── wcwidth v0.2.14
│   │   │   ├── pygments v2.19.2
│   │   │   ├── stack-data v0.6.3
│   │   │   │   ├── asttokens v3.0.0
│   │   │   │   ├── executing v2.2.1
│   │   │   │   └── pure-eval v0.2.3
│   │   │   └── traitlets v5.14.3
│   │   ├── jinja2 v3.1.6 (*)
│   │   ├── jsonpickle v4.1.1
│   │   └── networkx v3.5
│   ├── regex v2025.9.18
│   ├── tokenizers v0.22.1 (*)
│   ├── tomli v2.2.1
│   ├── tomli-w v1.2.0
│   └── uv v0.8.22
├── docker v7.1.0
│   ├── requests v2.32.5 (*)
│   └── urllib3 v2.5.0 (*)
├── lancedb v0.25.1
│   ├── deprecation v2.1.0
│   │   └── packaging v25.0
│   ├── lance-namespace v0.0.6
│   │   ├── lance-namespace-urllib3-client v0.0.15
│   │   │   ├── pydantic v2.11.9 (*)
│   │   │   ├── python-dateutil v2.9.0.post0 (*)
│   │   │   ├── typing-extensions v4.14.1
│   │   │   └── urllib3 v2.5.0 (*)
│   │   ├── pyarrow v21.0.0
│   │   ├── pylance v0.37.0
│   │   │   ├── numpy v2.3.3
│   │   │   └── pyarrow v21.0.0
│   │   └── typing-extensions v4.14.1
│   ├── numpy v2.3.3
│   ├── overrides v7.7.0
│   ├── packaging v25.0
│   ├── pyarrow v21.0.0
│   ├── pydantic v2.11.9 (*)
│   └── tqdm v4.67.1
├── pypdf v6.1.1
├── python-docx v1.2.0
│   ├── lxml v5.4.0
│   └── typing-extensions v4.14.1
├── pytube v15.0.0
├── requests v2.32.5 (*)
├── stagehand v0.5.3
│   ├── anthropic v0.69.0
│   │   ├── anyio v4.11.0 (*)
│   │   ├── distro v1.9.0
│   │   ├── docstring-parser v0.17.0
│   │   ├── httpx v0.28.1 (*)
│   │   ├── jiter v0.10.0
│   │   ├── pydantic v2.11.9 (*)
│   │   ├── sniffio v1.3.1
│   │   └── typing-extensions v4.14.1
│   ├── browserbase v1.4.0
│   │   ├── anyio v4.11.0 (*)
│   │   ├── distro v1.9.0
│   │   ├── httpx v0.28.1 (*)
│   │   ├── pydantic v2.11.9 (*)
│   │   ├── sniffio v1.3.1
│   │   └── typing-extensions v4.14.1
│   ├── httpx v0.28.1 (*)
│   ├── litellm v1.74.9 (*)
│   ├── nest-asyncio v1.6.0
│   ├── openai v1.109.1 (*)
│   ├── playwright v1.55.0
│   │   ├── greenlet v3.2.4
│   │   └── pyee v13.0.0
│   │       └── typing-extensions v4.14.1
│   ├── pydantic v2.11.9 (*)
│   ├── python-dotenv v1.1.1
│   ├── requests v2.32.5 (*)
│   └── rich v14.1.0 (*)
├── tiktoken v0.11.0 (*)
├── youtube-transcript-api v1.2.2
│   ├── defusedxml v0.7.1
│   └── requests v2.32.5 (*)
├── mcp v1.15.0 (extra: mcp)
│   ├── anyio v4.11.0 (*)
│   ├── httpx v0.28.1 (*)
│   ├── httpx-sse v0.4.1
│   ├── jsonschema v4.25.1 (*)
│   ├── pydantic v2.11.9 (*)
│   ├── pydantic-settings v2.11.0 (*)
│   ├── python-multipart v0.0.20
│   ├── sse-starlette v3.0.2
│   │   └── anyio v4.11.0 (*)
│   ├── starlette v0.48.0
│   │   └── anyio v4.11.0 (*)
│   └── uvicorn v0.37.0 (*)
└── mcpadapt v0.1.16 (extra: mcp)
    ├── jsonref v1.1.0
    ├── mcp v1.15.0 (*)
    ├── pydantic v2.11.9 (*)
    └── python-dotenv v1.1.1
(*) Package tree already displayed

Thank you so much @maxmoura for your support with crewai-tools. I was stuck with installation issues, and your guidance helped me get everything working smoothly. I really appreciate the time and effort you put into helping out the community—it makes a big difference for people like me who are trying to learn and build with CrewAI.