Skip to content

fix(openai): apply request_params to outgoing API payload - #9151

Merged
DOsinga merged 3 commits into
aaif-goose:mainfrom
TurboWindX:fix/openai-request-params-not-applied
May 13, 2026
Merged

fix(openai): apply request_params to outgoing API payload#9151
DOsinga merged 3 commits into
aaif-goose:mainfrom
TurboWindX:fix/openai-request-params-not-applied

Conversation

@TurboWindX

@TurboWindX TurboWindX commented May 12, 2026

Copy link
Copy Markdown
Contributor

Problem

request_params is defined in ModelConfig and documented as supporting
provider-specific parameters (e.g. thinking, extra_body fields), but
create_request() in formats/openai.rs never reads it. Any params set
in config are silently discarded before the request is sent.

This breaks use cases like disabling DeepSeek V4 thinking mode:

request_params:
  thinking:
    type: disabled
The payload goes out without the field, causing a 400: reasoning_content must be passed back error on subsequent
turns.

Fix

Merge request_params into the payload just before return in
create_request(). Added a test covering both the merge and field
override behaviour.

Testing

cargo test -p goose --lib -- test_create_request_merges_request_params
test result: ok. 1 passed

Fixes #9083
Related to #904

TurboWindX and others added 3 commits May 11, 2026 22:56
request_params was defined in ModelConfig but never read in create_request().
Caused settings like DeepSeek thinking mode disable to be silently ignored.

Fixes aaif-goose#9083, related to aaif-goose#9041
Signed-off-by: Douwe Osinga <douwe@squareup.com>

@DOsinga DOsinga left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM — the fix correctly merges request_params into the OpenAI format payload, matching the existing pattern in databricks.rs. Dropped the test and merged main.

One thing: your original commit is missing the DCO sign-off. Please amend it with git commit --amend -s and force-push so the DCO check passes.

@DOsinga
DOsinga added this pull request to the merge queue May 13, 2026
Merged via the queue into aaif-goose:main with commit e1c544d May 13, 2026
22 checks passed
lifeizhou-ap added a commit that referenced this pull request May 14, 2026
* main: (66 commits)
  Switch GH pages deploy to actions/artifact workflow (#9025)
  fix(summon): re-apply canonical limits when delegate overrides model (#9183)
  Split code signing from build (#8587)
  refactor(logging): consolidate logging setup into shared helper in goose crate (#8817)
  fix(cli): report cumulative total_tokens in stream-json/json output (#8910)
  plugins: add open plugins (just skills for now) (#9063)
  fix(providers): refresh GCP metadata server token on expiration (#8929)
  chore(deps): bump the cargo-minor-and-patch group across 1 directory with 14 updates (#9178)
  chore(deps): bump bzip2 from 0.5.2 to 0.6.1 (#8964)
  chore(deps): bump tauri from 2.10.3 to 2.11.1 in /ui/goose2/src-tauri (#9066)
  chore(deps): bump hono from 4.12.14 to 4.12.18 in /evals/open-model-gym/mcp-harness (#9073)
  localize hardcoded strings in provider settings UI (#8931)
  chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /documentation (#9122)
  move settings into app shell (#9047)
  Add Location column to CLI skills table (#8785)
  (feat): add routstr as a declarative provider (#9175)
  Add FuturMix provider (#8840)
  fix: convert quoted numeric config values to numbers if needed (#8844)
  fix(ui): keep SSE reconnect loop alive on long disconnects (#8717) (#8846)
  fix(openai): apply request_params to outgoing API payload (#9151)
  ...
DOsinga pushed a commit that referenced this pull request May 14, 2026
Resolve conflicts:
- declarative_providers.rs: keep both opencode_go and vercel_ai_gateway tests,
  plus legacy provider ID validation tests from main
- openai.rs: keep merge_reasoning_text/OpenAiFormatOptions from PR,
  deserialize_null_default_string from main, both streaming state vars,
  unrestricted request_params forwarding from #9151, and both test functions

Signed-off-by: Douwe Osinga <douwe@squareup.com>
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
…#9151)

Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: turbowindx <turbowindx@users.noreply.github.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
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.

2 participants