Skip to content

chatgpt_codex: Support reasoning and gpt-5.4#7941

Merged
DOsinga merged 5 commits intoblock:mainfrom
alexyao2015:gpt5-3
Mar 20, 2026
Merged

chatgpt_codex: Support reasoning and gpt-5.4#7941
DOsinga merged 5 commits intoblock:mainfrom
alexyao2015:gpt5-3

Conversation

@alexyao2015
Copy link
Copy Markdown
Contributor

Summary

This adds support for setting the reasoning when using chatgpt_codex.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Tested manually and confirmed functionality

This enables users to configure the reasoning for chatgpt_codex

Signed-off-by: alexyao2015 <[email protected]>
Also sets default model to gpt-5.3-codex

Signed-off-by: alexyao2015 <[email protected]>
@alexyao2015
Copy link
Copy Markdown
Contributor Author

This also needs cargo run --bin build_canonical_models to be run to get the proper values for gpt-5.4, but I don't have credentials for all of the providers

…codex tool preamble, add tests

Signed-off-by: Douwe Osinga <[email protected]>
@DOsinga
Copy link
Copy Markdown
Collaborator

DOsinga commented Mar 20, 2026

Thanks for this — reasoning support for chatgpt_codex and gpt-5.4 are both useful additions. I've pushed a small fixup commit to your branch:

Changes made:

  • Added #[derive(Debug)] to ChatGptCodexModelAttrs (consistent with every other struct in the file)
  • Removed the doc comment on ChatGptCodexModelAttrs that just restated the struct name
  • Restored the GPT_53_CODEX_TOOL_PREAMBLE injection for gpt-5.3-codex in create_codex_request — your second commit had accidentally dropped the match on model name, which would have caused gpt-5.3-codex to stop prepending the tool-use preamble
  • Added tests for reasoning_levels_for_model (per-model level filtering + unknown model fallback), preamble injection, and the reasoning field in the payload

@DOsinga DOsinga added this pull request to the merge queue Mar 20, 2026
Merged via the queue into block:main with commit 645757d Mar 20, 2026
21 checks passed
elijahsgh pushed a commit to elijahsgh/goose that referenced this pull request Mar 21, 2026
Signed-off-by: alexyao2015 <[email protected]>
Signed-off-by: Douwe Osinga <[email protected]>
Co-authored-by: alexyao2015 <[email protected]>
Co-authored-by: Douwe Osinga <[email protected]>
Signed-off-by: esnyder <[email protected]>
elijahsgh pushed a commit to elijahsgh/goose that referenced this pull request Mar 21, 2026
Signed-off-by: alexyao2015 <[email protected]>
Signed-off-by: Douwe Osinga <[email protected]>
Co-authored-by: alexyao2015 <[email protected]>
Co-authored-by: Douwe Osinga <[email protected]>
Signed-off-by: esnyder <[email protected]>
wpfleger96 added a commit that referenced this pull request Mar 23, 2026
* origin/main: (62 commits)
  Tweak the release process: no more merge to main (#7994)
  fix: gemini models via databricks (#8042)
  feat(apps): Pass toolInfo to MCP Apps via hostContext (#7506)
  fix: remove configured marker when deleting oauth provider configuration (#7887)
  docs: add vmware-aiops MCP extension documentation (#8055)
  Show setup instructions for ACP providers in settings modal (#8065)
  deps: replace sigstore-verification with sigstore-verify to kill vulns (#8064)
  feat(acp): add session/set_config and stabilize list, delete and close (#7984)
  docs: Correct `gosoe` typo to `goose` (#8062)
  fix: use default provider and model when provider in session no longer exists (#8035)
  feat: add GOOSE_SHELL env var to configure preferred shell (#7909)
  fix(desktop): fullscreen header bar + always-visible close controls (#8033)
  docs: add Claude Code approve mode permission routing documentation (#7949)
  chatgpt_codex: Support reasoning and gpt-5.4 (#7941)
  refactor(anthropic): fix N+1 thinking message storage issue (#7958)
  fix: handle mid-stream error events in OpenAI SSE streaming (#8031)
  Fix apps extension: coerce string arguments from inner LLM responses (#8030)
  feat: ability to expand sidebar to see chats names  (#7816)
  Fix config for GOOSE_MAX_BACKGROUND_TASKS (#7940)
  set MACOSX_DEPLOYMENT_TARGET=12.0 (#7947)
  ...
wpfleger96 added a commit that referenced this pull request Mar 23, 2026
…pstream

* wpfleger/socket-support: (62 commits)
  Tweak the release process: no more merge to main (#7994)
  fix: gemini models via databricks (#8042)
  feat(apps): Pass toolInfo to MCP Apps via hostContext (#7506)
  fix: remove configured marker when deleting oauth provider configuration (#7887)
  docs: add vmware-aiops MCP extension documentation (#8055)
  Show setup instructions for ACP providers in settings modal (#8065)
  deps: replace sigstore-verification with sigstore-verify to kill vulns (#8064)
  feat(acp): add session/set_config and stabilize list, delete and close (#7984)
  docs: Correct `gosoe` typo to `goose` (#8062)
  fix: use default provider and model when provider in session no longer exists (#8035)
  feat: add GOOSE_SHELL env var to configure preferred shell (#7909)
  fix(desktop): fullscreen header bar + always-visible close controls (#8033)
  docs: add Claude Code approve mode permission routing documentation (#7949)
  chatgpt_codex: Support reasoning and gpt-5.4 (#7941)
  refactor(anthropic): fix N+1 thinking message storage issue (#7958)
  fix: handle mid-stream error events in OpenAI SSE streaming (#8031)
  Fix apps extension: coerce string arguments from inner LLM responses (#8030)
  feat: ability to expand sidebar to see chats names  (#7816)
  Fix config for GOOSE_MAX_BACKGROUND_TASKS (#7940)
  set MACOSX_DEPLOYMENT_TARGET=12.0 (#7947)
  ...
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