Skip to content

Add streaming support for tool responses #8

Description

@iiivanova

Feature request

Add streaming support so output is returned as it's generated rather than waiting for the full response.

Why

Currently all tool calls block until the complete response is ready, which can take 10-20 seconds for longer analyses. Streaming would show output word by word as it arrives, making the experience feel much more responsive - especially for evaluate() and redteam() which produce long outputs.

Example usage

for chunk in evaluate("my analysis", stream=True):
    print(chunk, end="", flush=True)

What's needed

  • Add an optional stream=True parameter to each tool
  • Update the provider clients in providers.py to support streaming for Anthropic, OpenAI, and Gemini
  • Default behavior (no streaming) remains unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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