fix(inference): pass extra_headers as HTTP headers instead of in request body#1216
Merged
toubatbrian merged 1 commit intolivekit:mainfrom Apr 9, 2026
Merged
Conversation
…est body extra_headers was being spread into the OpenAI SDK's create() body parameter, causing the API to reject the request with 400 "Unrecognised request argument supplied: extra_headers". Move it to the second parameter (RequestOptions.headers) where it belongs.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
🦋 Changeset detectedLatest commit: fe7974d The changes in this PR will be included in the next version bump. This PR includes changesets to release 22 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
toubatbrian
approved these changes
Apr 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PR #1208 introduced metadata headers for inference requests. In
agents/src/inference/llm.ts,extra_headersis set on therequestOptionsobject, which is then spread into the first argument (request body) ofclient.chat.completions.create(). The OpenAI API rejects this with a 400 error:This affects all inference LLM calls made through the
@livekit/agentspackage (v1.2.4).Solution
extra_headersfromrequestOptionsbefore it is spread into the request body (delete requestOptions.extra_headers)RequestOptions.headers) ofcreate(), where the OpenAI SDK expects themThe other inference transports (STT, TTS, interruption HTTP/WS) already handle headers correctly — this bug is isolated to the LLM inference path.
Verification
pnpm build:agentspnpm lint,pnpm format:checkpnpm api:check