#7215·agents

AsyncTools can't continuously update the user while also treating tool output as a normal output

Author: Kamal-MohaCreated Sep 10, 2026Updated Sep 18, 2026
Labelsbug

Bug Description

I have noticed that Livekit AsyncTools can't continuously keep updating the user during tool execution while at the same time return the tool output as a normal return/output. I see that the agent is able to either update the agent during tool execution, but not treat the tool output as a normal tool output. Or it can return the tool output as a normal output, but then it can't continuously keep updating the user during execution. It looks like these two things mutually exclusive and that we can't have both.

For more info on this, have a look at this post in Livekit community

Expected Behavior

My expectation is that a Livekit agent that has an AsyncTool should be able to continuously keep updating the agent during tool execution using ctx.update() and ctx.with_filler(). And when a tool output is returned, it should treat the tool output as a normal output and speak the result to the user.

Reproduction Steps

bash
1. Create an AsyncTool that performs a long executing worfklow.
2. Implement ctx.update(), ctx.with_filler() and the tool output in the tool

Operating System

macOs

Models Used

Amazon Nova Sonic

Package Versions

bash
Python 3.14
livekit 1.1.17
livekit-agents 1.8.0
livekit-api 1.2.1
livekit-plugins-aws 1.8.0

Session/Room/Call IDs

No response

Proposed Solution

python
AsyncTools should be able to continuously keep updating the agent during tool execution using ctx.update() and ctx.with_filler(). And when a tool output is returned, it should treat the tool output as a normal output and speak the result to the user.

Additional Context

Check this post in the Livekit community.

Screenshots and Recordings

No response