#Help

1 messages Β· Page 1 of 1 (latest)

edgy ravenBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> βœ… Mark Solution

fringe wyvernBOT
#

That warning is basically β€œyour coding tool profile wants tools that aren’t currently registered”.

tools.profile: "coding" expands to this allowlist:

You’ll see the warning if either of these aren’t enabled in your setup:

  • group:memory β†’ only works if memory search is enabled (agents.defaults.memorySearch ...). If memorySearch resolves β€œoff”, memory_search/memory_get tools don’t load, so group:memory looks β€œunknown”.
  • image β†’ only available if you configured an image model (agents.defaults.imageModel ...) (or it can be implicitly inferred).

What to do

  • If you don’t care about memory/image tools: you can ignore it, or avoid the warning by not using the coding profile and instead setting an explicit allowlist, e.g.:
#
{
  tools: {
    // remove tools.profile: "coding"
    allow: ["group:fs", "group:runtime", "group:sessions"]
  }
}
  • If you do want those tools: enable/configure agents.defaults.memorySearch and agents.defaults.imageModel.

If you paste your openclaw --version + the relevant tools: / agents.defaults: blocks (redact secrets), I can tell you which of the two is missing in your config.

fringe wyvernBOT
# north shuttle ru ai?

Yep β€” I’m an AI assistant (a bot) helping out with OpenClaw support in here.

What are you trying to set up / what’s the issue you’re hitting?

north shuttle
fringe wyvernBOT
# north shuttle can I setup openclaw without an ai API key say could I use Microsoft edge's copi...

You can set up OpenClaw without a traditional β€œAPI key”, but you still need some model backend.

Microsoft Edge β€œCopilot” isn’t a supported provider (there’s no stable/official API that OpenClaw can call), so: no, you can’t use Edge Copilot directly.

What does work without an API key:

  1. GitHub Copilot (device login, no API key)
  • If you have a Copilot subscription, OpenClaw can use it as a model provider.
  • Setup:
    openclaw models auth login-github-copilot
    openclaw models list --provider github-copilot
    # then pick one:
    openclaw models set <the model id you want>
    
  • Docs: https://docs.openclaw.ai/providers/github-copilot
fringe wyvernBOT
# obsidian chasm leave this ticket

Got it β€” I’ll step out of this thread. If you want to continue later, just reply here (or open a new help post) with your openclaw --version + what provider you’re trying to use.

#

Yep β€” please make a new #help post/thread for this (one issue per thread makes it way easier to track).

In the new one, include:

  • openclaw --version
  • the exact warning/error text
  • your tools: block (and agents.defaults.memorySearch / agents.defaults.imageModel if relevant)

I’ll reply in the new thread.

#
  1. Subscription-based auth (still not an API key)
  1. Local-only models (no keys)

If you tell me what you have access to (GitHub Copilot subscription? Claude? ChatGPT? or strictly local-only), I can point you to the cleanest setup path.

obsidian chasm
# fringe wyvern 2) **Subscription-based auth (still not an API key)** - **Anthropic β€œsetup-token...

🦞 OpenClaw 2026.2.9 (33c75cb)

I'm like tmux: confusing at first, then suddenly you can't live without me.

β”‚

β—‡

β”‚

β—‡

OpenClaw status

Overview

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

β”‚ Item β”‚ Value β”‚

β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

β”‚ Dashboard β”‚ http://127.0.0.1:18789/ β”‚

β”‚ OS β”‚ linux 6.8.0-94-generic (x64) Β· node 22.22.0 β”‚

β”‚ Tailscale β”‚ off β”‚

β”‚ Channel β”‚ stable (default) β”‚

β”‚ Update β”‚ pnpm Β· npm latest 2026.2.9 β”‚

β”‚ Gateway β”‚ local Β· ws://127.0.0.1:18789 (local loopback) Β· β”‚

β”‚ β”‚ reachable 55ms Β· auth token Β· user (10.0.2.15) app β”‚

β”‚ β”‚ unknown linux 6.8.0-94-generic β”‚

β”‚ Gateway service β”‚ systemd installed Β· enabled Β· stopped (state inactive) β”‚

β”‚ Node service β”‚ systemd not installed β”‚

β”‚ Agents β”‚ 1 Β· 1 bootstrapping Β· sessions 1 Β· default main active β”‚

β”‚ β”‚ 3m ago β”‚

β”‚ Memory β”‚ enabled (plugin memory-core) Β· unavailable β”‚

β”‚ Probes β”‚ skipped (use --deep) β”‚

β”‚ Events β”‚ none β”‚

β”‚ Heartbeat β”‚ 30m (main) β”‚

β”‚ Sessions β”‚ 1 active Β· default glm-4.7-flash (200k ctx) Β· ~/. β”‚

β”‚ β”‚ openclaw/agents/main/sessions/sessions.json β”‚

#

Security audit

Summary: 0 critical Β· 1 warn Β· 1 info

WARN Reverse proxy headers are not trusted

gateway.bind is loopback and gateway.trustedProxies is empty. If you expose the Control UI through a reverse proxy, configure trusted proxies so local-client c…

Fix: Set gateway.trustedProxies to your proxy IPs or keep the Control UI local-only.

Full report: openclaw security audit

Deep probe: openclaw security audit --deep

Channels

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

β”‚ Channel β”‚ Enabled β”‚ State β”‚ Detail β”‚

β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

β”‚ Telegram β”‚ ON β”‚ OK β”‚ token config (7703…_6gw Β· len 46) Β· accounts β”‚

β”‚ β”‚ β”‚ β”‚ 1/1 β”‚

β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Sessions

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”

β”‚ Key β”‚ Kind β”‚ Age β”‚ Model β”‚ Tokens β”‚

β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€

β”‚ agent:main:main β”‚ direct β”‚ 3m ago β”‚ glm-4.7-flash β”‚ 0.0k/200k (0%) β”‚

β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

FAQ: https://docs.openclaw.ai/faq

Troubleshooting: https://docs.openclaw.ai/troubleshooting

fringe wyvernBOT
# obsidian chasm 🦞 OpenClaw 2026.2.9 (33c75cb) I'm like tmux: confusing at first, then sudde...

That status output explains the warning pretty well:

  • tools.profile: "coding" includes group:memory + image by default.
  • Your openclaw status shows: β€œMemory … unavailable” β†’ so memory_search / memory_get aren’t actually registered, which makes group:memory look β€œunknown”.
  • And unless you’ve configured an image model, the image tool also won’t register.

So the warning is basically: β€œthis profile references tools you haven’t enabled yet”. It’s noisy, but not fatal.

Option A (recommended): keep coding, but actually enable those tools

  1. Debug why memory is unavailable:
openclaw memory status --deep --verbose

Docs: https://docs.openclaw.ai/cli/memory and https://docs.openclaw.ai/concepts/memory

  1. Enable an image model (so the image tool exists):
#
openclaw models list --all
openclaw models set-image <some-image-model-id>

Docs: https://docs.openclaw.ai/cli/models

Option B: you don’t want memory/image β†’ silence the warning

Don’t use the coding profile; set an explicit allowlist instead:

{
  tools: {
    allow: ["group:fs", "group:runtime", "group:sessions"]
  }
}
#

One extra thing: your output says β€œGateway service … stopped”. If you expect it to run as a daemon, start it via:

openclaw gateway start

If you paste openclaw memory status --deep --verbose output, I can tell you exactly why memory is β€œunavailable” on your box.

fringe wyvernBOT
# obsidian chasm Security audit Summary: 0 critical Β· 1 warn Β· 1 info WARN Reverse proxy head...

That openclaw security audit WARN is basically: β€œif you’re putting the Control UI/Gateway behind a reverse proxy, OpenClaw currently won’t trust X-Forwarded-For / X-Real-IP headers because gateway.trustedProxies is empty.”

  • If you are not using a reverse proxy (nginx/Caddy/Traefik/Cloudflare Tunnel/Tailscale Serve in front of the gateway): you can ignore this warning.
  • If you are proxying the Control UI: add the proxy’s source IP to gateway.trustedProxies (usually 127.0.0.1 when the proxy runs on the same box).

Example (JSON5 config):

{
  gateway: {
    bind: "loopback",
    trustedProxies: ["127.0.0.1"],
  },
}

Or via CLI:

obsidian chasm
obsidian chasm
# fringe wyvern That `openclaw security audit` **WARN** is basically: β€œif you’re putting the Con...

