crewAIInc / crewAIInc/crewAI

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

Open
#6,072 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
58.8k
Forks
8.5k
Avg merge
1d 15h
Merged PRs (30d)
109

Description

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_logsAgentLogsExecutionEvent) 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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in crew_agent_executor.py::_show_logs and core/providers/human_input.py::_prompt_input, then run the minimal reproduction with human_input=True and verbose=False. Done means the result under review is visible before or within the feedback prompt regardless of verbosity, while the existing verbose=True behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.