Skip to content

Function calls get stuck when cancelled before FunctionCallInProgressFrame arrives #3661

@OlliTapio

Description

@OlliTapio

pipecat version

0.99

Python version

3.12.12

Operating System

MacOS 26.2

Issue description

When we manage to interrupt the function call before the FunctionCallInProgressFrame has been sent, the function call gets stuck IN_PROGRESS and does not ever complete. In Pipecat Flows this stops node transitions and also makes the LLM more hesitant to call the function.

Reproduction steps

Easiest to reproduce when using LLM that can send text and function call in same response.

Instruct LLM to create content and tool call. Interrupt the speach when it has been generated.

Interruption frame is sent before the FunctionCallInProgressFrame. The function gets stuck in progress.

Seems like the FunctionCallInProgressFrame is sent after all of the text frames have arrived to TTS.

Expected behavior

Either cancel the function or let it complete. Not leave it in_progress.

Actual behavior

Function is stuck IN_PROGRESS. Flows node transitions are blocked.

Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions