From aa796848a477114e38c2d1808b3db25ee4f3a6b9 Mon Sep 17 00:00:00 2001 From: Guillaume Gay Date: Wed, 23 Sep 2026 10:58:38 +0200 Subject: [PATCH] docs: M101 now means no model to route to --- errors.mdx | 2 +- errors/M100.mdx | 2 +- errors/M101.mdx | 24 ++++++++++++++++-------- errors/M102.mdx | 2 +- integrations/n8n.mdx | 2 +- llm-gateway/docs/errors.mdx | 2 +- llm-gateway/docs/errors/M100.mdx | 2 +- llm-gateway/docs/errors/M101.mdx | 24 ++++++++++++++++-------- llm-gateway/docs/errors/M102.mdx | 2 +- llm-gateway/docs/integrations/n8n.mdx | 2 +- llm-gateway/docs/self-hosted.mdx | 2 +- self-hosted.mdx | 2 +- 12 files changed, 42 insertions(+), 26 deletions(-) diff --git a/errors.mdx b/errors.mdx index ed08a4e..86837e4 100644 --- a/errors.mdx +++ b/errors.mdx @@ -38,7 +38,7 @@ Your harness key is fine, but provider credentials are missing or unusable. See | Code | What | |------|------| | [M100: Provider API key missing](/llm-gateway/docs/errors/M100) | Routing picked a provider you haven't connected | -| [M101: No providers configured](/llm-gateway/docs/errors/M101) | Harness has zero providers connected | +| [M101: No model to route to](/llm-gateway/docs/errors/M101) | Harness has no default model yet, or no provider connected | | [M102: Provider subscription credentials unusable](/llm-gateway/docs/errors/M102) | Subscription OAuth/token exists but cannot be refreshed | ## Limits (M200–M204) diff --git a/errors/M100.mdx b/errors/M100.mdx index 1b15f47..50cde02 100644 --- a/errors/M100.mdx +++ b/errors/M100.mdx @@ -29,7 +29,7 @@ Routing picked a provider that has no key on file for this harness. The gateway ## Related -- [M101: No providers configured](/llm-gateway/docs/errors/M101) +- [M101: No model to route to](/llm-gateway/docs/errors/M101) - [M102: Provider subscription credentials unusable](/llm-gateway/docs/errors/M102) - [M003: Invalid key format](/llm-gateway/docs/errors/M003) - [Routing](/llm-gateway/docs/llm-gateway) diff --git a/errors/M101.mdx b/errors/M101.mdx index 2308934..82a3253 100644 --- a/errors/M101.mdx +++ b/errors/M101.mdx @@ -1,29 +1,37 @@ --- -title: "M101: No providers configured" +title: "M101: No model to route to" sidebarTitle: "M101" -description: "M101 is returned when the authenticated harness has no providers configured." +description: "M101 is returned when the authenticated harness has no model it can route to: no default model picked yet, or no provider connected." icon: "plug-zap" keywords: - ["M101", "Manifest M101", "no providers configured", "first-time setup", "empty agent", "empty harness", "Manifest routing", "connect provider", "OpenRouter setup"] + ["M101", "Manifest M101", "no model to route to", "no default model", "no providers configured", "first-time setup", "empty harness", "Manifest routing", "connect provider", "OpenRouter setup"] canonical: "https://manifest.build/llm-gateway/docs/errors/M101" --- ## What you saw ```text -[🦚 Manifest M101] You're connected, but no providers are set up yet. Add one here: https://app.manifest.build/... +[🦚 Manifest M101] This harness has no model to route to yet. Pick a default model here: https://app.manifest.build/... See https://manifest.build/llm-gateway/docs/errors/M101 ``` +Earlier versions word it: "You're connected, but no providers are set up yet." + ## Why it happened -You'll usually see this on a fresh harness. Your key works, but no provider credentials are connected yet (OpenAI, Anthropic, OpenRouter, an Ollama instance, anything). +Your key works, but the harness has nothing to send the request to. On a fresh harness this usually means one of two things: + +- No default model is picked yet, even though providers are connected. +- No provider is connected at all (OpenAI, Anthropic, OpenRouter, an Ollama instance, anything). + +It also happens when the tier's model left your model list and no fallback is left. ## How to fix it -1. Open the dashboard link in the error message. -2. The page offers one card per connection type. Pick **Usage-based** to paste an API key, or **Subscriptions** to reuse a plan you already pay for. OpenRouter or OpenAI with an API key is the fastest path. -3. Retry the request. +1. Open the dashboard link in the error message. It goes to the harness's **Routing** page. +2. If no provider is connected, connect one from the **Providers** section: **Usage-based** to paste an API key, or **Subscriptions** to reuse a plan you already pay for. OpenRouter or OpenAI with an API key is the fastest path. +3. Pick a default model for the harness. +4. Retry the request. ## Related diff --git a/errors/M102.mdx b/errors/M102.mdx index 90b2271..bcc7735 100644 --- a/errors/M102.mdx +++ b/errors/M102.mdx @@ -51,7 +51,7 @@ When fallback routes are configured, the gateway records the M102 hop and contin ## Related - [M100: Provider API key missing](/llm-gateway/docs/errors/M100) -- [M101: No providers configured](/llm-gateway/docs/errors/M101) +- [M101: No model to route to](/llm-gateway/docs/errors/M101) - [Subscription-based providers](/llm-gateway/docs/providers/subscription-based-providers) - [API key providers](/llm-gateway/docs/providers/api-key-providers) - [Routing](/llm-gateway/docs/llm-gateway) diff --git a/integrations/n8n.mdx b/integrations/n8n.mdx index b8f28dc..4157094 100644 --- a/integrations/n8n.mdx +++ b/integrations/n8n.mdx @@ -124,4 +124,4 @@ Your routing decides whether the route answers with buffered JSON or a stream. T | Credential test fails with a connection error | n8n cannot reach the Base URL. See [Reaching a self-hosted instance](#reaching-a-self-hosted-instance-from-n8n). | | Credential test fails with `401` | The key is not a valid `mnfst_` harness key. Copy it again from the harness **Settings** page. | | Every call returns `404` | The Base URL ends in `/v1`. Remove it. | -| The model list shows only `auto`, or calls fail with [M100](/llm-gateway/docs/errors/M100) or [M101](/llm-gateway/docs/errors/M101) | No provider is connected to the harness yet. Connect one on the harness's **Providers** tab. | +| The model list shows only `auto`, or calls fail with [M100](/llm-gateway/docs/errors/M100) or [M101](/llm-gateway/docs/errors/M101) | No provider is connected yet, or no default model is picked. Connect one on the **Providers** tab, then pick a default model on **Routing**. | diff --git a/llm-gateway/docs/errors.mdx b/llm-gateway/docs/errors.mdx index ed08a4e..86837e4 100644 --- a/llm-gateway/docs/errors.mdx +++ b/llm-gateway/docs/errors.mdx @@ -38,7 +38,7 @@ Your harness key is fine, but provider credentials are missing or unusable. See | Code | What | |------|------| | [M100: Provider API key missing](/llm-gateway/docs/errors/M100) | Routing picked a provider you haven't connected | -| [M101: No providers configured](/llm-gateway/docs/errors/M101) | Harness has zero providers connected | +| [M101: No model to route to](/llm-gateway/docs/errors/M101) | Harness has no default model yet, or no provider connected | | [M102: Provider subscription credentials unusable](/llm-gateway/docs/errors/M102) | Subscription OAuth/token exists but cannot be refreshed | ## Limits (M200–M204) diff --git a/llm-gateway/docs/errors/M100.mdx b/llm-gateway/docs/errors/M100.mdx index 1b15f47..50cde02 100644 --- a/llm-gateway/docs/errors/M100.mdx +++ b/llm-gateway/docs/errors/M100.mdx @@ -29,7 +29,7 @@ Routing picked a provider that has no key on file for this harness. The gateway ## Related -- [M101: No providers configured](/llm-gateway/docs/errors/M101) +- [M101: No model to route to](/llm-gateway/docs/errors/M101) - [M102: Provider subscription credentials unusable](/llm-gateway/docs/errors/M102) - [M003: Invalid key format](/llm-gateway/docs/errors/M003) - [Routing](/llm-gateway/docs/llm-gateway) diff --git a/llm-gateway/docs/errors/M101.mdx b/llm-gateway/docs/errors/M101.mdx index 2308934..82a3253 100644 --- a/llm-gateway/docs/errors/M101.mdx +++ b/llm-gateway/docs/errors/M101.mdx @@ -1,29 +1,37 @@ --- -title: "M101: No providers configured" +title: "M101: No model to route to" sidebarTitle: "M101" -description: "M101 is returned when the authenticated harness has no providers configured." +description: "M101 is returned when the authenticated harness has no model it can route to: no default model picked yet, or no provider connected." icon: "plug-zap" keywords: - ["M101", "Manifest M101", "no providers configured", "first-time setup", "empty agent", "empty harness", "Manifest routing", "connect provider", "OpenRouter setup"] + ["M101", "Manifest M101", "no model to route to", "no default model", "no providers configured", "first-time setup", "empty harness", "Manifest routing", "connect provider", "OpenRouter setup"] canonical: "https://manifest.build/llm-gateway/docs/errors/M101" --- ## What you saw ```text -[🦚 Manifest M101] You're connected, but no providers are set up yet. Add one here: https://app.manifest.build/... +[🦚 Manifest M101] This harness has no model to route to yet. Pick a default model here: https://app.manifest.build/... See https://manifest.build/llm-gateway/docs/errors/M101 ``` +Earlier versions word it: "You're connected, but no providers are set up yet." + ## Why it happened -You'll usually see this on a fresh harness. Your key works, but no provider credentials are connected yet (OpenAI, Anthropic, OpenRouter, an Ollama instance, anything). +Your key works, but the harness has nothing to send the request to. On a fresh harness this usually means one of two things: + +- No default model is picked yet, even though providers are connected. +- No provider is connected at all (OpenAI, Anthropic, OpenRouter, an Ollama instance, anything). + +It also happens when the tier's model left your model list and no fallback is left. ## How to fix it -1. Open the dashboard link in the error message. -2. The page offers one card per connection type. Pick **Usage-based** to paste an API key, or **Subscriptions** to reuse a plan you already pay for. OpenRouter or OpenAI with an API key is the fastest path. -3. Retry the request. +1. Open the dashboard link in the error message. It goes to the harness's **Routing** page. +2. If no provider is connected, connect one from the **Providers** section: **Usage-based** to paste an API key, or **Subscriptions** to reuse a plan you already pay for. OpenRouter or OpenAI with an API key is the fastest path. +3. Pick a default model for the harness. +4. Retry the request. ## Related diff --git a/llm-gateway/docs/errors/M102.mdx b/llm-gateway/docs/errors/M102.mdx index 90b2271..bcc7735 100644 --- a/llm-gateway/docs/errors/M102.mdx +++ b/llm-gateway/docs/errors/M102.mdx @@ -51,7 +51,7 @@ When fallback routes are configured, the gateway records the M102 hop and contin ## Related - [M100: Provider API key missing](/llm-gateway/docs/errors/M100) -- [M101: No providers configured](/llm-gateway/docs/errors/M101) +- [M101: No model to route to](/llm-gateway/docs/errors/M101) - [Subscription-based providers](/llm-gateway/docs/providers/subscription-based-providers) - [API key providers](/llm-gateway/docs/providers/api-key-providers) - [Routing](/llm-gateway/docs/llm-gateway) diff --git a/llm-gateway/docs/integrations/n8n.mdx b/llm-gateway/docs/integrations/n8n.mdx index b8f28dc..4157094 100644 --- a/llm-gateway/docs/integrations/n8n.mdx +++ b/llm-gateway/docs/integrations/n8n.mdx @@ -124,4 +124,4 @@ Your routing decides whether the route answers with buffered JSON or a stream. T | Credential test fails with a connection error | n8n cannot reach the Base URL. See [Reaching a self-hosted instance](#reaching-a-self-hosted-instance-from-n8n). | | Credential test fails with `401` | The key is not a valid `mnfst_` harness key. Copy it again from the harness **Settings** page. | | Every call returns `404` | The Base URL ends in `/v1`. Remove it. | -| The model list shows only `auto`, or calls fail with [M100](/llm-gateway/docs/errors/M100) or [M101](/llm-gateway/docs/errors/M101) | No provider is connected to the harness yet. Connect one on the harness's **Providers** tab. | +| The model list shows only `auto`, or calls fail with [M100](/llm-gateway/docs/errors/M100) or [M101](/llm-gateway/docs/errors/M101) | No provider is connected yet, or no default model is picked. Connect one on the **Providers** tab, then pick a default model on **Routing**. | diff --git a/llm-gateway/docs/self-hosted.mdx b/llm-gateway/docs/self-hosted.mdx index af0dd2c..2546a0f 100644 --- a/llm-gateway/docs/self-hosted.mdx +++ b/llm-gateway/docs/self-hosted.mdx @@ -166,7 +166,7 @@ You can also do all of this from the terminal. See the [CLI](/llm-gateway/docs/c | --- | --- | | `M003` | The token isn't a harness key — it doesn't start with `mnfst_` | | `M005` | Well-formed key, but this instance doesn't know it. Copying the literal `mnfst_YOUR_KEY_HERE` above gets you this — replace it with the real key | - | `M101` | The key is fine; no provider is connected yet | + | `M101` | The key is fine; no default model is picked yet, or no provider is connected | | `M100` | Routing picked a provider that has no API key on file | diff --git a/self-hosted.mdx b/self-hosted.mdx index af0dd2c..2546a0f 100644 --- a/self-hosted.mdx +++ b/self-hosted.mdx @@ -166,7 +166,7 @@ You can also do all of this from the terminal. See the [CLI](/llm-gateway/docs/c | --- | --- | | `M003` | The token isn't a harness key — it doesn't start with `mnfst_` | | `M005` | Well-formed key, but this instance doesn't know it. Copying the literal `mnfst_YOUR_KEY_HERE` above gets you this — replace it with the real key | - | `M101` | The key is fine; no provider is connected yet | + | `M101` | The key is fine; no default model is picked yet, or no provider is connected | | `M100` | Routing picked a provider that has no API key on file |