mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-09-20 10:03:37 +00:00
* fix(cli): reject non-serializable literal_eval results in TUI JSON formatting _try_parse_structured() accepted any dict/list coming out of ast.literal_eval(), including values json.dumps() cannot encode such as [Ellipsis] from a literal [...]. _format_json_in_text() then raised TypeError: Object of type ellipsis is not JSON serializable, which propagated through _tick and cancelled the whole crew run. Validate the parsed object with json.dumps() inside _try_parse_structured() so only JSON-serializable dict/list values are returned; anything else falls back to the original text. Fixes #7434. * fix(cli): contain RecursionError in the TUI JSON formatting boundary A streamed structure nested deeper than the JSON backend can walk could raise RecursionError out of _try_parse_structured (from json.loads) or out of the render-path dumps, escaping _tick and losing the TUI update. Catch RecursionError when loading, and validate literal_eval results with the exact kwargs the render path uses, so any structure the render cannot encode is rejected at the boundary and the raw text renders instead. --------- Co-authored-by: Vidit Ostwal <110953813+Vidit-Ostwal@users.noreply.github.com>
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]