Skip to content

[FEATURE] Support for Multiple LLM Output Formats Beyond ReAct #3508

@juishuyeh

Description

@juishuyeh

Feature Area

Agent capabilities

Is your feature request related to a an existing bug? Please link it here.

NA

Describe the solution you'd like

CrewAI should support multiple LLM output formats beyond the current ReAct format, while maintaining full backward compatibility.

Current Problem:
CrewAI's output parser (src/crewai/agents/parser.py) only supports ReAct format:
Thought: agent thought here
Action: search
Action Input: what is the temperature in SF?

Desired Solution:

  • Support for modern structured formats like OpenAI Harmony:
    <|start|>assistant<|channel|>analysis<|message|>reasoning content<|end|>
    <|start|>assistant<|channel|>commentary to=function_name<|message|>{"param": "value"}<|call|>
  • Automatic format detection and parsing
  • Extensible architecture for future LLM formats
  • Zero breaking changes to existing ReAct-based code

Impact:
This would enable CrewAI to work with modern LLMs like gpt-oss and other providers using structured outputs, significantly expanding
compatibility without sacrificing existing functionality.

Describe alternatives you've considered

Describe alternatives you've considered

  1. Manual format conversion: Pre-processing LLM outputs to match ReAct format

    • Adds complexity and potential errors
    • Not always reliable for all output variations
  2. LLM-specific configuration: Trying to force all LLMs to output ReAct format

    • Not possible with all providers
    • Limits the natural capabilities of different LLMs
  3. Separate CrewAI forks: Different versions for different LLM formats

    • Creates fragmentation in the ecosystem
    • Maintenance burden and compatibility issues
  4. Wrapper/adapter pattern: External libraries to convert formats

    • Adds external dependencies
    • Increases complexity for end users

Additional context

References:

Example Impact:
Currently, users cannot use CrewAI with:

  • gpt-oss (uses Harmony format)

This feature would future-proof CrewAI as the LLM ecosystem continues to evolve toward more structured output formats.

Willingness to Contribute

Yes, I'd be happy to submit a pull request

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions