Description
The Hermes Dashboard chat feature (port 9119) fails with "Chat unavailable: 1" and "No API key configured for provider 'custom'. First message will fail." when running inside a NemoClaw sandbox.
NemoClaw configures Hermes with provider: custom, base_url: https://inference.local/v1, and api_key: sk-OPENSHELL-PROXY-REWRITE. This is the OpenShell gateway proxy route that transparently forwards inference to the real provider (e.g. nvidia-prod). The Hermes gateway API on port 8642 works correctly through this proxy — chat completions succeed. However, the Dashboard frontend does not recognize this proxy setup and reports no API key configured.
Reproduced on both Brev (Ubuntu 22.04) and macOS local environments.
Environment
Device: Brev n2d-standard-4 + macOS local
OS: Ubuntu 22.04.5 LTS / macOS
Architecture: x86_64 / arm64
Node.js: v22.22.2
npm: 10.9.7
Docker: 29.1.3
OpenShell CLI: 0.0.44
NemoClaw: v0.0.58
Hermes Agent: v0.14.0 (2026.5.16)
Steps to Reproduce
- Install NemoClaw v0.0.58
- Onboard with Hermes agent:
nemoclaw onboard --agent hermes
- Start Hermes dashboard:
nemoclaw hermes exec -- hermes dashboard --no-open --skip-build
- Open dashboard in browser (http://127.0.0.1:9119)
- Click CHAT in the sidebar
- Observe "Chat unavailable: 1" and "No API key configured for provider 'custom'"
Expected Result
Dashboard chat uses the same OpenShell proxy inference route as the Hermes gateway API (port 8642) and allows interactive chat. The gateway API works correctly — chat completions via curl to http://127.0.0.1:8642/v1/chat/completions return valid responses.
Actual Result
Dashboard chat page shows:
- MODEL:
claude-opus-4-7~ (or nvidia/nemotron-3-super-120b-a12b depending on config)
- "Chat unavailable: 1"
- "No API key configured for provider 'custom'. First message will fail."
The Hermes config.yaml shows:
model:
provider: custom
base_url: "https://inference.local/v1"
api_key: sk-OPENSHELL-PROXY-REWRITE
The api_key IS set (sk-OPENSHELL-PROXY-REWRITE) but the dashboard frontend does not read or recognize it. The inference.local proxy route works for the gateway API but not for the dashboard chat.
Logs
Not captured — the error is displayed in the dashboard frontend UI, not in server logs.
NVB#6268252
Description
The Hermes Dashboard chat feature (port 9119) fails with "Chat unavailable: 1" and "No API key configured for provider 'custom'. First message will fail." when running inside a NemoClaw sandbox.
NemoClaw configures Hermes with
provider: custom,base_url: https://inference.local/v1, andapi_key: sk-OPENSHELL-PROXY-REWRITE. This is the OpenShell gateway proxy route that transparently forwards inference to the real provider (e.g. nvidia-prod). The Hermes gateway API on port 8642 works correctly through this proxy — chat completions succeed. However, the Dashboard frontend does not recognize this proxy setup and reports no API key configured.Reproduced on both Brev (Ubuntu 22.04) and macOS local environments.
Environment
Steps to Reproduce
nemoclaw onboard --agent hermesnemoclaw hermes exec -- hermes dashboard --no-open --skip-buildExpected Result
Dashboard chat uses the same OpenShell proxy inference route as the Hermes gateway API (port 8642) and allows interactive chat. The gateway API works correctly — chat completions via curl to
http://127.0.0.1:8642/v1/chat/completionsreturn valid responses.Actual Result
Dashboard chat page shows:
claude-opus-4-7~(ornvidia/nemotron-3-super-120b-a12bdepending on config)The Hermes
config.yamlshows:The
api_keyIS set (sk-OPENSHELL-PROXY-REWRITE) but the dashboard frontend does not read or recognize it. Theinference.localproxy route works for the gateway API but not for the dashboard chat.Logs
Not captured — the error is displayed in the dashboard frontend UI, not in server logs.
NVB#6268252