Skip to content

Disable thinking for tool call labels - #11207

Merged
DOsinga merged 6 commits into
mainfrom
codex/11154-fast-model-thinking
Aug 20, 2026
Merged

DOsinga merged 6 commits into
mainfrom
codex/11154-fast-model-thinking

Conversation

@DOsinga

@DOsinga DOsinga commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Fixes #11154

What changed

  • route tool-call title and chain-summary generation through complete_fast
  • make the main-model fallback an explicit choice for every complete_fast caller
  • disable that fallback for labels, preserving their existing deterministic fallback behavior
  • preserve fallback behavior for session naming, compaction, tool summarization, and orchestrator summaries
  • add a provider-level test that verifies label requests turn thinking off even when the session model uses high thinking effort

Why

Tool-call labels used get_fast_model followed by provider.complete directly. That bypassed the thinking-off behavior in complete_fast, so reasoning-capable models could spend tokens deliberating over short labels whose reasoning output was discarded.

Verification

  • cargo fmt
  • git diff --check
  • cargo test -p goose tool_call_labels (18 passed)

@DOsinga DOsinga closed this Aug 19, 2026
@DOsinga DOsinga reopened this Aug 19, 2026
@DOsinga
DOsinga marked this pull request as ready for review August 19, 2026 17:26
…l-thinking

# Conflicts:
#	crates/goose/src/tool_call_labels.rs
@DOsinga
DOsinga requested a review from filipkujawa August 19, 2026 18:09
@filipkujawa filipkujawa self-assigned this Aug 19, 2026
@DOsinga DOsinga self-assigned this Aug 19, 2026
@DOsinga
DOsinga enabled auto-merge August 19, 2026 22:46

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 14ec632666

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

if let Ok((response, _)) = with_session_id(
Some(session_id.to_string()),
provider.complete(model_config, system_prompt, from_ref(message), &[]),
if let Ok((response, _)) = crate::model_config::complete_fast(

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Disable local-model thinking for label completions

When the session uses local_inference with its default enable_thinking = true, routing the label through complete_fast still does not disable reasoning. complete_fast only sets thinking_effort=off, while LocalInferenceProvider::stream in crates/goose-local-inference/src/lib.rs:667-677 exclusively checks whether enable_thinking is explicitly false; the registry default remains true (local_model_registry.rs:90-91,140). Consequently these label calls still run the local model's thinking path, so this change does not achieve its latency/token objective for local models; the one-shot config also needs to override enable_thinking.

Useful? React with 👍 / 👎.

@DOsinga
DOsinga added this pull request to the merge queue Aug 19, 2026
Merged via the queue into main with commit c13aa86 Aug 20, 2026
25 checks passed
@DOsinga
DOsinga deleted the codex/11154-fast-model-thinking branch August 20, 2026 03:02
michaelneale added a commit that referenced this pull request Aug 20, 2026
* origin/main:
  fix: bound retry command diagnostics (#11365)
  Disable thinking for tool call labels (#11207)
  fix(review): contain REVIEW.md discovery (#11367)
  fix(acp): preserve tool result audience metadata (#11375)
  test(providers): isolate environment-proxy test in its own binary (#11262)
  fix(security): bind Foundry API keys to request origin (#11347)
  fix: canonicalize mangled tool names before permission inspection (follow-up to #10230) (#10285)
  feat(providers): add Lynkr as a declarative OpenAI-compatible provider (#11372)
  fix: sanitize Pi imported output (#10990)
  fix(otel): honor RUST_LOG directives for logs (#11360)
  feat(skills): add web-search and browser-use built-in skills (#11233)
  feat(dictation): add model-native audio transcription provider (#10589)
  feat(aws_bedrock): route OpenAI GPT-5.6 (sol/terra/luna) via Bedrock … (#10502)
  refactor(goose-local-inference): move mlx deps under macos (#11328)
  feat(providers): add PleumRouter declarative provider (#10479)
jbg added a commit that referenced this pull request Aug 20, 2026
* origin/main: (50 commits)
  chore(deps): bump the ui-minor-and-patch group across 1 directory with 53 updates (#11386)
  fix(security): bound call graph traversal (#11193)
  fix: pin arrayref to known-good commit (#11389)
  feat(providers): add SayGM as declarative OpenAI-compatible provider (#11267)
  feat(providers): custom provider cost fields drive cost tracking (config-declared pricing fallback) (#11220)
  fix(deps): repair dangling syn reference in Cargo.lock (#11385)
  fix(flake): add cudaforge hash for git dependency (#10910)
  feat: auto-focus chat input when user starts typing (#11184)
  fix(security): fail closed on invalid Codex ACP mode (#11362)
  fix(mcp): keep stdio extensions alive across worker exits (#10364)
  feat(ui): collapse scheduled job sessions into accordion in chat history (#11265)
  fix: bound retry command diagnostics (#11365)
  Disable thinking for tool call labels (#11207)
  fix(review): contain REVIEW.md discovery (#11367)
  fix(acp): preserve tool result audience metadata (#11375)
  test(providers): isolate environment-proxy test in its own binary (#11262)
  fix(security): bind Foundry API keys to request origin (#11347)
  fix: canonicalize mangled tool names before permission inspection (follow-up to #10230) (#10285)
  feat(providers): add Lynkr as a declarative OpenAI-compatible provider (#11372)
  fix: sanitize Pi imported output (#10990)
  ...

# Conflicts:
#	crates/goose/src/agents/state_machine/tests/hooks_lifecycle.rs
jbg added a commit that referenced this pull request Aug 20, 2026
* origin/main: (59 commits)
  chore(deps): bump the ui-minor-and-patch group across 1 directory with 53 updates (#11386)
  fix(security): bound call graph traversal (#11193)
  fix: pin arrayref to known-good commit (#11389)
  feat(providers): add SayGM as declarative OpenAI-compatible provider (#11267)
  feat(providers): custom provider cost fields drive cost tracking (config-declared pricing fallback) (#11220)
  fix(deps): repair dangling syn reference in Cargo.lock (#11385)
  fix(flake): add cudaforge hash for git dependency (#10910)
  feat: auto-focus chat input when user starts typing (#11184)
  fix(security): fail closed on invalid Codex ACP mode (#11362)
  fix(mcp): keep stdio extensions alive across worker exits (#10364)
  feat(ui): collapse scheduled job sessions into accordion in chat history (#11265)
  fix: bound retry command diagnostics (#11365)
  Disable thinking for tool call labels (#11207)
  fix(review): contain REVIEW.md discovery (#11367)
  fix(acp): preserve tool result audience metadata (#11375)
  test(providers): isolate environment-proxy test in its own binary (#11262)
  fix(security): bind Foundry API keys to request origin (#11347)
  fix: canonicalize mangled tool names before permission inspection (follow-up to #10230) (#10285)
  feat(providers): add Lynkr as a declarative OpenAI-compatible provider (#11372)
  fix: sanitize Pi imported output (#10990)
  ...
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.

Tool-call label generation inherits the session's thinking effort, so a reasoning model deliberates over every 3-8 word title

2 participants