mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-02 05:38:12 +00:00
`Telemetry.set_tracer()` installed crewAI's anonymous SDK
`TracerProvider` into OpenTelemetry's process-global slot, so the first
`Crew` constructed in a test or host application replaced the default
`ProxyTracerProvider` and exfiltrated every host span emitted via
`trace.get_tracer(...)` to crewAI's OTLP endpoint. Keep the provider
local to the `Telemetry` instance and route every anonymous span
through `self.provider.get_tracer("crewai.telemetry")` so the global
slot stays untouched. Mirrors the fix in `crewai_core.telemetry`,
drops the now-dead `set_tracer()` calls in `event_listener.py` and
`crewai_cli.command`, and adds regression coverage that asserts the
provider stays a `ProxyTracerProvider` after constructing a `Crew`.
crewai-cli
CLI for CrewAI — scaffold, run, deploy and manage AI agent crews without installing the full framework.
Installation
pip install crewai-cli
This pulls in crewai-core (shared utilities) but not the crewai framework
itself, so commands that don't need a crew loaded — crewai version,
crewai login, crewai org list, crewai config *, crewai traces *,
crewai create, crewai template * — work standalone.
Commands that load a user's crew or flow (crewai run, crewai train,
crewai test, crewai chat, crewai replay, crewai reset-memories,
crewai deploy push, crewai tool publish) require crewai to be installed
in the project's environment. They print a clear error if it is missing.
To install both at once:
pip install crewai[cli]