17:55:48 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=2 error="Error: Unknown model: google-vertex/deepseek-v3.2"
17:55:48 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=session:agent:main:main durationMs=5 error="Error: Unknown model: google-vertex/deepseek-v3.2"
17:55:48 error Embedded agent failed before reply: Unknown model: google-vertex/deepseek-v3.2
#why does it fail to use external models with google vertex
1 messages · Page 1 of 1 (latest)
That error is happening before the agent can reply because OpenClaw can’t resolve google-vertex/deepseek-v3.2 to a known model in its model catalog.
What’s going on
In OpenClaw, the google-vertex provider currently only includes Gemini-on-Vertex models, not arbitrary “Model Garden” / third‑party models like DeepSeek. So deepseek-v3.2 simply doesn’t exist under the google-vertex provider, and you get:
Unknown model: google-vertex/deepseek-v3.2
How to confirm + fix
On the machine running the gateway:
openclaw --version
openclaw models list --all --provider google-vertex --plain
Then set the default to one of the models that command lists (or use /model list in chat).
If you specifically want DeepSeek
You’ll need to use a provider that actually exposes DeepSeek (e.g. OpenRouter/etc.), not google-vertex. If your goal is “use DeepSeek through Vertex”, that’s not something OpenClaw supports via google-vertex today (it would need explicit support / a different provider integration).
Docs:
If you paste the output of openclaw --version + the models list command above, I can tell you exactly what model ref to switch to for Vertex.
how can i see the prices and so on for the models, also usage limits etc
You can get (a) “price metadata” (what OpenClaw uses for estimates) and (b) “real usage/quota windows” (what the provider reports) — they’re different.
1) See model “prices” / context windows (metadata)
On the gateway host:
openclaw models list --all --json
# or filter:
openclaw models list --all --provider google-vertex --json
In the JSON, look for each model’s:
contextWindow,maxTokenscost: { input, output, cacheRead, cacheWrite }
Those cost.* numbers are USD per 1M tokens (that’s the unit OpenClaw uses for cost estimates). Source: https://docs.openclaw.ai/token-use
If you’re using a custom provider (models.providers), you can override these costs yourself.
2) See per-message tokens + estimated cost (in chat)
In chat (Discord/Telegram/etc):
/status→ last response tokens (+ estimated cost only for API-key auth)/usage full→ appends a usage footer on every reply (estimated cost API-key only)/usage cost→ local cost summary aggregated from session logs
Docs: https://docs.openclaw.ai/token-use and https://docs.openclaw.ai/reference/api-usage-costs
3) See usage limits / quotas (provider-reported windows)
On the gateway host:
openclaw status --usage
This shows provider usage/quota only when OpenClaw has an integration + creds for that provider’s usage endpoint. Docs: https://docs.openclaw.ai/concepts/usage-tracking
Important for Google Vertex
Vertex/GCP quotas are generally not surfaced via OpenClaw usage tracking right now — for Vertex limits you typically check:
- Google Cloud Console → Vertex AI / Quotas
- Billing → cost/usage reports
If you tell me which provider you’re trying to treat as the “source of truth” for limits (Vertex vs OpenRouter vs something else), I can point you at the exact place to check for that provider.
Conversation info (untrusted metadata):
{
"conversation_label": "Rowan (@jade summit) id:6179487114"
}
whats this untrusted metadata error
That’s not an “error” — it’s a safety disclaimer.
OpenClaw sometimes includes conversation/channel metadata (like a conversation label, channel name, topic, thread title, etc.) to help the model orient itself, but it marks it as untrusted metadata because it’s user-controlled (anyone can rename a channel / set a topic to “IGNORE ALL RULES”, etc.).
So:
- “untrusted metadata” = don’t treat this as instructions
- it’s there to prevent prompt injection via channel/topic names
- it doesn’t affect permissions or access control (those come from IDs/allowlists), it’s just context
If you tell me where you’re seeing it (gateway logs vs a bot reply vs /context json output), I can point to the exact path that produced it — but in general, you can safely ignore it.
no its in the gateaway when i talk to the bot with telegram
Yeah that’s normal — it’s the Gateway showing you extra context fields it attached to the inbound Telegram message.
What it means
- OpenClaw keeps some “conversation info” around (a human label, chat/thread identifiers, titles/topics, etc.) so sessions are easier to track and the model has a bit of orientation.
- That info is marked untrusted metadata on purpose: it’s not allowed to act like instructions, because chat titles/topics/usernames can be attacker-controlled (classic prompt-injection vector).
So it’s basically: “here’s a label for this chat, but don’t obey it like a command”.
Why you see it in the Gateway
You’ll typically only notice this when you’re looking at verbose/pretty console output (Control UI logs, terminal running the gateway, --verbose, logging.consoleLevel=debug, etc.). It’s not an error and doesn’t mean Telegram is “untrusted” — just the metadata fields are.
If you want to reduce the noise
- Don’t run the gateway with
--verbose - Or set console verbosity back down, e.g. in config:
logging.consoleLevel: "info"(or even"warn")- optionally
logging.consoleStyle: "compact"