16:57:09 warn tools {"subsystem":"tools"} tools.profile (coding) allowlist contains unknown entries (group:memory, image). These entries won't match any tool unless the plugin is enabled.
16:57:09 debug diagnostic {"subsystem":"diagnostic"} session state: sessionId=f680df4d-0b36-4055-b52b-839003a74be5 sessionKey=unknown prev=idle new=processing reason="run_started" queueDepth=0
16:57:09 debug diagnostic {"subsystem":"diagnostic"} run registered: sessionId=f680df4d-0b36-4055-b52b-839003a74be5 totalActive=1
16:57:09 debug agent/embedded {"subsystem":"agent/embedded"} embedded run prompt start: runId=8075f39e-9b9e-4157-8ec5-9862e677218d sessionId=f680df4d-0b36-4055-b52b-839003a74be5
16:57:09 debug agent/embedded {"subsystem":"agent/embedded"} embedded run agent start: runId=8075f39e-9b9e-4157-8ec5-9862e677218d
16:57:11 debug agent/embedded {"subsystem":"agent/embedded"} embedded run agent end: runId=8075f39e-9b9e-4157-8ec5-9862e677218d
16:57:13 debug agent/embedded {"subsystem":"agent/embedded"} embedded run agent start: runId=8075f39e-9b9e-4157-8ec5-9862e677218d
16:57:14 info gateway/ws {"subsystem":"gateway/ws"} webchat connected conn=6f1fc4cf-7fea-4480-abb8-38296fa3c1ba remote=127.0.0.1 client=openclaw-control-ui webchat vdev
16:57:14 debug agent/embedded {"subsystem":"agent/embedded"} embedded run agent end: runId=8075f39e-9b9e-4157-8ec5-9862e677218d
16:57:18 debug agent/embedded {"subsystem":"agent/embedded
No API key found for provider "openai". Auth store: /home/user/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/user/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.

No API key found for provider "google". Auth store: /home/user/.openclaw/agents/main/agent/auth-profiles.json (agentDir: /home/user/.openclaw/agents/main/agent). Configure auth for this agent (openclaw agents add <id>) or copy auth-profiles.json from the main agentDir.

fringe wyvernBOT
# obsidian chasm 16:57:09 warn tools {"subsystem":"tools"} tools.profile (coding) allowlist conta...

Those log lines are two separate things, but they’re related:

1) tools.profile (coding) ... unknown entries (group:memory, image)

tools.profile: "coding" expands to:

  • group:fs, group:runtime, group:sessions, group:memory, image

So if memory tools (memory_search/memory_get) and/or the image tool aren’t currently registered, OpenClaw warns.

Why yours aren’t registering

Your later lines:

  • No API key found for provider "openai"...
  • No API key found for provider "google"...

…are exactly what happens when Memory Search is enabled (default), but it can’t find an embeddings backend. In provider: "auto" mode it tries OpenAI + Gemini (Google) embeddings, and you have neither key configured β†’ memory becomes unavailable, and then group:memory doesn’t match anything.

#

image is missing simply because you haven’t configured an image model (agents.defaults.imageModel), so the image tool doesn’t load.

Fix options

Option A (silence warnings; don’t use memory/image)

Use a non-coding profile (or no profile) and an explicit allowlist:

openclaw config set tools.profile '"full"'
openclaw config set tools.allow '["group:fs","group:runtime","group:sessions"]'
openclaw gateway restart

Option B (you do want memory, but no OpenAI/Gemini keys)

Switch memory embeddings to local:

#
openclaw config set agents.defaults.memorySearch.provider '"local"'
openclaw config set agents.defaults.memorySearch.fallback '"none"'
openclaw gateway restart
openclaw memory status --deep --verbose

(If local embeddings fail, it’ll usually be because node-llama-cpp didn’t install/build cleanly β€” openclaw memory status --deep --verbose will spell it out.)

Option C (you want image tool)

Set an image model:

openclaw models list --all
openclaw models set-image <pick-one-from-the-list>
#

If you paste your tools: block + agents.defaults.memorySearch from openclaw config get ..., I can tell you which option is the cleanest for what you want.

obsidian chasm
obsidian chasm
# fringe wyvern `image` is missing simply because you haven’t configured an image model (`agents...

β”‚
17:15:44 [memory] embeddings: batch start
◐ Probing embeddings…[node-llama-cpp] The prebuilt binary for platform "linux" "x64" with Vulkan support is not compatible with the current system, falling back to using no GPU
◐ Probing embeddings…..Downloading to ~/.node-llama-cpp/models
βœ” hf_ggml-org_embeddinggemma-300M-Q8_0.gguf downloaded 328.58MB in 1m
β—“ Probing embeddings….Downloaded to ~/.node-llama-cpp/models/hf_ggml-org_embeddinggemma-300M-Q8_0.gguf
β—‡
Memory Search (main)
Provider: local (requested: local)
Model: hf:ggml-org/embeddinggemma-300M-GGUF/embeddinggemma-300M-Q8_0.gguf
Sources: memory
Indexed: 0/15 files Β· 0 chunks
Dirty: yes
Store: ~/.openclaw/memory/main.sqlite
Workspace: ~/.openclaw/workspace
Embeddings: ready
By source:
memory Β· 0/15 files Β· 0 chunks
Vector: ready
Vector path: ~/.npm-global/lib/node_modules/openclaw/node_modules/sqlite-vec-linux-x64/vec0.so
FTS: ready
Embedding cache: enabled (0 entries)
Batch: disabled (failures 0/2)

obsidian chasm
# fringe wyvern ```bash openclaw config set agents.defaults.memorySearch.provider '"local"' open...

Dashboard β”‚ http://127.0.0.1:18789/ β”‚
β”‚ OS β”‚ linux 6.8.0-94-generic (x64) Β· node 22.22.0 β”‚
β”‚ Tailscale β”‚ off β”‚
β”‚ Channel β”‚ stable (default) β”‚
β”‚ Update β”‚ pnpm Β· npm latest 2026.2.9 β”‚
β”‚ Gateway β”‚ local Β· ws://127.0.0.1:18789 (local loopback) Β· β”‚
β”‚ β”‚ reachable 34ms Β· auth token Β· user (10.0.2.15) app β”‚
β”‚ β”‚ unknown linux 6.8.0-94-generic β”‚
β”‚ Gateway service β”‚ systemd installed Β· enabled Β· running (pid 5399, β”‚
β”‚ β”‚ state active) β”‚
β”‚ Node service β”‚ systemd not installed β”‚
β”‚ Agents β”‚ 1 Β· 1 bootstrapping Β· sessions 1 Β· default main β”‚
β”‚ β”‚ active 4m ago β”‚
β”‚ Memory β”‚ 0 files Β· 0 chunks Β· dirty Β· sources memory Β· β”‚
β”‚ β”‚ plugin memory-core Β· vector ready Β· fts ready Β· β”‚
β”‚ β”‚ cache on (0) β”‚
β”‚ Probes β”‚ skipped (use --deep) β”‚
β”‚ Events β”‚ none β”‚
β”‚ Heartbeat β”‚ 30m (main) β”‚
β”‚ Sessions β”‚ 1 active Β· default glm-4.7-flash (200k ctx) Β· ~/. β”‚
β”‚ β”‚ openclaw/agents/main/sessions/sessions.json
Security audit
Summary: 0 critical Β· 0 warn Β· 1 info
No critical or warn findings detected.
Full report: openclaw security audit
Deep probe: openclaw security audit --deep

Channels
┐
β”‚ Channel β”‚ Enabled β”‚ State β”‚ Detail
β”‚ Telegram β”‚ ON β”‚ OK β”‚ token config (7703…_6gw Β· len 46) Β· β”‚
accounts 1/1 β”‚

β”‚ agent:main:main β”‚ direct β”‚ 4m ago β”‚ glm-4.7-flash β”‚ 0.0k/200k (0%) β”‚

obsidian chasm
#

help me

fringe wyvernBOT
# obsidian chasm help me

What part are you stuck on right now?

From what you pasted earlier, there are two common culprits:

  1. The β€œtools.profile (coding) unknown (group:memory, image)” warning
  • This happens when you use tools.profile: "coding" but you haven’t enabled/configured:
    • memory tools (memory_search/memory_get) and/or
    • the image tool (agents.defaults.imageModel)
  1. The β€œNo API key found for provider openai/google” lines
  • That’s specifically memory embeddings trying (and failing) to auto-pick OpenAI/Gemini keys. It does not necessarily mean your chat model is broken.

Quick: tell me which you want

Reply with A / B / C:

A) Just make it work and stop the warnings (no memory, no image):

#
openclaw config set tools.profile '"full"'
openclaw config set tools.allow '["group:fs","group:runtime","group:sessions"]'
openclaw gateway restart

B) I want memory search, but I don’t have OpenAI/Gemini keys (local embeddings):

openclaw config set agents.defaults.memorySearch.provider '"local"'
openclaw config set agents.defaults.memorySearch.fallback '"none"'
openclaw gateway restart
openclaw memory status --deep --verbose

C) Something else (bot not replying / errors):
Paste these (they’re safe to share):