Skip to content

Conversation

@rabi
Copy link
Contributor

@rabi rabi commented Jan 26, 2026

Summary

Text with thoughtSignature was converted to MessageContent::Text, losing the signature. When this message was later sent back to Gemini, it caused 400 errors: "content block missing a thought_signature".

The error was intermittent because it only occurred when:

  • The response included thinking text with a signature
  • That thinking content was still in recent conversation history

Now text with thoughtSignature is converted to MessageContent::Thinking, preserving the signature for when the message is sent back to Gemini.

Type of Change

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

Testing

Tested locally with gemini-3-pro

Text with thoughtSignature was converted to MessageContent::Text,
losing the signature. When this message was later sent back to Gemini,
it caused 400 errors: "content block missing a thought_signature".

The error was intermittent because it only occurred when:
- The response included thinking text with a signature
- That thinking content was still in recent conversation history

Now text with thoughtSignature is converted to MessageContent::Thinking,
preserving the signature for when the message is sent back to Gemini.

Change-Id: Ie6cf0b99c8e009971e2b21abfdcfb7aca7ebfd44
Signed-off-by: rabi <[email protected]>
Copy link
Collaborator

@katzdave katzdave left a comment

Choose a reason for hiding this comment

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

Thanks for the fix!

@DOsinga DOsinga merged commit e4938c6 into block:main Jan 28, 2026
16 checks passed
lifeizhou-ap added a commit that referenced this pull request Jan 28, 2026
* main: (47 commits)
  Upgrade error handling (#6747)
  Fix/filter audience 6703 local (#6773)
  chore: re-sync package-lock.json (#6783)
  upgrade electron to 39.3.0 (#6779)
  allow skipping providers in test_providers.sh (#6778)
  fix: enable custom model entry for OpenRouter provider (#6761)
  Remove codex skills flag support (#6775)
  Improve mcp test (#6671)
  Feat/anthropic custom headers (#6774)
  Fix/GitHub copilot error handling 5845 (#6771)
  fix(ui): respect width parameter in MCP app size-changed notifications (#6376)
  fix: address compilation issue in main (#6776)
  Upgrade GitHub Actions for Node 24 compatibility (#6699)
  fix(google): preserve thought signatures in streaming responses (#6708)
  added reduce motion support for css animations and streaming text (#6551)
  fix: Re-enable subagents for Gemini models (#6513)
  fix(google): use parametersJsonSchema for full JSON Schema support (#6555)
  fix: respect GOOSE_CLI_MIN_PRIORITY for shell streaming output (#6558)
  feat: add requires_auth flag for custom providers without authentication (#6705)
  fix: normalize extension names consistently in ExtensionManager (#6529)
  ...
michaelneale added a commit that referenced this pull request Jan 29, 2026
* main: (30 commits)
  Different approach to determining final confidence level of prompt injection evaluation outcomes (#6729)
  fix: read_resource_tool deadlock causing test_compaction to hang (#6737)
  Upgrade error handling (#6747)
  Fix/filter audience 6703 local (#6773)
  chore: re-sync package-lock.json (#6783)
  upgrade electron to 39.3.0 (#6779)
  allow skipping providers in test_providers.sh (#6778)
  fix: enable custom model entry for OpenRouter provider (#6761)
  Remove codex skills flag support (#6775)
  Improve mcp test (#6671)
  Feat/anthropic custom headers (#6774)
  Fix/GitHub copilot error handling 5845 (#6771)
  fix(ui): respect width parameter in MCP app size-changed notifications (#6376)
  fix: address compilation issue in main (#6776)
  Upgrade GitHub Actions for Node 24 compatibility (#6699)
  fix(google): preserve thought signatures in streaming responses (#6708)
  added reduce motion support for css animations and streaming text (#6551)
  fix: Re-enable subagents for Gemini models (#6513)
  fix(google): use parametersJsonSchema for full JSON Schema support (#6555)
  fix: respect GOOSE_CLI_MIN_PRIORITY for shell streaming output (#6558)
  ...
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.

3 participants