Skip to content

[BUG] human_input=True: the feedback prompt references a "Final Result above" that is never displayed unless verbose=TrueΒ #6072

Description

@coolhandle01

Description

When a Task has human_input=True but the agent/crew is not verbose, CrewAI shows the πŸ’¬ Human Feedback Required panel β€” "Provide feedback on the Final Result above" β€” but the result is never printed. The operator is asked to approve output they cannot see.

The two behaviours are gated independently:

  • the result render (_show_logs β†’ AgentLogsExecutionEvent) is gated on verbose=agent.verbose or crew.verbose;
  • the feedback gate fires whenever human_input=True.

So human_input=True + non-verbose β‡’ a prompt that explicitly references content ("the Final Result above") that was never rendered.

Relationship to #6065

This is separate from #6065 (the AttributeError: 'AgentExecutor' object has no attribute 'ask_for_human_input' crash). On 1.14.5 / 1.14.6 that crash fires first and masks this. The bug here is observable on 1.14.4 (where human_input still works), and will resurface on 1.14.5+ once #6065 / #6069 lands β€” so it's worth fixing alongside it.

Steps to Reproduce

A minimal reproduction follows.

from crewai import Agent, Crew, Task, Process
from crewai.llms.base_llm import BaseLLM

class StubLLM(BaseLLM):
    def call(self, messages, tools=None, callbacks=None, available_functions=None,
             from_task=None, from_agent=None, response_model=None):
        return "Thought: I know it.\nFinal Answer: The sky is blue."
    def supports_function_calling(self) -> bool:
        return False

agent = Agent(role="Tester", goal="Be a Minimal Reproduction", backstory="bg",
              llm=StubLLM(model="stub"), verbose=False)
task = Task(description="Sky colour?", expected_output="a colour",
            agent=agent, human_input=True)
Crew(agents=[agent], tasks=[task], process=Process.sequential, verbose=False).kickoff()

Press enter at the prompt.

Expected behavior

When human_input is requested, the result under review is displayed (or embedded in the feedback panel) regardless of verbose β€” the prompt should never reference output that wasn't shown.

Screenshots/Code snippets

N/A (minimal reproduction above)

Operating System

Ubuntu 24.04

Python Version

3.12

crewAI Version

1.14.4

crewAI Tools Version

1.14.4

Virtual Environment

Venv

Evidence

  • verbose=False: only the feedback panel appears; no result anywhere.
  • verbose=True: the βœ… Agent Final Answer panel renders, and the feedback panel includes a Final Output: line β€” confirming the result display is purely verbose-gated.

Possible Solution

Root cause

crew_agent_executor.py::_show_logs emits AgentLogsExecutionEvent(verbose=agent.verbose or crew.verbose), so the result render is verbose-gated, while the human-feedback gate (core/providers/human_input.py::_prompt_input) fires on human_input alone and prints a prompt that assumes the result is "above".

Suggested fix

When human_input is active, surface the AgentFinish output regardless of verbose β€” either emit the result event unconditionally in that path, or include the output directly in the feedback panel so "the Final Result above" is always actually present.

Additional context

Bug diagnosis performed and issue description Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions