# NousResearch/hermes-agent · Gemini thought_signature missing or mishandled in tool calls

## Open now

- 1 issue, 2 PRs open on GitHub.
- #66587: \[Bug\]: HTTP 400: Gemini HTTP 400 (INVALID_ARGUMENT): Function call is missing  thought_signature in functionCall parts.
- PR #104345: fix(chat-completions): inject thought_signature sentinel for Gemini targets
- PR #124090: fix(gemini): gate tool call thought signatures on Gemini 3+ models

Multiple bug reports and fix attempts centered on Gemini's thought_signature field being absent, dropped, or mishandled during streaming, tool calls, and multi-agent (MoA) aggregator scenarios. The cluster covers detection of the problem across different contexts and various proposed or attempted remediation approaches.

## TL;DR

- 12 member(s): 1 open issue(s), 4 closed issue(s), 2 open PR(s), 1 merged PR(s), 4 PR(s) closed without merging.
- A fix was merged to main in PR #70280. Verify it addresses your case.
- **Recommended:** read PR #70280 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `partially_resolved` · deciding PR(s): `pr-70280`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.16`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #66587: \[Bug\]: HTTP 400: Gemini HTTP 400 (INVALID_ARGUMENT): Function call is missing  thought_signature in functionCall parts.

## Closed / duplicate issues

- #14488: \[Bug\]: Gemini Model missing thought_signature
- #15054: google3+Error, making it unusable
- #65092: \[Bug\]: Gemini Model missing thought_signature as being an aggregator in MoA model
- #67725: fix(Gemini functionCall skip) silently transforms tool calls into text narrations - semantic degradation

## Prior & competing PRs

- **#70280: fix(moa): thought-signature integrity, stream close on interrupt, facade restore, advisor attribution (cluster salvage)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/agent_init.py`, `agent/agent_runtime_helpers.py`, `agent/auxiliary_client.py`, `agent/chat_completion_helpers.py`, `agent/conversation_loop.py`, `agent/gemini_native_adapter.py`, `agent/moa_loop.py`, `contributors/emails/[redacted:email]`, `tests/agent/test_gemini_native_adapter.py`, `tests/run_agent/test_moa_loop_mode.py`, `tests/run_agent/test_streaming.py`
- **#65127: fix(gemini): emit thoughtSignature sentinel for cross-provider/MoA tool calls in native adapter**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#15676`
- **#65294: fix(gemini): emit thoughtSignature sentinel for cross-provider/MoA tool calls (#65092)**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `74a56b76b08b`, `#70280`, `#15676`, `#66212`, `#65092`
- **#66212: fix(agent): preserve Gemini thought_signature in MoA aggregator mode**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `74a56b76b08b`, `#70280`, `#15676`, `#65092`
- **#104345: fix(chat-completions): inject thought_signature sentinel for Gemini targets**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `3d7071f651846c14bde8f51d3c3d1a25f90b849f`
  - files: `agent/chat_completion_helpers.py`, `agent/chat_completion_request_options.py`, `agent/transports/chat_completions.py`, `tests/agent/test_chat_completion_summary.py`, `tests/agent/transports/test_chat_completions.py`
- **#117927: fix(gemini): thought signature sentinel replay and parallel tool calls**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#124090: fix(gemini): gate tool call thought signatures on Gemini 3+ models**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `agent/gemini_native_adapter.py`, `tests/agent/test_gemini_native_adapter.py`

## Fix status

- Merged to main in PR #70280 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-07-24`.
- Subsystem: `agent`
