Skip to content

fix(session): keep AI SDK tool result names#32909

Open
cyq1017 wants to merge 1 commit into
anomalyco:devfrom
cyq1017:codex/opencode-31646-ai-sdk-tool-name
Open

fix(session): keep AI SDK tool result names#32909
cyq1017 wants to merge 1 commit into
anomalyco:devfrom
cyq1017:codex/opencode-31646-ai-sdk-tool-name

Conversation

@cyq1017

@cyq1017 cyq1017 commented Jun 18, 2026

Copy link
Copy Markdown

Issue for this PR

Closes #31646

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

When the AI SDK emits a tool-result event after the local tool-call name cache misses, opencode currently labels the result as unknown. The event still carries toolName, so this uses that value before falling back to unknown.

This keeps the tool result paired with the real tool name and avoids feeding an unknown tool result back into the session history.

How did you verify your code works?

  • bun test test/session/llm-ai-sdk.test.ts
  • bun test test/session/llm.test.ts
  • bun test test/session/processor-effect.test.ts
  • bun prettier --check packages/opencode/src/session/llm/ai-sdk.ts packages/opencode/test/session/llm-ai-sdk.test.ts
  • git diff --check

I also ran the local path lint command; it exited 0 with existing warnings in ai-sdk.ts.

The pre-push hook runs full monorepo typecheck and currently fails in unrelated packages/ui / packages/enterprise files before this change. This PR only changes the AI SDK adapter and its focused test.

Screenshots / recordings

N/A

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@cyq1017 cyq1017 marked this pull request as ready for review June 19, 2026 06:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent repeatedly tries to call non-existent unknown tool and gets stuck in failure loop

1 participant