Skip to content

fix(provider/openai): remove redundant name from custom tool args#13071

Merged
dancer merged 7 commits intomainfrom
josh/remove-custom-tool-name
Mar 18, 2026
Merged

fix(provider/openai): remove redundant name from custom tool args#13071
dancer merged 7 commits intomainfrom
josh/remove-custom-tool-name

Conversation

@dancer
Copy link
Copy Markdown
Collaborator

@dancer dancer commented Mar 4, 2026

background

followup to #12948. lars feedback: custom tools required a separate name field in args that duplicated the sdk tool key. every other provider tool derives its name from the key automatically. the extra name introduced alias mapping complexity and the resolveProviderToolName extension to createToolNameMapping

summary

  • remove name from customTool args schema and type
  • use the sdk tool key (tool.name) as the name sent to openai
  • remove resolveProviderToolName from createToolNameMapping in provider-utils
  • remove alias mapping tests and repro examples
  • update docs and examples

before

tools: {
  write_sql: openai.tools.customTool({
    name: 'write_sql', // redundant
    description: '...',
  }),
}

after

tools: {
  write_sql: openai.tools.customTool({
    description: '...',
  }),
}

verification

  • pnpm tsx src/generate-text/openai/responses-custom-tool.ts
  • pnpm tsx src/stream-text/openai/responses-custom-tool.ts
  • pnpm tsx src/generate-text/openai/responses-custom-tool-multi-turn.ts
  • pnpm tsx src/stream-text/openai/responses-custom-tool-multi-turn.ts

checklist

  • tests have been added / updated (for bug fixes / features)
  • documentation has been added / updated (for bug fixes / features)
  • a patch changeset for relevant packages has been added (run pnpm changeset in root)
  • i have reviewed this pull request (self-review)

@tigent tigent bot added ai/provider related to a provider package. Must be assigned together with at least one `provider/*` label documentation Improvements or additions to documentation maintenance CI, internal documentation, automations, etc provider/openai Issues related to the @ai-sdk/openai provider labels Mar 4, 2026
Copy link
Copy Markdown
Collaborator

@gr2m gr2m left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v7 only

@gr2m gr2m added major marker for PRs with major version bump and removed documentation Improvements or additions to documentation maintenance CI, internal documentation, automations, etc labels Mar 5, 2026
@dancer dancer enabled auto-merge (squash) March 5, 2026 16:31
@dancer dancer closed this Mar 5, 2026
auto-merge was automatically disabled March 5, 2026 21:36

Pull request was closed

@dancer dancer reopened this Mar 5, 2026
dancer and others added 7 commits March 18, 2026 16:00
Updated documentation for breaking changes in @ai-sdk/openai and @ai-sdk/provider-utils. Removed the redundant 'name' argument from openai.tools.customTool() and updated createToolNameMapping() to no longer accept resolveProviderToolName.
@dancer dancer enabled auto-merge (squash) March 18, 2026 16:12
@dancer dancer merged commit 61753c3 into main Mar 18, 2026
20 checks passed
@dancer dancer deleted the josh/remove-custom-tool-name branch March 18, 2026 16:42
@vercel-ai-sdk
Copy link
Copy Markdown
Contributor

vercel-ai-sdk bot commented Mar 18, 2026

🚀 Published in:

Package Version
ai 7.0.0-beta.23
@ai-sdk/alibaba 2.0.0-beta.8
@ai-sdk/amazon-bedrock 5.0.0-beta.8
@ai-sdk/angular 3.0.0-beta.23
@ai-sdk/anthropic 4.0.0-beta.8
@ai-sdk/assemblyai 3.0.0-beta.5
@ai-sdk/azure 4.0.0-beta.10
@ai-sdk/baseten 2.0.0-beta.6
@ai-sdk/black-forest-labs 2.0.0-beta.4
@ai-sdk/bytedance 2.0.0-beta.4
@ai-sdk/cerebras 3.0.0-beta.6
@ai-sdk/cohere 4.0.0-beta.4
@ai-sdk/deepgram 3.0.0-beta.4
@ai-sdk/deepinfra 3.0.0-beta.6
@ai-sdk/deepseek 3.0.0-beta.5
@ai-sdk/elevenlabs 3.0.0-beta.4
@ai-sdk/fal 3.0.0-beta.4
@ai-sdk/fireworks 3.0.0-beta.6
@ai-sdk/gateway 4.0.0-beta.15
@ai-sdk/gladia 3.0.0-beta.4
@ai-sdk/google 4.0.0-beta.12
@ai-sdk/google-vertex 5.0.0-beta.17
@ai-sdk/groq 4.0.0-beta.5
@ai-sdk/huggingface 2.0.0-beta.6
@ai-sdk/hume 3.0.0-beta.4
@ai-sdk/klingai 4.0.0-beta.5
@ai-sdk/langchain 3.0.0-beta.23
@ai-sdk/llamaindex 3.0.0-beta.23
@ai-sdk/lmnt 3.0.0-beta.4
@ai-sdk/luma 3.0.0-beta.4
@ai-sdk/mcp 2.0.0-beta.8
@ai-sdk/mistral 4.0.0-beta.4
@ai-sdk/moonshotai 3.0.0-beta.6
@ai-sdk/open-responses 2.0.0-beta.5
@ai-sdk/openai 4.0.0-beta.10
@ai-sdk/openai-compatible 3.0.0-beta.6
@ai-sdk/perplexity 4.0.0-beta.5
@ai-sdk/prodia 2.0.0-beta.6
@ai-sdk/provider-utils 5.0.0-beta.4
@ai-sdk/react 4.0.0-beta.23
@ai-sdk/replicate 3.0.0-beta.5
@ai-sdk/revai 3.0.0-beta.5
@ai-sdk/rsc 3.0.0-beta.24
@ai-sdk/svelte 5.0.0-beta.23
@ai-sdk/togetherai 3.0.0-beta.6
@ai-sdk/valibot 3.0.0-beta.4
@ai-sdk/vercel 3.0.0-beta.6
@ai-sdk/vue 4.0.0-beta.23
@ai-sdk/xai 4.0.0-beta.12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai/provider related to a provider package. Must be assigned together with at least one `provider/*` label major marker for PRs with major version bump provider/openai Issues related to the @ai-sdk/openai provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants