Bug Description
Hermes CLI has a design flaw: commands like hermes model and hermes gateway stop require API calls. When you're out of balance (HTTP 402), you can't even reconfigure or stop the service. Deadlock.
Configuration commands should work offline, period.
$ hermes gateway stop
────────────────────────────────────────
⚠️ API call failed (attempt 1/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
⚠️ API call failed (attempt 3/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⚠️ Max retries (3) exhausted — trying fallback...
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance
Steps to Reproduce
hermes config set model.provider deepseek
hermes config set model.default deepseek-chat
hermes config set DEEPSEEK_API_KEY sk-xxxxx # key with $0 balance
hermes model
...
Expected Behavior
The CLI commands should have worked locally without making any API calls, allowing me to reconfigure or stop the service regardless of my account balance.
Actual Behavior
API call failed (attempt 1/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
⚠️ API call failed (attempt 3/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⚠️ Max retries (3) exhausted — trying fallback...
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance
Affected Component
CLI (interactive chat)
Messaging Platform (if gateway-related)
No response
Debug Report
hermes debug share
────────────────────────────────────────
⚠️ API call failed (attempt 1/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.4s (attempt 2/3)...
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.5s (attempt 3/3)...
Operating System
Ubuntu24.04
Python Version
No response
Hermes Version
0.13.0
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
No response
Are you willing to submit a PR for this?
Bug Description
Hermes CLI has a design flaw: commands like
hermes modelandhermes gateway stoprequire API calls. When you're out of balance (HTTP 402), you can't even reconfigure or stop the service. Deadlock.Configuration commands should work offline, period.
$ hermes gateway stop
────────────────────────────────────────
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance
Steps to Reproduce
hermes config set model.provider deepseek
hermes config set model.default deepseek-chat
hermes config set DEEPSEEK_API_KEY sk-xxxxx # key with $0 balance
hermes model
...
Expected Behavior
The CLI commands should have worked locally without making any API calls, allowing me to reconfigure or stop the service regardless of my account balance.
Actual Behavior
API call failed (attempt 1/3): APIStatusError [HTTP 402]
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
⚠️ API call failed (attempt 3/3): APIStatusError [HTTP 402]
⚠️ Max retries (3) exhausted — trying fallback...
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance
Affected Component
CLI (interactive chat)
Messaging Platform (if gateway-related)
No response
Debug Report
hermes debug share ──────────────────────────────────────── ⚠️ API call failed (attempt 1/3): APIStatusError [HTTP 402] 🔌 Provider: deepseek Model: deepseek-chat 🌐 Endpoint: https://api.deepseek.com/v1 📝 Error: HTTP 402: Insufficient Balance 📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'} ⏱️ Rate limited. Waiting 2.4s (attempt 2/3)... ⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402] 🔌 Provider: deepseek Model: deepseek-chat 🌐 Endpoint: https://api.deepseek.com/v1 📝 Error: HTTP 402: Insufficient Balance 📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'} ⏱️ Rate limited. Waiting 5.5s (attempt 3/3)...Operating System
Ubuntu24.04
Python Version
No response
Hermes Version
0.13.0
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
No response
Are you willing to submit a PR for this?