hermes - 💡(How to fix) Fix Title: HTTP 400 on Fireworks custom endpoint — first turn only, fallback succeeds [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#17986Fetched 2026-05-01 05:54:35
View on GitHub
Comments
1
Participants
1
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
labeled ×3commented ×1
RAW_BUFFERClick to expand / collapse

Hermes version: v0.11.0 (2026.4.23) Provider: custom endpoint — https://api.fireworks.ai/inference/v1 Models: accounts/fireworks/models/deepseek-v3p2, accounts/fireworks/models/minimax-m2p5

Behavior:

  • First message in every new session → HTTP 400 from Fireworks, instant fallback
  • Fallback model succeeds on same turn
  • Second+ messages in same session work fine via fallback
  • Direct curl to same endpoint with same model works perfectly
  • Happens with fresh sessions, no conversation history

Question for devs: What fields does Hermes add to the request body on session initialization (turn 1) that are NOT present on fallback retries? Specifically:

  • Is stream_options sent on turn 1?
  • Is a user field with session ID injected?
  • Are any non-standard headers added on initialization?
  • Does SOUL.md injection affect the system prompt format in a way that strict endpoints reject?

Fireworks support ticket also open on their side.

extent analysis

TL;DR

The issue may be caused by Hermes adding specific fields to the request body on session initialization that are not present on fallback retries, and verifying these differences is the first step to resolving the problem.

Guidance

  • Investigate the request body differences between the initial message and fallback retries, focusing on fields like stream_options, user, and non-standard headers.
  • Check the Hermes documentation to confirm if stream_options is sent on turn 1 and if a user field with session ID is injected.
  • Compare the system prompt format with and without SOUL.md injection to see if it affects the endpoint's acceptance.
  • Test the custom endpoint with the exact same request body and headers as the fallback retries to isolate the issue.

Example

No code snippet is provided as the issue lacks specific implementation details.

Notes

The root cause is uncertain without further information from Hermes or the custom endpoint. The Fireworks support ticket may provide additional insights.

Recommendation

Apply workaround: Modify the request body on session initialization to match the fallback retries, potentially by removing or modifying the suspected fields, to test if this resolves the HTTP 400 issue.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Title: HTTP 400 on Fireworks custom endpoint — first turn only, fallback succeeds [1 comments, 1 participants]