hermes - 💡(How to fix) Fix [Bug] Kimi provider (`kimi-for-coding`) fails with HTTP 400 temperature error — need per-model temperature override support [18 comments, 18 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#11765Fetched 2026-04-18 05:58:59
View on GitHub
Comments
18
Participants
18
Timeline
23
Reactions
4

Fix Action

Fix / Workaround

  • All API calls fail with HTTP 400

  • No config option to override temperature per provider/model

  • Attempting to patch auxiliary_client.py to force temperature=0.6 breaks other provider logic

  • This is a known Kimi API limitation — it hard-rejects any temperature value other than 0.6

  • Filed upstream issue: MoonshotAI/Kimi-K2#124

  • Other frameworks have hit the same issue: anomalyco/opencode#11134

  • Current workaround: switch to a different model (e.g., Xiaomi mimo-v2-pro), but this loses Kimi's coding capabilities

  • Do NOT patch auxiliary_client.py or run_agent.py — it causes cascading failures

Code Example

HTTP 400: invalid temperature: only 0.6 is allowed for this model

---

model:
     default: kimi-for-coding
     provider: kimi-coding

---

providers:
  kimi: |
    api: https://api.kimi.com/coding/v1
    temperature: 0.6   # per-provider override
    models:
      kimi-for-coding:
        temperature: 0.6   # or per-model override
RAW_BUFFERClick to expand / collapse

Bug Report

Describe the bug

When using the Kimi provider (kimi-coding) with model kimi-for-coding via https://api.kimi.com/coding/v1, all API calls fail with:

HTTP 400: invalid temperature: only 0.6 is allowed for this model

The Kimi API requires temperature: 0.6 for kimi-for-coding / kimi-k2.5 models, but there is currently no way to set a per-model or per-provider temperature override in the Hermes config. The framework sends its default temperature value, which gets rejected.

To Reproduce

  1. Configure Hermes with Kimi provider:
    model:
      default: kimi-for-coding
      provider: kimi-coding
  2. Start the gateway and send any message
  3. Gateway logs show repeated HTTP 400 errors

Expected behavior

Hermes should support per-provider or per-model temperature configuration so that providers with strict temperature requirements (like Kimi's 0.6) can work without code modifications.

Actual behavior

  • All API calls fail with HTTP 400
  • No config option to override temperature per provider/model
  • Attempting to patch auxiliary_client.py to force temperature=0.6 breaks other provider logic

Suggested Fix

Add a temperature field to the provider or model config:

providers:
  kimi: |
    api: https://api.kimi.com/coding/v1
    temperature: 0.6   # per-provider override
    models:
      kimi-for-coding:
        temperature: 0.6   # or per-model override

Or add a default_temperature option at the provider level that gets passed to all API calls for that provider.

Additional context

  • This is a known Kimi API limitation — it hard-rejects any temperature value other than 0.6
  • Filed upstream issue: MoonshotAI/Kimi-K2#124
  • Other frameworks have hit the same issue: anomalyco/opencode#11134
  • Current workaround: switch to a different model (e.g., Xiaomi mimo-v2-pro), but this loses Kimi's coding capabilities
  • Do NOT patch auxiliary_client.py or run_agent.py — it causes cascading failures

Environment

  • Hermes version: latest (as of 2026-04-18)
  • Provider: kimi-coding
  • Model: kimi-for-coding
  • Endpoint: https://api.kimi.com/coding/v1

extent analysis

TL;DR

Add a temperature field to the provider or model config to override the default temperature value for the Kimi provider.

Guidance

  • Verify that the Kimi API requires a temperature of 0.6 for the kimi-for-coding model by checking the API documentation or the error message.
  • Consider adding a temperature field to the provider config, as suggested in the issue, to set a per-provider temperature override.
  • Alternatively, add a default_temperature option at the provider level to pass a default temperature value to all API calls for that provider.
  • Test the configuration change by sending a message through the gateway and checking the logs for successful API calls.

Example

providers:
  kimi:
    api: https://api.kimi.com/coding/v1
    temperature: 0.6
    models:
      kimi-for-coding:
        temperature: 0.6

Notes

The suggested fix assumes that adding a temperature field to the provider or model config will allow the Hermes framework to pass the correct temperature value to the Kimi API. However, this may require additional changes to the framework's code to support the new config option.

Recommendation

Apply the workaround by adding a temperature field to the provider or model config, as this is the most straightforward solution to address the known Kimi API limitation.

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…

FAQ

Expected behavior

Hermes should support per-provider or per-model temperature configuration so that providers with strict temperature requirements (like Kimi's 0.6) can work without code modifications.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING