BYOK: unrequested easoning_effort and snippy params sent to non-reasoning OpenAI deployments (400)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- azure, typescript
Research direction
Start at the BYOK createSession and listModels path, then inspect the bundled CLI request handling for Azure AI Foundry OpenAI deployments. Reproduce with gpt-4.1-mini and compare the outgoing request with the Anthropic path. Done means non-reasoning deployments receive neither reasoning_effort nor snippy, while supported reasoning models retain their parameters.
Written by the indexing model from the issue text.
Description
What happened
Using the SDK in BYOK mode against an Azure AI Foundry account, every request to a non-reasoning OpenAI deployment (gpt-4.1-mini) fails at the provider with:
400 Unrecognized request arguments supplied: reasoning_effort, snippy
Anthropic deployments on the same account, same credentials, same code path work fine (claude-haiku-4-5, claude-sonnet-4-6 — 14/14 successful calls in the same run).
Why this looks like an SDK-side issue
Two parameters are reaching the provider that the calling application never set:
-
snippy— this string does not appear anywhere in our codebase. We grep for it across our entire application source and find zero occurrences. We have no API through which we could set it. -
reasoning_effort— we do pass areasoningEfforttocreateSession, but only after checkingcapabilities.supports.reasoningEffortfromlistModels()and dropping it when the model doesn't advertise support:const supported = new Set( (await sdk.listModels()) .filter((m) => m.capabilities?.supports?.reasoningEffort) .map((m) => m.id), ); const effort = supported.has(model) ? requested : undefined; await sdk.createSession({ model, ...(effort ? { reasoningEffort: effort } : {}), // ... });For a BYOK deployment name like
gpt-4.1-minithis resolves toundefinedand the key is omitted from the object entirely — yetreasoning_effortstill appears on the wire.
So both parameters appear to be injected below the SDK surface, inside the bundled CLI binary.
Impact
Non-reasoning OpenAI deployments are unusable through the BYOK path. This isn't only an inconvenience for model comparison — it removes the non-Anthropic fallback from a deployment whose only other models are Anthropic, so an Anthropic quota problem in-region would leave no working model at all.
Environment
@github/copilot-sdk1.0.13 (bundled CLI 1.0.83)- Provider: BYOK / custom endpoint,
type: "openai", Azure AI Foundry - Failing deployment:
gpt-4.1-mini(OpenAI2025-04-14) - Working deployments (same account/credentials):
claude-haiku-4-5,claude-sonnet-4-6
Expected
Neither snippy nor reasoning_effort should be sent to a provider/model that doesn't accept them — particularly reasoning_effort when the caller explicitly omitted it and the model catalog doesn't report reasoning support.
Questions
- Is
snippyintended to be sent to custom/BYOK providers at all? It looks like an internal parameter that should be scoped to the first-party backend. - For BYOK deployments absent from the model catalog, what's the intended way to guarantee no reasoning parameters are attached? Is there a supported opt-out?
- Dominant language
- Java
- Stars
- 10.5k
- Forks
- 1.5k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 130
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-sdk
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
github/copilot-sdk#2760 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
github/copilot-sdk#2759 ·
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 85/100
github/copilot-sdk#2758 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2709 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
github/copilot-sdk#2673 ·
All issues in github/copilot-sdk
Similar issues
-
certification
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Openbug ecr
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Needs: Triage Type: Feature request
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
AntennaPod/AntennaPod#8794 ·
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Difficulty 2/5 1-3 hours Newbie friendliness 75/100