cloudwego / cloudwego/eino

Runner using streaming enabled causes error when using gemini with tools

Open
#794 3 comments 0 reactions 0 assignees View on GitHub
C-bug D-example
Dominant language
Go
Stars
13k
Forks
1.1k
Avg merge
4h 6m
Merged PRs (30d)
41

Description

Version v0.7.30

the relevant code pieces

```
agent := NewSupplierContractAgent(ctx, bearerToken)
runner := adk.NewRunner(ctx, adk.RunnerConfig{
Agent: agent,
EnableStreaming: true,
CheckPointStore: store.NewInMemoryStore(),
})

responseSchema := &einoSchema.Schema{}
ChatModel, err = gemini.NewChatModel(ctx, &gemini.Config{

ResponseJSONSchema: responseSchema,
Client: client,
Model: "gemini-3-flash-preview", // or gemini-1.5-pro, etc
ThinkingConfig: &genai.ThinkingConfig{
IncludeThoughts: false,
ThinkingBudget: nil,
},
})

iter := runner.Run(ctx, []adk.Message{
{

Role: schema.User,
Content: "what are my contracts ",
}},
adk.WithCheckPointID("1"),
adk.WithToolOptions([]tool.Option{authInput(bearerToken)}),
)

```
error:
name: SupplierContractFinder
path: [{SupplierContractFinder}][FATAL] 2026-02-18 10:28:45 index is nil

when enablestreaming is false the code functions properly and my agent calls the tools, but when turned on it returns an index is nil and agent action is nil in the event. Is there any solution to getting gemini tool calls to work properly when enable streaming is true on the runner?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.