hermes - 💡(How to fix) Fix Feature: Add config option to suppress API retry warnings in terminal

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…

Error Message

⚠️ API call failed (attempt 1/3): APIStatusError [HTTP 200] 🔌 Provider: custom Model: glm-5.1 🌐 Endpoint: https://open.bigmodel.cn/api/anthropic 📝 Error: HTTP 200: 该模型当前访问量过大,请您稍后再试 📋 Details: {…} ⏳ Retrying in 2.4s (attempt 1/3)...

Code Example

⚠️  API call failed (attempt 1/3): APIStatusError [HTTP 200]
   🔌 Provider: custom  Model: glm-5.1
   🌐 Endpoint: https://open.bigmodel.cn/api/anthropic
   📝 Error: HTTP 200: 该模型当前访问量过大,请您稍后再试
   📋 Details: {}
Retrying in 2.4s (attempt 1/3)...

---

# ~/.hermes/config.yaml
agent:
  suppress_retry_warnings: true   # default: false
RAW_BUFFERClick to expand / collapse

Problem

When the API provider returns transient errors (rate limits, overload, etc.), Hermes prints detailed retry warnings to the terminal that cannot be disabled:

⚠️  API call failed (attempt 1/3): APIStatusError [HTTP 200]
   🔌 Provider: custom  Model: glm-5.1
   🌐 Endpoint: https://open.bigmodel.cn/api/anthropic
   📝 Error: HTTP 200: 该模型当前访问量过大,请您稍后再试
   📋 Details: {…}
⏳ Retrying in 2.4s (attempt 1/3)...

These messages are emitted via _vprint(..., force=True) in run_agent.py (lines ~13418-13427 and ~14031), which bypasses the verbose config flag entirely. This is fine for debugging but creates visual noise during normal usage — the user knows retries happen and does not need to see every attempt.

For users of custom/self-hosted providers that have frequent transient load spikes (e.g., GLM/ZhipuAI), these messages appear constantly and are disruptive.

Proposed Solution

Add a config option to suppress non-critical API retry output:

# ~/.hermes/config.yaml
agent:
  suppress_retry_warnings: true   # default: false

When enabled:

  • _vprint calls for retry attempts (lines ~13418-13427, ~14031) would check this flag and skip output
  • The logger.warning() calls (lines ~13405-13411, ~14032-14038) would still fire — logging is unaffected
  • Critical errors (final exhaustion of retries, auth failures) should still print regardless

This preserves the current behavior by default while giving users control over terminal verbosity.

Alternatives Considered

  1. Use verbose: false — Already set, but _vprint(force=True) ignores it
  2. Use quiet_mode — Suppresses too much; user still wants to see other status output
  3. Log level filtering — The logger.warning in the log file is fine; the issue is specifically the terminal _vprint

Environment

  • Hermes Agent: v0.13.0
  • Provider: custom (ZhipuAI GLM via Anthropic-compatible endpoint)
  • Platform: macOS CLI

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