#I have tools to execute, but it needs external execution.

1 messages · Page 1 of 1 (latest)

strong cape
#

Hi, I'm experimenting with frontend tools, together with claude and agno. I find that whenever I execute a frontend tool, I also get a text message along with it, that says:

"I have tools to execute, but it needs external execution."

Is this normal? Where is it coming from? I assume it's from claude. Is there a way to configure it to avoid sending that?

#

Also, that grammar… ho boy

swift estuaryBOT
#

This solution has been AI generated

This message is expected in the Agno + Claude + CopilotKit flow. It’s emitted by Agno when a tool is marked for external execution (as frontend tools are). You can suppress it with agent instructions and/or by updating Agno.

Where the message comes from

  • Origin: Agno (formerly Phidata), not CopilotKit.
  • Trigger: Tools defined with external_execution=True. Agno signals it can’t run the tool server‑side and defers to the frontend, producing: "I have tools to execute, but it needs external execution."

How to suppress or avoid it

1) Add explicit model instructions to avoid preamble text

agent = Agent(
    model=Claude(id="claude-3-..."),
    tools=[your_frontend_tool],
    instructions=[
        "When calling a tool, do not add any commentary.",
        "Call the tool directly without phrases like 'I have tools to execute'."
    ],
)

2) Keep tools quiet

  • Ensure your tool definitions don’t return placeholder text when external_execution=True.

3) Update Agno

pip install --upgrade agno
  • Newer versions improve how external execution messages are handled.

References

Was this helpful?

If this solution worked for you, please click on the appropriate option below to help us improve:

swift estuaryBOT
#

Hi @strong cape, Just following up - did that help answer what you needed?

strong cape
#

Mostly. It pointed me in the right direction at least. I ended up finding https://github.com/agno-agi/agno/pull/5842, and a new flag named external_execution_silent, which was released in a recent version of agno.