Skip to content

[Bug]: Model ID resolution discrepancy: Documentation suggests provider/model format but NVIDIA NIM requires bare model ID #38256

@cyberic68

Description

@cyberic68

Bug type

Behavior bug (incorrect output/state without crash)

Summary

According to the official OpenClaw documentation for Model Providers and NVIDIA Provider, the recommended format for referencing models in agents.defaults.model.primary is provider/model-id (e.g., nvidia/moonshotai/kimi-k2.5).

However, in practice with OpenClaw 2026.3.2 (build 85377a2), using the qualified format nvidia/moonshotai/kimi-k2.5 results in HTTP 404 errors from the NVIDIA API, while using the bare model ID moonshotai/kimi-k2.5 works correctly.

Environment
OpenClaw Version: 2026.3.2 (commit 85377a2)
Provider: NVIDIA NIM (integrate.api.nvidia.com)
Model: moonshotai/kimi-k2.5 (and others like qwen/qwen2.5)
API Type: openai-completions

Steps to reproduce

  1. Configure OpenClaw with NVIDIA provider following official docs:

{
"models": {
"providers": {
"nvidia": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "moonshotai/kimi-k2.5",
"name": "Kimi K2.5"
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "nvidia/moonshotai/kimi-k2.5",
"fallbacks": ["nvidia/qwen/qwen2.5"]
}
}
}
}

  1. Run any chat completion request
  2. Observe 404 errors in logs
  3. Change primary to "moonshotai/kimi-k2.5" (without prefix)
  4. Observe successful requests

Expected behavior

Expected Behavior

According to documentation, primary: "nvidia/moonshotai/kimi-k2.5" should:

  1. Resolve to the NVIDIA provider
  2. Strip the nvidia/ prefix before sending to API
  3. Send "model": "moonshotai/kimi-k2.5" to NVIDIA NIM endpoint

Actual behavior

Actual Behavior

With primary: "nvidia/moonshotai/kimi-k2.5", the system appears to send "model": "nvidia/moonshotai/kimi-k2.5" to the NVIDIA API, causing:

HTTP 404: 404 page not found

With prefix (fails):

05:20:41 error ... error=HTTP 404: 404 page not found

Without prefix (succeeds):

06:27:46 info gateway {"subsystem":"gateway"} agent model: moonshotai/kimi-k2.5
06:27:46 info gateway {"subsystem":"gateway"} listening on ws://127.0.0.1:18789

OpenClaw version

2026.3.2

Operating system

Ubuntu 2024.04 Server

Install method

npm global

Logs, screenshots, and evidence

Verification
Direct API call to confirm NVIDIA expects bare ID:

curl https://integrate.api.nvidia.com/v1/chat/completions \
  -H "Authorization: Bearer $NVIDIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moonshotai/kimi-k2.5",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
# Returns 200 OK with model: moonshotai/kimi-k2.5

Impact and severity

Severity: Low

Workaround needs to be applied

Additional information

Suggested Fix
Either:

  1. Documentation Update: Clarify that for NVIDIA NIM provider, the primary field should use bare model IDs, not provider/model format
  2. Code Fix: Ensure the NVIDIA provider automatically strips the provider prefix before API calls, or add configuration options like modelIdStrip or stripProviderPrefix (currently undocumented if they exist)

Additional Context

The openclaw models list output shows models with their bare IDs
This affects all NVIDIA NIM models (not just Kimi K2.5)
Fallback chain behavior is also affected (e.g., nvidia/qwen/qwen2.5 vs qwen/qwen2.5)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions