openclaw - 💡(How to fix) Fix [Bug]: Custom-named providers reusing bundled api adapters (Azure Foundry) silently lose models on 2026.4.29 [1 comments, 2 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
openclaw/openclaw#76103Fetched 2026-05-03 04:42:18
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
2
Author
Timeline (top)
closed ×1commented ×1unsubscribed ×1

Custom-named provider entries in models.providers that reuse bundled api adapters (e.g. openai-responses, openai-completions, anthropic-messages) silently stop returning models after upgrading from 2026.4.262026.4.29. Rolling back to 2026.4.26 restores them with no other changes.

The pattern affects deployments that put multiple Azure AI Foundry routes (Anthropic via Foundry, OpenAI Responses via Foundry, Kimi via Foundry, projects-scoped OpenAI via Foundry) behind their own provider IDs to share an Azure resource and key.

Root Cause

Custom-named provider entries in models.providers that reuse bundled api adapters (e.g. openai-responses, openai-completions, anthropic-messages) silently stop returning models after upgrading from 2026.4.262026.4.29. Rolling back to 2026.4.26 restores them with no other changes.

The pattern affects deployments that put multiple Azure AI Foundry routes (Anthropic via Foundry, OpenAI Responses via Foundry, Kimi via Foundry, projects-scoped OpenAI via Foundry) behind their own provider IDs to share an Azure resource and key.

Fix Action

Workaround

Pin to 2026.4.26:

npm install -g [email protected]

Code Example

{
  "models": {
    "providers": {
      "anthropic-foundry": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com/anthropic/v1",
        "apiKey": { "source": "file", "provider": "filemain", "id": "/providers/anthropic-foundry/apiKey" },
        "auth": "api-key",
        "api": "anthropic-messages",
        "models": [ { "id": "claude-sonnet-4-6", "api": "anthropic-messages", "input": ["text","image"] } ]
      },
      "pmi-openai": {
        "baseUrl": "https://<tenant>-foundry-ai.openai.azure.com/openai/v1/",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-responses",
        "models": [ { "id": "gpt-5.4-pro", "api": "openai-responses", "input": ["text","image"] } ]
      },
      "pmi-foundry-project": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com/api/projects/<project>/openai/v1/",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-responses",
        "models": [ { "id": "gpt-5.5-1", "api": "openai-responses" } ]
      },
      "kimi-foundry": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-completions",
        "models": [ { "id": "Kimi-K2.6-1", "api": "openai-completions" } ]
      }
    }
  }
}

---

$ openclaw models list --provider anthropic-foundry | head
anthropic-foundry/claude-sonnet-4-6   text+image  195k  no  yes  default,configured,alias:az-sonnet-4-6
anthropic-foundry/claude-opus-4-7     text+image  977k  no  yes  configured,alias:az-opus-4-7
...

---

$ openclaw models list --provider anthropic-foundry
$ openclaw models list --provider pmi-openai
$ openclaw models list --provider pmi-foundry-project
$ openclaw models list --provider kimi-foundry

---

npm install -g openclaw@2026.4.26
RAW_BUFFERClick to expand / collapse

Summary

Custom-named provider entries in models.providers that reuse bundled api adapters (e.g. openai-responses, openai-completions, anthropic-messages) silently stop returning models after upgrading from 2026.4.262026.4.29. Rolling back to 2026.4.26 restores them with no other changes.

The pattern affects deployments that put multiple Azure AI Foundry routes (Anthropic via Foundry, OpenAI Responses via Foundry, Kimi via Foundry, projects-scoped OpenAI via Foundry) behind their own provider IDs to share an Azure resource and key.

Reproduction

Provider config (abridged) that works on 2026.4.26 and fails on 2026.4.29:

{
  "models": {
    "providers": {
      "anthropic-foundry": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com/anthropic/v1",
        "apiKey": { "source": "file", "provider": "filemain", "id": "/providers/anthropic-foundry/apiKey" },
        "auth": "api-key",
        "api": "anthropic-messages",
        "models": [ { "id": "claude-sonnet-4-6", "api": "anthropic-messages", "input": ["text","image"] } ]
      },
      "pmi-openai": {
        "baseUrl": "https://<tenant>-foundry-ai.openai.azure.com/openai/v1/",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-responses",
        "models": [ { "id": "gpt-5.4-pro", "api": "openai-responses", "input": ["text","image"] } ]
      },
      "pmi-foundry-project": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com/api/projects/<project>/openai/v1/",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-responses",
        "models": [ { "id": "gpt-5.5-1", "api": "openai-responses" } ]
      },
      "kimi-foundry": {
        "baseUrl": "https://<tenant>-foundry-ai.services.ai.azure.com",
        "apiKey": "<inline-azure-key>",
        "auth": "api-key",
        "api": "openai-completions",
        "models": [ { "id": "Kimi-K2.6-1", "api": "openai-completions" } ]
      }
    }
  }
}

On 2026.4.26:

$ openclaw models list --provider anthropic-foundry | head
anthropic-foundry/claude-sonnet-4-6   text+image  195k  no  yes  default,configured,alias:az-sonnet-4-6
anthropic-foundry/claude-opus-4-7     text+image  977k  no  yes  configured,alias:az-opus-4-7
...

After upgrading to 2026.4.29 (no other config changes):

$ openclaw models list --provider anthropic-foundry
$ openclaw models list --provider pmi-openai
$ openclaw models list --provider pmi-foundry-project
$ openclaw models list --provider kimi-foundry

All four return zero rows. Sessions defaulting to those models start failing with empty responses / model-resolution errors. Downgrading back to 2026.4.26 restores all four immediately.

Expected

Custom-named provider entries with a known bundled api value (openai-responses, openai-completions, anthropic-messages) should keep activating the corresponding bundled adapter regardless of provider ID.

Suspected cause (from changelog scan)

Two 2026.4.29 entries land on this pattern:

  • #74307"Plugins/runtime-deps: include bundled provider plugins when models.providers, auth profiles, agent defaults, or subagent model refs configure that provider, while keeping inactive default-enabled provider plugins out of doctor repair." Reads as if the inclusion check matches by provider ID. Custom IDs like pmi-openai, kimi-foundry, pmi-foundry-project don't match any bundled plugin ID, so the bundled openai-responses / openai-completions / anthropic-messages adapters never get pulled in.

  • #74423"Models/UI: hide unauthenticated providers from the default Web chat, /models, and model setup pickers..." Inline apiKey: "<string>" may not be detected as authenticated under the new rule, even though the provider works at the HTTP layer.

The 4.27 manifest-first catalog migration probably set the conditions that 4.29 made breaking.

Open questions

  1. For custom-named providers reusing bundled api adapters, should the bundled plugin activation check fall back to matching by api field when the provider ID is not a bundled ID?
  2. Is inline apiKey: "<string>" still a supported "authenticated" shape for the 4.29 picker hide rule (#74423), or does it now require SecretRef + auth-profile?
  3. What's the recommended config pattern for Azure AI Foundry deployments that need multiple provider IDs (Anthropic + OpenAI Responses + OpenAI completions + Kimi) behind one Azure resource? A documented example would prevent this whole class of breakage.

Workaround

Pin to 2026.4.26:

npm install -g [email protected]

Environment

  • OpenClaw: was on 2026.4.29, currently 2026.4.26 (be8c246)
  • Node: v22.17.1
  • macOS Darwin 24.6.0 (x64)
  • Install: global npm

Related

  • #74307 (bundled provider plugin inclusion)
  • #74423 (hide unauthenticated providers)
  • #60546 (microsoft-foundry routing — different but adjacent)

extent analysis

TL;DR

The most likely fix is to update the custom-named provider configuration to match the expected authentication and plugin inclusion changes introduced in version 2026.4.29.

Guidance

  1. Review authentication configuration: Verify that the apiKey field in the provider configuration is correctly set and recognized as an authenticated shape by the 2026.4.29 version.
  2. Check plugin inclusion: Ensure that the bundled provider plugins are included when using custom-named providers with known api values.
  3. Consult documentation: Look for updated documentation on the recommended configuration pattern for Azure AI Foundry deployments with multiple provider IDs.
  4. Test with updated configuration: Apply the necessary configuration changes and test the setup to ensure that the custom-named providers are working as expected.

Example

No code snippet is provided as the issue is related to configuration and version changes.

Notes

The issue seems to be related to changes in the 2026.4.29 version, specifically with regards to plugin inclusion and authentication. The provided workaround of pinning to 2026.4.26 may not be a long-term solution.

Recommendation

Apply workaround: Pin to 2026.4.26 until a more permanent solution is found, as the current configuration is not compatible with the changes introduced in 2026.4.29.

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