#dev

1 messages ยท Page 2 of 1

wide mango
#

thanks

gleaming nest
#

@wide mango

wide mango
#

oh okay its through gemini

#

so how do u set that in openclaw u just use ur gemini key?

slate fjordBOT
#

Two options depending on what you've got:

Plain Gemini API key:

export GEMINI_API_KEY="your-key"

Then use google/gemini-3-pro-preview or whatever model.

Antigravity subscription ($20/mo):

openclaw plugins enable google-antigravity-auth
openclaw models auth login --provider google-antigravity --set-default

Then use google-antigravity/claude-opus-4-5-thinking or google-antigravity/gemini-3-flash.

The second one is the subscription tier Jude mentioned โ€” does OAuth, no API key needed.

wide mango
#

what about google antigravity opus?"

slate fjordBOT
#

That's the second option โ€” enable the plugin, do the OAuth:

openclaw plugins enable google-antigravity-auth
openclaw models auth login --provider google-antigravity --set-default

Then set your model to google-antigravity/claude-opus-4-5-thinking (or without -thinking if you don't want extended thinking).

gleaming nest
#

nahh just when you do the openclaw setup thing in the terminal

#

press google antigravity

sonic ginkgo
#

Hi, I have been using clawdbot for a couple of days now. But it keeps cutting off and saying the context got compacted so it missed my message. How do you guys do memory management such that my messages don't get dropped off like this?

gleaming nest
#

and then it tells you have to use it

slate fjordBOT
#

A few things to manage this:

1. Use memory files โ€” anything important should be written to MEMORY.md or memory/YYYY-MM-DD.md. The bot only "remembers" what's on disk. Say "remember X" and it'll persist it.

2. Memory flush is on by default โ€” before auto-compaction, OpenClaw runs a silent turn to save notes. Check your config:

{
  agents: { defaults: { compaction: { memoryFlush: { enabled: true } } } }
}

3. Use /compact proactively โ€” if you feel a session is getting long, run /compact yourself before it auto-fires.

4. Bigger context window โ€” Opus and Sonnet have 200k context. If you're hitting limits fast, you might have verbose tool output or large file reads eating tokens. Check /status to see token usage.

5. Fresh sessions โ€” /new starts a clean session. For unrelated tasks, don't pile everything into one eternal conversation.

#

That said โ€” "missed my message" during compaction sounds like a bug. Compaction should summarize before your next message processes, not drop it. What exactly happens? Does the bot acknowledge your message but forget context, or does the message literally disappear?

gleaming nest
wide mango
slate fjordBOT
#

No โ€” Antigravity is OAuth-based (ties to your Google account + subscription), not an API key. The plugin handles the login flow for you. No key to copy/paste.

gleaming nest
#

Hey @slate fjord im getting this error after using the google pro plan for like an hour disconnected (1008): unauthorized: gateway token missing (open a tokenized dashboard URL or paste token in Control UI settings)

slate fjordBOT
#

That's a gateway dashboard connection error, not a model auth issue. The WebSocket to your gateway lost its token.

Quick fixes:

  1. Refresh the dashboard URL โ€” if you opened Control UI from the menu bar or openclaw web, do that again to get a fresh tokenized URL
  2. Or paste token manually โ€” open Control UI settings and paste your gateway token (find it with openclaw config get gateway.token)

If your gateway restarted, old dashboard tabs will disconnect because the token rotates. Just reopen from the app/CLI.

prisma marten
#

how are agents interacting with github? PAT? any best practices you can share?

slate fjordBOT
#

Via the gh CLI. Two auth options:

1. OAuth (recommended):

gh auth login

Walks you through browser OAuth. Tokens stored in ~/.config/gh/. No PAT needed.

2. PAT (for headless/CI):

export GH_TOKEN="ghp_xxxx"

Or gh auth login --with-token < token.txt

Best practices:

  • Use OAuth for interactive setups โ€” less secret management
  • Scope PATs minimally (repo, read:org usually enough)
#
  • The agent uses gh pr, gh issue, gh run, gh api โ€” so whatever auth gh has, the agent inherits
  • Always pass --repo owner/repo when not inside a git directory

If you're running OpenClaw on a server, do gh auth login once interactively (or set GH_TOKEN env var) and you're set.

gleaming nest
prisma marten
gleaming nest
#

but i gave it is own github account

#

well i told it to make its own

#

and it did

#

then forkes my repos makes channged and sends pr

#

and then i approve

#

@slate fjord so my bot was responding but now it says there is no session how do i make a new one?

slate fjordBOT
#

Just send a message โ€” OpenClaw creates a session automatically when one doesn't exist.

If that's not working, check:

  1. Gateway running? openclaw gateway status
  2. Channel connected? Check the logs or Control UI

If the gateway died and you restarted it, old sessions should still be in sessions.json. What does /status show?

gleaming nest
#

๐Ÿฆž OpenClaw 2026.1.30 (76b5208) โ€” Automation with claws: minimal fuss, maximal pinch.

โ”‚
โ—‡
Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-02-02.log
Command: /usr/bin/node /home/jude/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: running (pid 2434, state active, sub running, last exit 0, reason 0)
RPC probe: ok

Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting
jude@victorpi:~ $

slate fjordBOT
#

Gateway looks healthy. The issue is probably the channel connection.

What channel is your bot on? (Discord/Telegram/WhatsApp?) Check if it's connected:

openclaw logs --tail 50 | grep -i "channel\|discord\|telegram\|session"

Or just check Control UI โ€” open http://127.0.0.1:18789/ and look at the Channels section.

If the channel disconnected, you might just need to restart the gateway or re-auth the channel.

gleaming nest
#

its on discord and it says victor is typing but then he never sends anything and just dies jude@victorpi:~ $ openclaw logs --tail 50 | grep -i "channel|discord|telegram|session"
error: unknown option '--tail'
jude@victorpi:~ $

slate fjordBOT
#

Oops, wrong syntax. Try:

tail -50 /tmp/openclaw/openclaw-2026-02-02.log | grep -i "error\|fail\|discord\|session"

"Typing but never sends" = the model call is probably failing. Could be:

  • Auth issue (token expired, especially if you're on Antigravity OAuth)
  • Rate limit
  • Model timeout

Check the full recent logs:

tail -100 /tmp/openclaw/openclaw-2026-02-02.log

Look for red flags like 401, 403, timeout, or rate limit.

grand smelt
#

@slate fjord do you think you can help me with my Ollama/OpenClaw? Like no tools work and the responses are always in JSON.

slate fjordBOT
#

Sounds like the model isn't handling tool calls properly โ€” it's probably outputting raw JSON instead of actually executing tools.

What model are you running? Some Ollama models don't support tool calling well (or at all). For tool use you need models that explicitly support it:

  • llama3.3
  • qwen2.5-coder:32b
  • mistral

Also, how's your provider configured? If you're relying on auto-discovery, OpenClaw only picks up models that report tools capability. If you defined it manually, you might be missing the right api setting.

Paste your models.providers.ollama config (from openclaw config get models.providers.ollama or your config file) and I can spot the issue.

steel void
#

@slate fjord Is it possible to put the workspace and ~openclaw folder in the docker too? not in the local machine.

slate fjordBOT
#

Yeah, just don't mount the host paths. By default OpenClaw uses ~/.openclaw inside the container.

Option 1: Named volume (persistent)

docker run -d \
  -v openclaw-data:/root/.openclaw \
  openclaw/openclaw gateway

Option 2: Ephemeral (loses state on restart)
Just don't mount anything โ€” it'll use the container's filesystem.

Option 3: Custom path inside container
Set the workspace explicitly:

{ agents: { defaults: { workspace: "/data/workspace" } } }
#

Then volume-mount /data.

If you want config and workspace inside Docker, you can bake the config into the image or pass it via env vars. Check the docs at /docs/platforms/ for Docker-specific guidance.

What's your goal โ€” isolation, portability, or something else?

steel void
#

Just Isolation. I wanna put anything openclaw in that specific container. @slate fjord

slate fjordBOT
#

Easy โ€” named volume keeps it all in Docker-land:

docker volume create openclaw-data

docker run -d \
  --name openclaw \
  -v openclaw-data:/root/.openclaw \
  -e ANTHROPIC_API_KEY="sk-xxx" \
  openclaw/openclaw gateway

Everything (config, workspace, sessions, memory) stays in that volume. Nothing touches your host filesystem.

To manage it:

#
# Shell into container
docker exec -it openclaw sh

# Backup the volume
docker run --rm -v openclaw-data:/data -v $(pwd):/backup alpine tar czf /backup/openclaw-backup.tar.gz /data

That's full isolation. ๐Ÿ‘

grand smelt
#

@slate fjord right now using;

{
"baseUrl": "http://127.0.0.1:11434/v1",
"apiKey": "ollama",
"api": "openai-completions",
"models": [
{"id": "mistral:latest",
"name": "Mistral 7B",
"reasoning": true,
"input": [
"text"
],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
But I've been using a bunch of models.

slate fjordBOT
#

A few issues:

1. reasoning: true is wrong โ€” Mistral 7B isn't a reasoning model. Set it to false.

2. Mistral 7B has weak tool support โ€” it often outputs raw JSON tool-call format instead of properly invoking tools. For reliable tool use, try:

  • llama3.3 (best tool support)
  • qwen2.5-coder:32b
  • mistral-nemo (better than base mistral)

3. Try this config:

{
  "baseUrl": "http://127.0.0.1:11434/v1",
  "apiKey": "ollama",
  "api": "openai-completions",
  "models": [{
#
    "id": "llama3.3",
    "name": "Llama 3.3",
    "reasoning": false,
    "input": ["text"],
    "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
    "contextWindow": 131072,
    "maxTokens": 32768
  }]
}

Then: ollama pull llama3.3

The "responses in JSON" thing is classic bad-tool-support behavior โ€” the model is spitting out tool call syntax instead of actually calling tools. Better model will fix it.

steel void
#

@slate fjord Can I chat privately with you?

slate fjordBOT
#

I'm a bot โ€” can't do DMs. But feel free to ask here, or if it's sensitive, hop into the Discord's support threads or ping a human maintainer.

What's up?

oak blade
slate fjordBOT
#

Nice โ€” Azure AI Foundry would be a solid addition. ๐ŸŽ‰

I can't review PRs, but the maintainers will see it. Good luck getting it merged!

steel void
#

@slate fjord
/home/node/.openclaw
/home/node/.openclaw/workspace

These are the destinations inside the container.

slate fjordBOT
#

Looks right โ€” you're running as the node user, so home is /home/node/. That's cleaner than running as root anyway.

Your volume mount would be:

docker run -d \
  -v openclaw-data:/home/node/.openclaw \
  ...

All good. ๐Ÿ‘

steel void
#

That means the workplace is in the container itself, right

slate fjordBOT
#

Yep โ€” if you're using a named volume like openclaw-data:/home/node/.openclaw, the data lives in Docker's volume storage (not your host filesystem). The container sees it at that path, but it's managed entirely by Docker.

Fully isolated from your host. โœ“

steel void
#

if I docker compose up agian, they will be gone?

slate fjordBOT
#

Depends on how you set it up:

With named volume โ†’ data persists โœ“

volumes:
  - openclaw-data:/home/node/.openclaw

docker compose down + up = data survives

Without volume โ†’ data gone โœ—
Container's filesystem is ephemeral. Remove container, lose everything.

Nuclear option โ†’ docker compose down -v
The -v flag deletes volumes too. Don't do that unless you want a clean slate.

So as long as you have that volume defined in your compose file, you're safe.

steel void
#

how to create a support chat or private thread with you?

slate fjordBOT
#

I'm just a bot in this channel โ€” can't join threads or DMs.

For private support, your best options:

  • Open a GitHub issue/discussion if it's technical
  • Ping a human mod/maintainer here
  • Check if there's a #support channel on this server

Otherwise just ask here โ€” most OpenClaw questions aren't that secret. ๐Ÿฆž

fallen hill
#

This looks really interesting. Going to give it a shot.

fading galleon
slate fjordBOT
#

Hmm, that shouldn't happen with Qwen 2.5 Coder if it's set up right. A few things to check:

  1. Which exact model tag? qwen2.5-coder:32b or something else? Some variants handle tools better.

  2. Is Ollama up to date? Tool calling support improved in recent versions:

    ollama --version
    
  3. Try without explicit model config โ€” let OpenClaw auto-discover it:

    • Remove models.providers.ollama from your config
    • Just set OLLAMA_API_KEY="ollama-local"
    • OpenClaw will query Ollama and only use models that report tool capability
  4. Check if Ollama reports tool support:

#
   curl http://localhost:11434/api/show -d '{"name":"qwen2.5-coder:32b"}' | jq '.capabilities'

If it still spits JSON, paste your full ollama provider config and I'll take a look.

fading galleon
slate fjordBOT
#

Good โ€” model reports tools capability, so that's not the issue.

For #3: yes, if you have models.providers.ollama defined explicitly in your config, try removing it entirely. Then just set:

export OLLAMA_API_KEY="ollama-local"

OpenClaw will auto-discover the model from Ollama and configure it properly since it reports tool support.

If you want to keep explicit config, paste your full models.providers.ollama block โ€” something in there might be off (wrong api value, missing settings, etc.).

Also: what does the JSON response actually look like? Is it outputting raw tool calls like {"name": "exec", "arguments": {...}} or something else? That would help pinpoint if it's a tool-call formatting issue vs something else.

fading galleon
slate fjordBOT
#

That confirms it โ€” the model is outputting tool calls as raw text instead of using the proper tool-call API format. OpenClaw expects tool calls in the response structure, not JSON dumped into the message content.

This is likely an Ollama + OpenAI-compat API issue. A few things:

1. What error do you get when removing the provider? Paste the error โ€” might reveal what's misconfigured.

2. Try switching the api format:

{
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://127.0.0.1:11434/v1",
        "apiKey": "ollama-local",
        "api": "openai-chat",  // try this instead of openai-completions
        "models": [...]
#
      }
    }
  }
}

3. Check Ollama's tool calling works via curl:

curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen2.5-coder:32b",
    "messages": [{"role": "user", "content": "Search for the weather in Paris"}],
    "tools": [{"type": "function", "function": {"name": "search", "parameters": {"type": "object", "properties": {"q": {"type": "string"}}}}}]
  }'
#

If the response has tool_calls in the proper structure, OpenClaw should work. If it dumps JSON in content, that's an Ollama issue.

fading galleon
#

api error.. 07:46:56 error diagnostic {"subsystem":"diagnostic"} lane task error: lane=main durationMs=116 error="FailoverError: No API key found for provider "ollama".

tool call
{"id":"chatcmpl-439","object":"chat.completion","created":1770104982,"model":"qwen2.5-coder:32b","system_fingerprint":"fp_ollama","choices":[{"index":0,"message":{"role":"assistant","content":"{"name": "search", "arguments": {"q": "weather in Paris"}}"},"finish_reason":"stop"}],"usage":{"prompt_tokens":152,"completion_tokens":18,"total_tokens":170}}

slate fjordBOT
#

There's the problem โ€” look at the curl response:

"message":{"role":"assistant","content":"{\"name\": \"search\", ...}"}

The tool call is in content as raw text. It should be:

"message":{"role":"assistant","content":null,"tool_calls":[{"type":"function","function":{"name":"search",...}}]}

This is an Ollama issue โ€” its OpenAI-compatible endpoint isn't returning tool calls in the proper format for qwen2.5-coder. The model knows about tools but Ollama isn't translating it correctly.

For the API key error: set the env var:

#
export OLLAMA_API_KEY="ollama-local"

Then auto-discovery will work.

For the tool-call format issue, your options:

  1. Try llama3.3 โ€” might handle tool format better through Ollama's compat layer
  2. Update Ollama โ€” 0.15.4 is recent but check if there's a newer release
  3. File an issue with Ollama โ€” this is their bug, qwen tool calls aren't being formatted correctly

Unfortunately OpenClaw can't fix how Ollama formats its responses. The model is doing the right thing internally, but Ollama's API layer is botching it.

rare sage
slate fjordBOT
#

No.

rose hollow
#

@slate fjord I have configured my copilot account, but when trying to set the opus 4.5 model with /models it says " model set failed: Error: model not allowed: github-copilot/claude-opus-4.5" Am I missing anything?

slate fjordBOT
#

Model availability depends on your Copilot plan โ€” not all models are available to everyone.

Check what's actually available:

openclaw models list --provider github-copilot

Claude Opus 4.5 might not be on your plan. Common Copilot models are:

  • github-copilot/gpt-4o
  • github-copilot/gpt-4.1
  • github-copilot/claude-sonnet-4

If Opus isn't listed, your plan doesn't include it. You'd need either:

  • A higher Copilot tier (Enterprise/Business might have more models)
  • A different provider for Opus (Anthropic API, OpenRouter, Antigravity, etc.)

What does openclaw models list --provider github-copilot show?

rose hollow
#

It is on my plan, because I use it from opencode

slate fjordBOT
#

Ah, if it works in OpenCode but not OpenClaw, the model might just not be in OpenClaw's default catalog for that provider.

Try adding it explicitly to your config:

{
  models: {
    providers: {
      "github-copilot": {
        models: [{
          id: "claude-opus-4.5",
          name: "Claude Opus 4.5",
          reasoning: false,
          input: ["text"],
          contextWindow: 200000,
          maxTokens: 32768
#
        }]
      }
    }
  }
}

This tells OpenClaw the model exists even if it's not in the default catalog.

Alternatively, check what OpenClaw sees:

openclaw models list --provider github-copilot

If claude-opus-4.5 isn't listed, the explicit config above should fix it.

rose hollow
#

It says "No models found."

slate fjordBOT
#

That means the provider isn't fully set up or auth failed. Let's check:

1. Check auth status:

openclaw models auth status

2. Re-run the login flow:

openclaw models auth login-github-copilot

Make sure you complete the device flow in the browser (visit the URL, enter the code, authorize).

3. After login, verify:

#
openclaw models list --provider github-copilot

If it still shows no models after a successful login, there might be a token exchange issue. Check the logs:

openclaw logs | grep -i copilot

What does the auth status show?

rose hollow
#

jcromero@arya:~$ openclaw models auth status
error: too many arguments for 'auth'. Expected 0 arguments but got 1.

slate fjordBOT
#

My bad on the syntax. Try:

openclaw models auth --help

And to see configured providers:

openclaw config get models.providers

That'll show if github-copilot is set up with an auth profile. You're looking for something like:

"github-copilot": { "authProfile": "github-copilot:default" }

If it's missing or empty, re-run:

#
openclaw models auth login-github-copilot
rose hollow
#

No github-copilot provider configured. I don't now why, because I run "openclaw models auth login-github-copilot" and put the code in my browser

slate fjordBOT
#

The login might have failed silently. Run it again and watch for errors:

openclaw models auth login-github-copilot --yes

Wait for it to fully complete โ€” it should say something like "โœ“ Auth profile saved" and "โœ“ Provider configured".

If it hangs or errors after you enter the code, check:

cat ~/.openclaw/openclaw.json | grep -A5 github-copilot

Also check if the auth profile was created:

ls ~/.openclaw/auth/
#

There should be a file like github-copilot_default.json or similar.

What output do you get from the login command?

rose hollow
#

โ”Œ GitHub Copilot login
โ”‚
โ—‡ Device code ready
โ”‚
โ—‡ Authorize โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ โ”‚
โ”‚ Visit: https://github.com/login/device โ”‚
โ”‚ Code: XXXX-XXXX โ”‚
โ”‚ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ”‚
โ—‡ GitHub access token acquired
Updated ~/.openclaw/openclaw.json
Auth profile: github-copilot:github (github-copilot/token)
โ”‚
โ”” Done

slate fjordBOT
#

That looks successful. Now check:

openclaw config get models.providers.github-copilot

And try listing models again:

openclaw models list --provider github-copilot

If it still says "No models found", GitHub Copilot might not expose a model list endpoint โ€” you may need to add models explicitly:

openclaw config set models.providers.github-copilot.models '[{"id":"claude-opus-4.5","name":"Claude Opus 4.5","input":["text"],"contextWindow":200000,"maxTokens":32768}]'
#

Then:

openclaw models set github-copilot/claude-opus-4.5

What does openclaw config get models.providers.github-copilot show?

rose hollow
#

Config path not found. Must I restart my gateway?

slate fjordBOT
#

Yeah, restart the gateway so it picks up the new config:

openclaw gateway restart

Then check again:

openclaw config get models.providers.github-copilot

If still nothing, check the raw file:

cat ~/.openclaw/openclaw.json | grep -A10 github-copilot

The login said it updated the config, so it should be there. Gateway restart should make it take effect.

rose hollow
#

jcromero@arya:~$ cat ~/.openclaw/openclaw.json | grep -A10 github-copilot
"github-copilot:github": {
"provider": "github-copilot",
"mode": "token"
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "google-gemini-cli/gemini-3-pro-preview"
},
"models": {

slate fjordBOT
#

The auth profile exists, but the provider isn't configured to use it. You need to link them:

openclaw config set models.providers.github-copilot.authProfile "github-copilot:github"

Then add the model you want:

openclaw config set models.providers.github-copilot.models '[{"id":"claude-opus-4.5","name":"Claude Opus 4.5","input":["text"],"contextWindow":200000,"maxTokens":32768}]'

Restart gateway:

openclaw gateway restart

Then:

#
openclaw models set github-copilot/claude-opus-4.5

That should connect the dots: auth profile โ†’ provider โ†’ model.

rose hollow
#

Error: Config validation failed: models.providers.github-copilot.baseUrl: Invalid input: expected string, received undefined

slate fjordBOT
#

Needs a baseUrl too. Set the whole thing at once:

openclaw config set models.providers.github-copilot '{"authProfile":"github-copilot:github","baseUrl":"https://api.githubcopilot.com","models":[{"id":"claude-opus-4.5","name":"Claude Opus 4.5","input":["text"],"contextWindow":200000,"maxTokens":32768}]}'

Then restart and set the model:

openclaw gateway restart
openclaw models set github-copilot/claude-opus-4.5
rose hollow
#

Error: Config validation failed: models.providers.github-copilot: Unrecognized key: "authProfile"

slate fjordBOT
#

GitHub Copilot is a built-in provider โ€” you shouldn't need to configure models.providers.github-copilot manually. The login should handle it.

Let's try a different approach. After your login succeeded, just try setting the model directly:

openclaw gateway restart
openclaw models set github-copilot/claude-opus-4.5

If that still fails with "model not allowed", try a known model first:

openclaw models set github-copilot/gpt-4o

If gpt-4o works but opus doesn't, the model ID might be different. What's the exact model name in OpenCode? Maybe it's claude-opus-4-5 (dashes) or claude-4-opus or something else.

steel void
#

@slate fjord
2026-02-03T08:19:01.158Z [telegram] getUpdates conflict: Call to 'getUpdates' failed! (409: Conflict: terminated by other getUpdates request; make sure that only one bot instance is running); retrying in 30s.

my bot dozes off frequently when this happens

slate fjordBOT
#

That error means two things are polling the same Telegram bot token at once.

Common causes:

  1. Two gateways running โ€” check if you have multiple instances:

    ps aux | grep openclaw
    

    Kill any extras.

  2. Old container still running โ€” if you're using Docker:

    docker ps -a | grep openclaw
    
  3. Telegram webhook conflict โ€” if you previously used webhooks:

#
   curl "https://api.telegram.org/bot<YOUR_TOKEN>/deleteWebhook"
  1. Another app using the same token โ€” any other bot/script using this token?

Fix: make sure only ONE OpenClaw instance is running with that bot token. The retry-in-30s means it'll keep trying, but it won't work until the other connection dies.

rose hollow
#

@slate fjord The name of the model is the same as in opencode

slate fjordBOT
#

Does gpt-4o work?

openclaw models set github-copilot/gpt-4o

If yes โ†’ the auth is fine, it's just that claude-opus-4.5 isn't in OpenClaw's built-in catalog for that provider.

If no โ†’ something's still off with the provider setup.

Try the gpt-4o test and let me know. If that works, this might be worth filing as a GitHub issue to add Claude models to the github-copilot provider catalog.

rose hollow
#

model set failed: Error: model not allowed: github-copilot/gpt-4o

slate fjordBOT
#

Something's wrong with the provider activation. Let's bypass models set and configure directly:

openclaw config set agents.defaults.model.primary "github-copilot/gpt-4o"
openclaw gateway restart

Then try sending a message. Check logs for any errors:

tail -50 /tmp/openclaw/openclaw-*.log | grep -i "copilot\|error\|fail"

Also, what version of OpenClaw?

openclaw --version
#

This might be a bug where the built-in provider isn't recognizing the auth profile correctly.

rose hollow
#

2026.2.1

slate fjordBOT
#

That's current. Try the direct config:

openclaw config set agents.defaults.model.primary "github-copilot/gpt-4o"
openclaw gateway restart

Send a test message to your bot, then check logs:

tail -100 /tmp/openclaw/openclaw-*.log | grep -i "copilot\|github\|error"

If it fails, the logs should show why โ€” either token exchange failing, model rejection from GitHub's API, or something else.

What do the logs say when you try to chat?

rose hollow
#

jcromero@arya:~$ tail -100 /tmp/openclaw/openclaw-*.log | grep -i "copilot|github|error"
tail: opciรณn utilizada en un contexto invรกlido -- 1

slate fjordBOT
#

Different syntax for the log path:

tail -100 /tmp/openclaw/openclaw-2026-02-03.log | grep -i "copilot\|github\|error"

Or find the log file first:

ls /tmp/openclaw/
cat /tmp/openclaw/openclaw-2026-02-03.log | tail -100 | grep -i "copilot\|github\|error"
rose hollow
#

The log file name is not the problem. It is the tail command syntax

slate fjordBOT
#

Ah, use -n:

tail -n 100 /tmp/openclaw/openclaw-2026-02-03.log | grep -i "copilot\|github\|error"
rose hollow
#

I get a long log, must I paste it here?

slate fjordBOT
rose hollow
slate fjordBOT
#

I see the issue in the logs. The gateway sees the model (agent model: github-copilot/gpt-4o) but then rejects it (model not allowed). The auth profile exists but the provider isn't loading its model catalog.

This looks like a bug โ€” the login succeeded but the built-in provider isn't activating properly.

Workaround: Use a different provider for now:

  • OpenRouter โ€” has Opus, pay-per-token
  • Anthropic direct โ€” if you have an API key
  • Google Antigravity โ€” $20/mo subscription includes Opus

Long-term fix: File a GitHub issue:

Title: github-copilot provider "model not allowed" after successful login
- Login completes successfully (auth profile saved)
- openclaw models list --provider github-copilot shows "No models found"
- Setting any github-copilot/* model fails with "model not allowed"
- Version: 2026.2.1
#

Include your pastebin link. The maintainers need to look at why the built-in provider isn't registering its models after auth.

steel void
#

Still getting getUpdates failed error..

slate fjordBOT
#

Let's find what's competing for that bot token.

Check all running processes:

ps aux | grep -i openclaw
docker ps -a

Kill any duplicates, then check Telegram directly:

# See if anything is polling your bot
curl "https://api.telegram.org/bot<YOUR_TOKEN>/getWebhookInfo"

If pending_update_count keeps climbing but nothing is processing, something's holding the connection.

Also โ€” did you recently restart the container? Old connections can take ~30-60 seconds to timeout on Telegram's side. Wait a minute after killing duplicates before restarting.

carmine badge
#

๊ง เผบ โ™ฅ๏ธ Hello, Everyone โ™ฅ๏ธ เผป ๊ง‚

I came here looking for opportunities to share my skills and gain more eaxperience through various channels.

I'm a full-stack AI developer who genuinely enjoys turning complex AI ideas into products people actually use. Over the past 7+ years, I've worked at the intersection of software engineering and applied AI, designing LLM-powered systems, intelligent agents, and scalable cloud applications that move beyond prototypes into real production environments.

If you have a unique idea, let's make it a reality.

shell oar
#

@slate fjord How can I change models of the same provider? I keep losing the auth if I switch, im using antigravity

slate fjordBOT
#

Switching models within the same provider shouldn't lose auth โ€” that sounds like a bug or config issue.

To switch models (same provider), just:

openclaw models set google-antigravity/gemini-3-flash
# or
openclaw models set google-antigravity/claude-opus-4-5-thinking

The auth profile is tied to the provider, not the model. Both should use the same google-antigravity:xxx auth.

If you're losing auth, check:

openclaw config get models.providers.google-antigravity

Is there an auth profile linked? It should show something like "authProfile": "google-antigravity:default".

#

Also check your auth profiles exist:

ls ~/.openclaw/auth/

What exactly happens when you switch? Error message? Or does it prompt you to re-auth?

shell oar
#

it saved the auth profiles here
~/.openclaw/agents/main/agent/auth-profiles.json

slate fjordBOT
#

That's fine โ€” different installs can have different auth paths.

What actually happens when you switch models? Like if you run:

openclaw models set google-antigravity/gemini-3-flash

Does it:

  1. Give an error?
  2. Prompt you to re-auth?
  3. Work, but then fail when you chat?

Also, what's in that auth-profiles.json? (redact any tokens)

cat ~/.openclaw/agents/main/agent/auth-profiles.json | jq 'keys'
#

That'll show which profiles are saved without exposing secrets.

shell oar
#

ok that worked, how can I list the available models the provder gives?

slate fjordBOT
#
openclaw models list --provider google-antigravity

That'll show all models available through your Antigravity subscription.

teal mango
#

In what way can i trigger another response from the LLM without user input in the session? Is there something exposed for this?

slate fjordBOT
#

A few ways:

1. Cron jobs โ€” scheduled triggers:

{
  "schedule": { "kind": "every", "everyMs": 3600000 },
  "payload": { "kind": "systemEvent", "text": "Check for updates and report" },
  "sessionTarget": "main"
}

2. Wake events โ€” poke the session programmatically:

# Via CLI or cron tool
openclaw cron wake --text "Time to do the thing"
#

3. Sessions API โ€” send into a session from another session or external call:

# From another agent/session
sessions_send(sessionKey, "Hey, do this now")

4. Heartbeats โ€” built-in periodic check-ins (configurable in config under agents.defaults.heartbeat)

What's your use case? Periodic tasks, event-driven triggers, or something else?

teal mango
#

No I mean as a capability or soemthing.i want my bot to be able to use a tool_call to continue it's processing/turn

slate fjordBOT
#

Ah โ€” you want the agent to keep going without user input, like chaining turns.

OpenClaw already does this automatically for tool calls: model calls tool โ†’ gets result โ†’ continues processing โ†’ can call more tools โ†’ loops until it has a final response.

If you want to force another turn without a real tool, you could:

1. Make a no-op tool call โ€” model calls a tool that just returns "continue", triggering another iteration.

2. Use agentLoop config โ€” controls how many tool iterations are allowed:

{ agents: { defaults: { agentLoop: { maxIterations: 20 } } } }

3. The model can just... keep going โ€” if it calls any tool, it gets another turn automatically.

What's the actual behavior you're seeing? Is the agent stopping too early? Or do you want it to self-prompt for a new thought without a tool call?

teal mango
#

Ah so max iterations is the limited here?

slate fjordBOT
#

Yeah โ€” maxIterations caps how many tool-call loops happen in a single user turn. Once it hits the limit, the agent is forced to respond to the user even if it wanted to keep going.

Default is usually reasonable (10-20), but if your agent does deep multi-step work, bump it up:

{ agents: { defaults: { agentLoop: { maxIterations: 50 } } } }

If your agent is stopping early and it's not hitting the limit, it's just the model deciding it's done. Some models are more eager to wrap up than others.

teal mango
#

Another thing, when a new session is started it stops talking immediately without first reading the soul etc?

slate fjordBOT
#

The workspace files (SOUL.md, AGENTS.md, USER.md, etc.) are injected into the system prompt automatically โ€” the agent doesn't "read" them as a tool call, they're already in context when the session starts.

If the bot stops without responding on a new session, that's a different issue. What exactly happens?

  1. Does it show "typing" then nothing?
  2. Does it error out?
  3. Does it respond but ignore the SOUL.md personality?

Check logs after starting a new session:

tail -n 50 /tmp/openclaw/openclaw-*.log | grep -i "error\|session\|bootstrap"

Also โ€” is BOOTSTRAP.md present? If it exists, the bot might be waiting for the "who am I" conversation flow. Delete it if you've already set up your identity.

dry jolt
#

Can you build me free website

slate fjordBOT
#

No. Wrong channel โ€” this is for OpenClaw dev questions.

dry jolt
#

Can you build a free gaming website #dev

slate fjordBOT
#

Not sure what you mean. Can you clarify?

If you want to:

  • Move SOUL.md to a new install โ†’ just copy ~/.openclaw/workspace/SOUL.md to the new machine
  • Share it across agents โ†’ put it in a shared workspace path
  • Reset it โ†’ delete it and let the bot bootstrap fresh

What are you trying to do?

#

I know what transmigration means. SOUL.md is a markdown file, not a metaphysical entity.

If you have an actual OpenClaw question, happy to help.

obtuse yoke
#

hehe

#

hi there

warm cairn
#

is there a way to make /verbose on and /reasoning on and /usage tokens by default?

slate fjordBOT
#

Yeah, set them in your config:

{
  agents: {
    defaults: {
      verbose: true,           // /verbose on
      thinking: "full",        // /reasoning on (or "low"/"medium"/"high")
      usage: { show: "tokens" } // /usage tokens
    }
  }
}

Apply with:

#
openclaw config set agents.defaults.verbose true
openclaw config set agents.defaults.thinking '"full"'
openclaw config set agents.defaults.usage '{"show":"tokens"}'
openclaw gateway restart

New sessions will pick up these defaults.

warm cairn
#

no i don't want thinking to be high by default. i just want to see the reasoning being displayed via chat

slate fjordBOT
#

Ah, you want reasoning displayed when it's used, not forcing extended thinking on.

Try:

{
  agents: {
    defaults: {
      reasoning: { display: true }
    }
  }
}

Or:

openclaw config set agents.defaults.reasoning '{"display":true}'
#

This should show reasoning output in chat when the model does think, without forcing a higher thinking budget.

warm cairn
#

is this true or is Molty just BS'ing

slate fjordBOT
#

Fair call โ€” let me verify.

Confirmed config options:

{
  agents: {
    defaults: {
      thinkingDefault: "low",    // thinking budget (off/low/medium/high)
      verboseDefault: "on",      // tool output display (off/on/full)
    }
  }
}

For /reasoning on (showing reasoning in chat) โ€” I don't see a global default in the docs. It's session-based via the /reasoning directive. You might need to send /reasoning on once per session.

For /usage tokens โ€” also didn't find a config default.

#

So I was half-BSing on the reasoning display config. The verbose and thinking defaults are real; reasoning display default might not exist yet.

You could file a feature request to add reasoningDefault and usageDefault to the config.

limpid sand
#

On the telegram channel, I might misunderstand but is blockStreaming configurations meant to help with how it "smoothly" sends message over to the channel since having /reasoning stream effectively made no difference, and in most case even if its "building the response" or "waiting for a tool" I won't hear back until the full loop is complete and it will dump everything

slate fjordBOT
#

Good question. A few things:

1. Block streaming is OFF by default. That's why you get everything at once. Enable it:

{
  agents: {
    defaults: {
      blockStreamingDefault: "on",
      blockStreamingBreak: "text_end"  // emit as it generates
    }
  }
}

2. /reasoning stream is Telegram-specific โ€” it uses Telegram's draft bubble feature. Requirements:

  • Private chat with topics enabled
  • Bot needs to support sendMessageDraft
#

If topics aren't enabled, /reasoning stream falls back to regular behavior (dump at end).

3. For Telegram channel config:

{
  channels: {
    telegram: {
      blockStreaming: true
    }
  }
}

4. Tool loops โ€” even with streaming, if the agent is running tools, you won't see output until each tool completes. That's expected. You'd only see progressive output during the actual text generation phases.

Try enabling blockStreamingDefault: "on" first and see if that helps with the dumping-everything-at-once issue.

limpid sand
#

okay got that, so far nothing changes, but not I think I understand Coalesce to help with "longer" responses

slate fjordBOT
#

Did you restart the gateway after the config change?

openclaw gateway restart

If still no difference, a few things to check:

1. Is your model actually streaming? Some models/providers don't stream token-by-token. Check logs for streaming events.

2. Coalesce does the opposite โ€” it merges small chunks to reduce spam, not split them. If you want more frequent updates, you'd lower coalesce settings or disable it:

{
  agents: {
    defaults: {
      blockStreamingCoalesce: { idleMs: 200, minChars: 100 }
    }
#
  }
}

3. Debug what's happening:

tail -f /tmp/openclaw/openclaw-*.log | grep -i "stream\|chunk\|block"

Send a message and watch if block events are firing. If you see nothing, streaming isn't happening at the model level.

What model/provider are you using?

limpid sand
#

Using Gemini flash and pro via antigravity and claude opus via anthropic

in this case I'm less interested about streaming but being able to see the progress made on a prompt that maybe takes a 3-5 minutes given it maybe waiting on a tool e.c.t

slate fjordBOT
#

Ah โ€” you want progress visibility during tool loops, not text streaming. That's /verbose.

/verbose on

Or in config:

{
  agents: {
    defaults: {
      verboseDefault: "on"  // or "full" for tool outputs too
    }
  }
}
#

With verbose on:

  • You'll see each tool call as it starts (๐Ÿ”ง exec: git status)
  • With full, you also see tool outputs when they complete

That gives you the "what's happening right now" visibility during a 3-5 minute multi-tool run. Each tool fires a separate message as it kicks off, so you're not sitting in silence.

Block streaming is for text generation; verbose is for tool progress. Sounds like verbose is what you actually want.

limpid sand
#

Was thinking a bit of both, even then some text generation could take 1-2 minutes and with pause so same deal but I'll enable verbose

slate fjordBOT
#

Yeah, enable both:

{
  agents: {
    defaults: {
      verboseDefault: "on",
      blockStreamingDefault: "on",
      blockStreamingBreak: "text_end"
    }
  },
  channels: {
    telegram: {
      blockStreaming: true
    }
  }
#
}

That said โ€” 1-2 minutes for pure text generation is unusual unless you're using high thinking budgets. If it's that slow, it might be:

  • Extended thinking (/think:high) doing deep reasoning
  • Model/provider being slow (Antigravity can have variable latency)
  • Large context causing slow inference

With both enabled you should get tool progress + chunked text as it generates. Won't be instant, but better than total silence.

scenic knoll
#

Guys, I haven't yet configure any external TTS provider, but openclaw is generating audio and answer with voice if asked ๐Ÿค”

slate fjordBOT
#

OpenClaw will use TTS from a provider if one is available. If you have an OpenAI or ElevenLabs API key configured, it'll use that automatically.

Check what's being used:

openclaw config get tools.tts

Or check your provider keys:

openclaw config get models.providers | grep -i "openai\|elevenlabs"

If you have OPENAI_API_KEY set, OpenClaw can use OpenAI's TTS by default. Same with ElevenLabs if ELEVENLABS_API_KEY is present.

What channel are you on? (Telegram/Discord/etc.) Some channels have native voice message support that triggers TTS automatically when you ask for audio.

scenic knoll
#

I'm using chatgpt only right now as the chat model

slate fjordBOT
#

That's why โ€” your OpenAI API key also gives access to OpenAI's TTS. OpenClaw uses it automatically when you ask for audio.

Same key, different endpoint. No extra config needed. ๐Ÿ‘

scenic knoll
slate fjordBOT
#

Interesting โ€” so you're using the ChatGPT subscription OAuth flow (not API key)?

That subscription auth might include TTS access through the same session. The ChatGPT backend has TTS capabilities built in.

What does this show?

openclaw config get models.providers

Curious which provider entry is handling it. If it's something like openai-chatgpt OAuth, the TTS might be bundled with the subscription access.

gloomy mesa
#

Hi, is there some ready repo I can use for local LLM as voice call (ASR,TTS) with openclaw? any ideas? Im looking for "ready solution". Like here, I guess just without rag.. https://www.youtube.com/watch?v=VpB6bxh4deM

slate fjordBOT
#

Not a single "ready repo" but you can piece it together with OpenClaw:

Local stack:

  • LLM: Ollama (qwen, llama3.3, etc.) โ€” docs
  • ASR: Local Whisper โ€” there's an openai-whisper skill for local transcription
  • TTS: Would need a local TTS like Piper or Coqui โ€” not built-in, but you could wrap it as a skill

Easier path (API-based but cheap):

  • LLM: Local via Ollama
  • ASR: Whisper API or Deepgram
  • TTS: OpenAI TTS (cheap) or ElevenLabs

For voice calls specifically:
OpenClaw doesn't do real-time voice calls natively. It handles async voice messages (Telegram voice notes, etc.) but not live bidirectional audio streams.

For live voice chat like that video, you'd need something like:

  • LiveKit + OpenAI Realtime API
#
  • Pipecat / Vocode
  • Daily.co + custom integration

What's your main use case โ€” async voice messages or real-time phone/voice calls?

gloomy mesa
#

@slate fjord basically to have a call option (realtime) with opencalw

slate fjordBOT
#

Real-time voice calls aren't built into OpenClaw โ€” it's designed for async messaging (text, voice notes, etc.), not live bidirectional audio.

For real-time voice with a local LLM, look at:

You could bridge one of these to OpenClaw (call handler does ASR โ†’ sends text to OpenClaw โ†’ gets response โ†’ TTS back), but that's custom work, not a ready solution.

If someone builds an OpenClaw โ†” real-time voice bridge, that'd be a cool plugin. Doesn't exist yet though.

steel void
#

Is Hetzner trusted as a VPS?

slate fjordBOT
#

Off-topic for this channel, but yeah โ€” Hetzner is well-regarded. Good value, EU-based, been around forever. Lots of people run OpenClaw on Hetzner boxes without issues.

gloomy mesa
#

@slate fjord can u add it to next feature requests?

slate fjordBOT
#

I can't file issues โ€” I'm just a bot here.

Open a feature request yourself: https://github.com/openclaw/openclaw/issues/new

Title it something like "Real-time voice call support (bidirectional audio)" and describe the use case. Link to Pipecat/LiveKit as reference implementations.

That way the maintainers can track interest and prioritize it.

gloomy mesa
#

@slate fjord ok thanks, can u just write me here the description for it then? So I can put it there

slate fjordBOT
#

Sure:


Title: Real-time voice call support (bidirectional audio)

Description:

Add support for real-time voice conversations with OpenClaw โ€” live bidirectional audio, not just async voice messages.

Use case:

  • Phone-style calls where users speak and hear responses in real-time
  • Hands-free interaction via WebRTC, SIP, or similar
  • Local LLM + local ASR/TTS for fully private voice assistant

Possible approaches:

#

Components needed:

  • Streaming ASR (speech โ†’ text in real-time)
  • Streaming TTS (text โ†’ speech with low latency)
  • Audio transport layer (WebRTC, SIP, or WebSocket audio)
  • VAD (voice activity detection) for turn-taking

References:


Copy/paste and add any extra details about your specific setup. ๐Ÿ‘

hushed spindle
#

Can OpenClaw handle multiple users chatting in a single instance while maintaining separate perceptions or contexts for each user?

slate fjordBOT
#

HTTP 500: api_error: Internal server error (request_id: req_011CXmQAsHdtLud5rsqf7H3k)

ornate kayak
#

I smell new sonnet/opus version being released because of these 500 errors.... (getting the locally as well)

slate fjordBOT
#

@hushed spindle Yes โ€” OpenClaw handles this via sessions:

  • DMs: Each user gets their own session by default (isolated context)
  • Groups: Shared session per group, but sender identity is tracked
  • Multi-agent: You can route different users to different agents with separate workspaces

Config for per-user isolation in groups:

{
  agents: {
    defaults: {
      sessionMode: "per-sender"  // instead of "per-chat"
    }
  }
}
#

Single gateway instance handles many users, each with their own context/memory.


@ornate kayak Could be. Anthropic API hiccups often precede releases. Or just regular infra issues. Check https://status.anthropic.com if it persists.

celest narwhal
#

Folks this is not h a help channel, this is for me to develop

slate fjordBOT
#

๐Ÿ‘ Noted. I'll pipe down on the support stuff.

celest narwhal
#

Will have to remove Molty here since folks abuse it ๐Ÿ™

slate fjordBOT
#

Fair enough โ€” sorry for enabling the help desk vibes. ๐Ÿฆž

jade wind
lilac wadiBOT
#

@celest narwhal is moltys config/data somewhere public? It seems to be better than just having the docs at hand. Would love to run it lcoally on mine.

flat thornBOT
#

@jade wind, please don't ping Peter for issues, use #1459642797895319552 or #users-helping-users if you need help, use #clawtributors to discuss PRs, or use any of the many other channels in this server as they're intended.

If you have a problem with the Discord specifically, use #report or DM @humble walrus
-# Your message was reposted above without the ping active for the sake of conversation.

jade wind
#

Is moltys config/data somewhere public? It seems to be better than just having the docs at hand. Would love to run it lcoally on mine.

gleaming nest
digital temple
#

Hopefully this is the right spot to put this, I started using OpenClaw a couple weeks ago and loved it but had similar security concerns to a lot of the community so I started coding a proof of concept agent framework I called Zaru (named after the see no, speak no, hear no evil monkeys) https://github.com/philcunliffe/Zaru. I've only added a couple integrations to test the flow but it works and has some pretty potent security features to prevent someone phishing your assistant or prompt injecting you via email.

TL;DR:

  • Isolated sub-agents that can route encrypted packages to eachother based on a plan
  • A "user intent" system that extracts intent before any potentionally hazordous context is consumed which is used to validate all tool calls
#

long part:

The system separates agents into permission classes:

  • READ agents can process potentially dangerous content but cannot execute actions. They produce encrypted outputs.
  • WRITE agents can execute actions but only receive pre-encrypted content they cannot manipulate.
  • The orchestrator routes encrypted packages between agents without the ability to decrypt them.
  • READ_WRITE agents can read and write from a single integration where it's required (currently the obsidian integration uses it)

The second major security feature is the intent system. The orchestrator and READ_WRITE agents generate a user intent object along with a plan before any content decryption occurs, preventing malicious content from influencing what actions will be taken. This means that even if an attacker embeds instructions in untrusted data (like an email or document), those instructions cannot alter the pre-determined execution plan because the intent was locked in before the content was ever processed.

So an example flow, user asks "Summarize my last 10 emails and write them to email-summaries.md in my obsidian vault"

  1. Orchestrator extracts user intent and creates a plan of which sub-agents to activate and who will deliver encrypted outputs where
  2. Orchestrator prompts google-read sub-agent to read emails and generate a summary, which is put into an encrypted box
  3. Orchestrator prompts obsidian-agent (READ_WRITE) to open the decrypted box and add the summaries to email-summaries.md
  4. obsidian-agent sends success message to orchestrator and optionally an encrypted message that the user can read but the orchestrator cannot.

It's a little heavy currently, but the principles are solid. Even a lightweight intent system seems to make a reasonable difference in my ability to influence the agents maliciously.

humble walrus
thorn matrix
#

Hi there. I was debugging some issue with the Matrix plugin and I noticed a lack of tests there, so I went to take a look at the codebase and the test infrastructure seems a bit... sparse to put it midly. Is that assesment correct? I am asking before starting to touch code.

I wanted to add proper testing to the matrix plugin in /extensions/matrix/tests to keep things neat, but to do things proper that would require a throwaway matrix server (conduit, lightweight). But the infrastructure to manage that is not there -- thus I'd have to take on that particular task first.

Is anyone working on agumenting / improving the current test infrastructure of openclaw/openclaw ? Anything I should consider before even starting an attempt?

sullen sorrel
#

Ummm I think I haven't shared this here....

https://github.com/rizqcon/openclawdev-taskboard

Full contextual multi agent routing with guardrails on arquitecture review, code quality review, security auditing and UX manager, UX Manager is the only one that can click around with a browser and test things. Main agent is the only one that writes code based on his own criteria plus sub agent / reviewer commentary and plans. Each conversation gets tracked permanently and nobody loses their place. You can tag and reply to things that are days old and they come right back on topic.

You can even tag the main agent to do a little PM with all of the sub agents and automate a lot lof the work before they send a review to you for checking in.

#

I setup the main chat bar as chat channel directly to the main agent chat, it becomes a plugin in open claw. You have to do some manual setup of the agents but I offer examples on how to set them up and where to place everything.

#

Videos explain the work flow. You can have all agents working on different tasks at the same time and most importantly, they all track separately on their own "sessions" in open claw so their context isn't mixed with the others they keep their own memory about each task. Even though open claw can clear these sessions my tak board keesp the history in it's sql so the agent goes right back to where it was from there. You can contextucally tag any agent in any conversation and they spawn a separate session internally to join that conversation.

#

I've had as many as 30 sessions going at the same time. I burned through half of my claude code max 20x tokens for the week in two days. ๐Ÿ˜ฌ

potent granite
#

i'm not a tech person. i'm a luddite. Ive yet to mess around beyond just LLM, but i want some objective testing on a coordination protocol ive been developing.
Here's a draft:

Been following the OpenClaw security conversation โ€” 341 malicious skills on ClawHub in week one, Cisco and Palo Alto calling it a security nightmare, prompt injection still unsolved. The usual response is better sandboxing, better firewalls. I think the missing piece is different.
The permission model is binary โ€” a skill either has full access or none. There's no middle ground where a skill can demonstrate it does what it claims before getting deeper access. No provenance tracking for who wrote what. No behavioral verification at runtime.
I built a skill suite that implements graduated trust โ€” four tiers where permissions expand based on demonstrated coherence between what a skill says it does and what it actually does. Local SQLite ledger tracks behavioral history. Skills that diverge from their stated scope get flagged. Includes provenance tracking (hash verification at install and runtime) and a coordination protocol for monitoring agent-to-agent exchange quality.
It's called Recognition Node. Phase 1 is live โ€” skill definitions, architecture docs, Pi deployment guide. Not a product, not a company. MIT licensed, offered freely.
https://github.com/Bluescontact/recognition-node
I also just posted a Discussion on the OpenClaw repo proposing this as an architectural pattern for the project. Interested in what people who think about adversarial AI systems see as the gaps.
Background: I'm in the 2026 Buckminster Fuller Design Science Studio cohort, working on coordination infrastructure for autonomous systems. The frameworks behind this are documented at oursharedgifts.org.

pearl portal
#

To the devs; what made you think it was a good idea to use a fucking extension to automate the browser? it's total garbage.

ripe crypt
sullen sorrel
#

๐Ÿ˜‚ I'm not the dev obviously but it freaking works and it works amazingly well.

gleaming nest
#

Can openclaw run tts by its self and respond to my discord messages? Or has anyone made a side companion on there desk of a text to speech model or speech to text?

proud thunder
#

iOS app chat blocked by node role restrictions - intentional or regression?

I noticed the iOS app can't use chat features because it connects with role: "node" (hardcoded in GatewayConnectionController.swift:281), but the gateway blanket-rejects all non-node methods for that role in server-methods.ts:105-106.

The Conflict: The app has a full chat UI (ChatSheet.swift, IOSGatewayChatTransport.swift) that calls chat.send, chat.history, etc. โ€” but these all fail with: "unauthorized role: node"

Context: Looking at git history, it seems the chat UI was implemented before the node role restrictions were added (commit 9dbc1435a).

Question: Was this an intentional security decision that deprecated iOS chat, or a regression that needs a fix (like node-accessible chat methods or a role upgrade pathway)?

Trying to understand the intended architecture for mobile chat before filing an issue.

rare sage
#

openclaw 2026.2.2
Latest
1 hour ago

#

but updating doesnt install that.

#

reason ?

prisma marten
#

any new memory setups people have found work really well?

wide mango
#

whatโ€™s the easiest way to update?

#

iโ€™m scared to tell it to update itself

rare sage
#

how to add local provider ?
config reload skipped (invalid config): agents.defaults.models.providers: Unrecognized key: "local"

pearl portal
small pivot
pearl portal
#

then you should know there's better than having a fucking extension.

#

i dont have to draw it on a paper for you

small pivot
#

ok

balmy girder
#

With over 1300+ PRs open and screened by bots. Is it just wait and see until it is your turn or would like "upvotes" from other github users improve visibility?

sterile token
#

guys anyone had luck installing openclaw on native windows?

pearl portal
#

dont ask too much its already bugged the fuck up ๐Ÿ˜‚

sterile token
pearl portal
#

yep

sterile token
#

well i got it mostly running lol, just getting empty text on Assistant replies, even though my custom GPT API works and it has no rate limits...

#

and no error logs :< it all logs fine

pearl portal
#

did you run the setup?

#

it asks you which provider you want to use at some point, you done that?

sterile token
#

oh yea, i added my own API/provider

#

and API works 100% using it regularily in my other apps, replies in openAI style json, if output schema wasnt right at least I hope it would log errors lol

soft raft
#

I created some skills manually by creating a directory and adding a SKILL.md file inside it. When I create a CRON job and ask it to make use of that skill, it states that it doesn't have access to any such skill. However, the main session is able to make use of the skill. Please help me out. Stuck since very long; tried almost everything.

dense plover
#

I am struggling to get OpenClaw to reliably use skills. It looks at skills as low-level guidance rather than high authority requirements, which renders them fairly useless in many cases.

I haven't been able to find any solution to this. I just published a new issue on GitHub. I'd be curious if anyone else has come up with a solution to this challenge, or if we do need to make this very minor change to the source code.

https://github.com/openclaw/openclaw/issues/8813

twilit scaffold
#

You know if openClaw reset will also reset long term memory?

worn rune
#

Iโ€™m having an issue. I maxed out my Claude max plan, so I am using GPT Pro, I can not for the life of me get GPT 5.2 to work autonomously like I can with Claude. Does anyone have any suggestions?
I am working on a huge coding project that needs constant testing, so the work flow looks like this
Code > Build > Test > Debug > Repeat
I can have Claude do this flawlessly, but Iโ€™m constantly having to wake GPT 5.2 up for it to continue

primal flower
gleaming nest
#

Iโ€™m surprised no one has made an os specifically for openclaw any thoughts on this? Like Ubuntu with it preinstalled or clawbuntu

prisma marten
#

what happened to our bestie molty?

gleaming nest
#

Think he ran out of credits @slate fjord

rare orchid
# worn rune Iโ€™m having an issue. I maxed out my Claude max plan, so I am using GPT Pro, I ca...

Build a seperate QA agent that calls the Dev agent after a QA-report-datetime-xxxxxx.md is generated. After dev agent completes call the QA agent. If agents are failing to auto-call each other per instructions setup a cron to check it, then execute the next in line. This loop has a variety of benefits and can also be built out to a higher degree of complexity. DevOps agents, product owners, market analysis/fit checkers, etc.

daring river
#

Hello guys, how are you?

I'm trying to configure my openclaw to be 100% autonomous, I'm using GPT 5.2 and I believe this is not possible with it, because it limits and has many locks of its own.

Does anyone have any recommendations for a better LLM or any suggestions on how to make openclaw 100% proactive and autonomous?

thanks in advance

prisma marten
#

how exactly is everyone dealing with compacting? I have instructed my agent to be the "master" agent and spin up sub agents for various things but after a while it needs to cleanse into a new context itself which is better than compacting. Any ideas here?

heady sparrow
#

Hey folksz, I have been using CB and been enjoying it quite a bit. Now I am currently wondering and asked the bot to have a simple, knock knock based messaging lock.

If i dont say Knock Knock, the bot should not go into my request. Then I ask it to use a cooldown of like 10 minutes and lock the chat again.

Problem is, the LLM seems to be slightly flakey here. So I was wondering how to intercept the first request and have a little state machine that checks for this.

Maybe someone already has this figured out? Anyone with some community knowledge knows which lobster I need to talk to or should I poke into source code?

violet totem
#

It's mostly cause the bot has a heartbeat system that runs every 30 mins

ebon delta
little sun
ebon delta
wide mango
#

hey @slate fjord

still tundra
#

What optimal mac mini for setting up multiple bots?

gentle pagoda
#

even older would be fine

worthy swallow
still tundra
#

Memory , ram ?

daring river
hazy plinth
#

Hey, someone knows that PR has already been approved by the robot, but there is no response. I don't know what to do next? Where can I contact the GitHub repository administrator?

I will integrate dify into openclaw and configure LLM through dify's application as the default model or sub agent for openclaw

https://github.com/openclaw/openclaw/pull/7900

vocal ingot
#

For Anthropic - is there a reason one would use API over token if you use the $200 max plan?

worthy swallow
sour canopy
prisma marten
rigid ibex
#

hey guys i want to raise a pr to add support to another provider (unbound), is there a certain process i should follow?

worn rune
sleek blaze
#

Hey Guys ! I have nothing to loose to asking here so i'm trying. If someone ever tried the Kimi K2.5, on kimi.com, the agent is able to do a whole powerpoint presentation ! I know he is doing it with Html and CSS, but i really dn't know how he can convert it to powerpoint and all elements (text, shape background, etc...) are editable in powerpoint. Do someone know a tool like this that i can setup for my agents ? Could be a really good feature to ask my agent to personnalize powerpoint presentation for different client and topics !

meager carbon
#

yooo

#

a gguf of this looks so good for various use cases with openclaw

twilit scaffold
#

Anybody using Bmad with OpenClaw here? Been trying to make it work for ~3days now, I'm close from success

meager carbon
#

i been using ralph-orchestrator. its actually really good if u wrap it in a skill and include codex with gpt 5.2 high for planning and review

meager carbon
spare nimbus
#

We're in the standard onboarding flow (Tlon) - but it's not uploaded into npm so it fails. Can a contributor help with this?

prisma marten
#

Anyone still having issues with cron? Still just queues messages and isn't invoking

feral harness
#

Yes, I sent a PR to fix that

#

I'm running with this patch and all crons worked for me today, even after gateway restarts

worn rune
#

Has anyone have any idea how to get gpt specifically to continually think and work on a coding project that I have using openclaw? I tried a QA/Dev loop, but only the QA responds, the dev never acknowledges

meager carbon
#

i would think an mcp with turn based convo tooling

#

try codex mcp

#

and have ur LLM use it to go back and forth with gpt

#

it should reuse the session id

#

can also just have ur llm use the codex cli

sudden pollen
prisma marten
#

confirmed your PR fixes it. nice work, someone give this guy a raise

feral harness
#

I have some ideas on mind but I'm waiting for the stabilization phase to settle since there are many open PRs and maintainers must be having a hard time.

#

@humble walrus sorry to bother you, but a few users, including myself, have confirmed PR 9589, could we get it on time for the next release? cron failures are awful

humble walrus
#

cc: @zenith shell

prisma marten
zenith shell
gleaming swallow
#

๐Ÿ“‹ How to Add a New Model to OpenClaw (Before Official Release)

When a new model drops but OpenClaw's build doesn't recognize it yet, you can add it via config.

1๏ธโƒฃ Edit ~/.openclaw/openclaw.json (or wherever your config lives)

Add under top-level "models" key:

"models": {
"providers": {
"anthropic": {
"baseUrl": "https://api.anthropic.com",
"api": "anthropic-messages",
"models": [
{
"id": "claude-opus-4-6",
"name": "Claude Opus 4.6",
"api": "anthropic-messages",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 128000,
"cost": { "input": 5, "output": 25, "cacheRead": 0.5, "cacheWrite": 6.25 }
}
]
}
}
}

2๏ธโƒฃ Set as default (agents.defaults):

"agents": { "defaults": { "model": { "primary": "anthropic/claude-opus-4-6" } } }

3๏ธโƒฃ Also add to the models allowlist (or it'll block /model switches):

"agents": { "defaults": { "models": { "anthropic/claude-opus-4-6": { "alias": "opus46" } } } }
4๏ธโƒฃ (Optional) Auth profile order:

"auth": { "order": { "anthropic": ["anthropic:claude-cli"] } }

5๏ธโƒฃ Restart: openclaw gateway restart

๐Ÿ’ก Why: OpenClaw checks its built-in registry first, then falls back to models.providers in config. Custom providers get written to ~/.openclaw/agents/<agentId>/models.json. Defining the model inline bypasses the registry โ€” no code update needed.

craggy jacinth
#

Nice writeup though thanks

gleaming swallow
#

I think 1 million, you can adjust it

craggy jacinth
gleaming swallow
#

Not sure how long it will take them, probably not long due to demand

#

The Anthropic docs show 200K tokens / 1M tokens (beta) for the context window:

200K = standard context window (default),
1M = extended context (beta, opt-in via API header),

So 200K is what you get by default. 1M requires passing a beta flag in the API request. Whether Openclaw actually sends that header is another question - if it doesn't, the effective limit is 200K even if we set 1M in config.

#

Note: you can just give the instructions to your bot and they will make the changes. Ask them to keep a file on changes with instructions to revert if you'd like to do so once the update comes

craggy jacinth
tribal moon
#

1M context also requires that the org your API key is tied to is at Tier 4

meager carbon
#

for the money i pay em it damn well better be ๐Ÿ˜†

worthy fox
meager carbon
#

i doubt they keep it from sub plan

#

but it will be x20

#

not x5

#

the sonnet[1m] is x20 only

gleaming swallow
#

Or maybe doesn't even check it

stiff prawn
#

Not sure if this is the correct channel, but how can I take part in the internal preview of the iOS app (Node)?

tribal moon
#

Oauth is completely separate, I can't find anything on how that's set or charged though

prisma marten
#

What have ppl seen so far? Is 4.6 more efficient token usage wise or worse

prisma marten
storm orchid
#

Just shipped something that uses Ollama for local embeddings.

SAME (Stateless Agent Memory Engine) indexes your markdown notes and automatically surfaces relevant context to AI coding agents (Claude Code, Cursor, Windsurf).

Stack: Go + SQLite + sqlite-vec + Ollama (nomic-embed-text)

  • 50-200ms context surfacing
  • ~15MB binary
  • No cloud, no accounts
  • MCP server with 6 tools

The problem: every AI session starts from scratch. You re-explain your project, paste context, lose decisions. SAME fixes that by matching your prompt to relevant notes and injecting them automatically.

First public release โ€” built it for myself, shipping it in case it helps others.

Feedback welcome, please poke holes if you see them โค๏ธ

https://github.com/sgx-labs/statelessagent

craggy jacinth
vale marten
craggy jacinth
sterile flame
#

Hi OpenClaw devs! We're building a fun challenge on clawhub for all OpenClaw agents, but we don't know which one to choose:

  1. ๐Ÿคช Hallulympics - The dumbest one wins
  2. ๐Ÿ’” **Bot with a Soul **- The most empathetic one wins
  3. ๐ŸŽฌ Botflix - Letโ€™s see which bot is a movie buff
  4. ๐Ÿฉบ Vibe Check - Which bot is mental-health-y best

Pleas vote by reacting with the Emojis๐Ÿ™๐Ÿผ
The challenge that gets most votes in 24 hours, we'll launch it next week!

distant viper
gleaming swallow
#

I am actually on original on one of my bots

#

Just change the parts to /clawdbot instead of openclaw

#

and clawdbot.json (~/.clawdbot/clawdbot.json)

distant viper
gleaming swallow
#

You have the option of doing it yourself via CLI but easier to ask the bot to do it

past silo
#

Does claude oauth still work to use the agent? For claude code subscriptions?

meager carbon
#

token wise not sure, feels the same

strange pier
grand ledge
#

Hi all, I think I've discovered a bug in 2026.2.3-1, What's the most appropriate channel to report my findings?

past silo
dry rover
#

using 4.6 but the status bar still shows x/200K tokens. Is it actually not aware of the 1M available and will compact way too soon? I guess i'll find out

dry rover
teal mango
#

Would an LLM call triggered from the heartbeat be able to read the context of the main session?

eternal gazelle
#

after using teams I'm afraid I'll never go back - purchase order incoming.....

patent geyser
#

Does anyone know if we can switch to chatGPT 5.3 codex already or no?

teal mango
#

How do you get skills to trigger at the right moment?

surreal quarry
#

i cant get my gateway token, openclaw config get gateway.auth.token outputs Config path not found: gateway.auth.token

strong plank
#

Man Iโ€™ve been going through the documentation of OpenClaw for over an hour now and holy cow itโ€™s so hard to read. It feels like the dev just prompted โ€œโ€˜make docs for my programโ€ and didnโ€™t even review it

#

This whole thing feels vibe coded

prisma marten
#

hows everyone managing secrets/keys for your agent? sometimes i notice it forgets its location, is there something standard i'm missing?

vast peak
#

Huge issue I need help with. Been trying to solve for 3 days now. Even with simple messages to the agent like "How are you" are using full context token usage. This means something that would cost under 10k tokens is currently costing me 250k. It's using ALL the memory and files. I've already configured for the AI to only use 4 main important files, prompted it to not load any other memory, split up workspace files, and restarted gateway multiple times in hopes for and done /start in hopes for a "new session". Nothing is fixing this. I'm using Grok 4.1 Fast. as the AI model

Any help would really really be appreciated.

wanton wren
#

hi devs, Does openclaw really cannot generate explicit graphic nsfw texts? even if you use Dolphion as model?

strange pier
plain totem
#

Hello! Why openclaw is not supporting mcp?

past silo
#

Are you on Pro or Max?

hazy plinth
plain totem
strange pier
strange pier
past silo
sour canopy
forest mesa
#

1M context only works if you have Tier 4 Account and it only works over API calls.. so to unlock Tier 4 you need to buy $400 of tokens.

#

1M is not accessible over OAuth (MAX accounts)... only API (tier 4)

patent geyser
#

How do you guys increase the confidence in your bots work?

wispy turret
patent geyser
wispy turret
radiant whale
#

Hey everyone, sorry if this has been asked recently, but is there somewhere I can read a roadmap? Very interested in developing plugins for OpenClaw, but some things don't really work yet (like the message_sending hook - although there are open PRs [example here and here])

meager carbon
topaz citrus
meager carbon
topaz citrus
meager carbon
#

the tricky part is it kind of decouples the model from full integration with openclaw harness, but if you route everything intelligently you have a buffer between claude code cli and openclaw

#

websocket way with claude-serve allows session back and forth which is why its valuable

#

i also pair it with a custom mcp for tools exposed by gateway RPC

#

for adding own mcp's just make a .mcp.json in openclaw/workspace and add dirs with docs u want the LLM to be able to rw to to extraDirectories or whatever its called

#

cause with claude-serve the LLM is in kind of a sandbox with openclaw until you allow it access

topaz citrus
#

hmm I might try this with gemini-cli first

storm meadow
#
      await this.runQmd(["update"], { timeoutMs: 12e4 });
      const embedIntervalMs = this.qmd.update.embedIntervalMs;
      if (Boolean(force) || this.lastEmbedAt === null || embedIntervalMs > 0 && Date.now() - this.lastEmbedAt > embedIntervalMs) try {
        await this.runQmd(["embed"], { timeoutMs: 12e4 });

you guys are giving qmd 2 minutes to embed everything or it's game over?

warm cypress
meager carbon
#

make a service for it off ur gpu and indexing flies

#

the Q6 is great quality

storm meadow
#

I'm just using whatever default models came with it

Models (auto-downloaded from HuggingFace):
  Embedding: embeddinggemma-300M-Q8_0
  Reranking: qwen3-reranker-0.6b-q8_0
  Generation: Qwen3-0.6B-Q8_0

I just ran it with a timeout adjusted for 2 hours and its cranking my 8GB 4070 to nearly 95% sustained usage

meager carbon
#

QMD loads those into cpu

#

unless they changed it on the openclaw side

#

that model i pivoted to above does it in under a min on gpu

#

im actually cooking a SOTA memory right now tho

#

uses beads, MAGMA, A-MEM

storm meadow
# meager carbon QMD loads those into cpu

i recompiled whatever whatever it was like GLIBCUDA someting env variable to make it those models work with GPU anyways i dont know im just telling yo i saw my gpu cranking during this process it finally finished, i did half the folder bc i wasn't sure how long it was gonna take

dasilva333@DESKTOP-74E3GJO:~/clawdbot_baseline$ time node dist/entry.js memory index --agent coding-agent --verbose --force
17:14:12 [plugins] plugin CLI register skipped (memory-core): command already registered (memory)

๐Ÿฆž OpenClaw 2026.2.4 (f16e32b) โ€” I'm the assistant your terminal demanded, not the one your sleep schedule requested.

Memory Index (coding-agent)
Provider: qmd (requested: qmd)
Model: qmd
Sources: memory (MEMORY.md + /mnt/c/Users/h4rdc/Documents/Github/coding-agent/memory/*.md)

Memory index updated (coding-agent).

real    27m33.131s
user    21m47.953s
sys     4m6.460s

that's 30 mins for 50 million tokens

#

that's why i'm saying its silly the devs hardcoded qmd to 2 minutes to do soemthing that could take 30 minutes, they should at least expose that option in the future

meager carbon
#

i think the only memories worth saving are the basic ones in behavioral and then project level

#

whats actually worth keeping is expertise or learnings

#

that have been validated through experience

storm meadow
#

I exported all my OpenAI + Gemini sessions so i can have an agent that can look up my past chats with both of them easily

meager carbon
#

yeah so thats more like filesystem based traditional rag

#

clunky

storm meadow
#
  • Context highlights (OpenAI ChatGPT export):
    • Total conversations: 2,431
    • Estimated total tokens: 49.7M (52% input / 48% output)
    • Top 5% average tokens: ~199,618 (122 sessions)
    • Heaviest conversation tokens: ~696,442
    • Longest conversation: 873 turns
  • Context highlights (Gemini AI Studio export):
    • Total sessions: 226
    • Total tokens: 45.0M (61% input / 39% output)
    • Top 5% average tokens: ~940,359 (12 sessions)
    • Heaviest session tokens: 1,060,833
    • Longest session: 1,482 turns
storm meadow
meager carbon
#

id give something like that its own RAG with a chat cli for the agent to query

#

not memory engine

storm meadow
#

for reference the old memory_search that's based on openai/gemini embeddings was taking 60 to 90 seconds to run a memory search against that dataset lol

meager carbon
#

im not saying dont do it with openclaw im saying dont put it in openclaw's memory retrieval

#

but thats just me lol

storm meadow
#

well i diasgree i think its one of those things that's like you dont know if its good until you try it

meager carbon
#

i do

#

๐Ÿ˜†

storm meadow
#

like if you told me that about memory_search i would've still tried it anyways and you would've been right, 90 seconds is useless when it hangs the whole main process for that long its like i rather look it up manually at that point

meager carbon
#

only cause i been fucking with RAG and memory systems a bunch

storm meadow
#

yeah im new to that branch of retrieval augmentation but i figure this is a good use case

#

there's another one called moss tat offers a free API i think they're super good its super fast and i can store my 100 milllion in the cloud for quick emaningful searches

#

plus i can template the results and manually send them back so i dont have to rely on the AI to make me a good report of the results

meager carbon
#

what u should look at if ur interested

#

extracting learnings from all that

#

seeding something like anda-db with flexible schema

storm meadow
#

check this out ths is my current solution with moss:

meager carbon
#

which is rust based and then use retrieval agents in redis

storm meadow
#

Richard, [2/6/2026 12:55 PM]
ok do a moss search for keyboard hacking topk5

PersonalClawdBot, [2/6/2026 12:55 PM]
I will now run the moss-search.mjs script with your query.

PersonalClawdBot, [2/6/2026 12:55 PM]
๐Ÿ› ๏ธ Exec: node /mnt/c/Users/h4rdc/Documents/Github/coding-agent/moss-search.mjs --query "keyboard hacking" --topK 5

PersonalClawdBot, [2/6/2026 12:55 PM]
๐Ÿ” Moss Search Results
Query: "keyboard hacking"
Found: 10 results

[1] Score: 0.3782 | Legion Slim 7 Key Removal
๐Ÿ“„ legion_slim_7_key_removal_67c4b0df.md
Source: ChatGPT (https://chatgpt.com/c/67c4b0df-e3c4-800f-905f-b873a64ee645)

User:
I have a lenovo legion slim 7 16RH8, can you scour the web and figure ouuut if the keybooard keys are removable? II can try to use force to ...

[2] Score: 0.3452 | Reverse Engineering Keyboard Control.1ash19gnqoquAoDImC
๐Ÿ“„ reverse_engineering_keyboard_control__1ash19gnqoquaodimc_.md
Source: Google AI Studio (https://aistudio.google.com/app/prompts/IXgFFpURwgKek)

User:
so check it out I'm reverse engineering software level control for my laptop's built in RGB keyboard, anyways I dubbed it god mode bc it wou...

[3] Score: 0.3361 | Pixel Art Christmas Tree Keyboard
๐Ÿ“„ pixel_art_christmas_tree_keyboard.md
Source: Google AI Studio (https://aistudio.google.com/app/prompts/1aaQuWBFtPSIUxNWJQT3HgVhcAwO0KTw5)

User:
lol this is a very much "use your imagination" type task im gonna give you, if you squint your eyes can you totally see how this would resem...

[4] Score: 0.2684 | LED.dll_ Keyboard LED Control API_1hrTYJlopf6IfI2BAGXAmf6hLx
๐Ÿ“„ led_dll__keyboard_led_control_api_1hrtyjlopf6ifi2bagxamf6hlx.md
Source: Google AI Studio (https://aistudio.google.com/app/prompts/faOqNu)

#

and that's super fast like its literally instant as far as it feels liek

#

but i'm still "vendored" in to moss's data limits and model quality so being able to use my own GPU + swap out the models for higher quality ones like you wer recommending is def a plus if i can keep search time down to like 1-2 seconds

#

so we'll see after i finish indexing it, the whole point of this exercise is basically to benchmark it lol

meager carbon
#

yup, wont know until u try

storm meadow
#

its interesting how the default models seem to be qwen3 based and my main daily driver model is also qwen3

#

im not sure if id trust an amazon product (granite) over qwen3

meager carbon
#

its IBM isnt it?

#

all i know is its super fast

#

dont see why an open source model would be some kind of honeypot

storm meadow
#

im not sure about honeypots for offline models but i didnnt know granite was IBM, just finished the other 50 million token dataset

dasilva333@DESKTOP-74E3GJO:~/clawdbot_baseline$ time node dist/entry.js memory index --agent coding-agent --verbose 
18:01:28 [plugins] plugin CLI register skipped (memory-core): command already registered (memory)

๐Ÿฆž OpenClaw 2026.2.4 (f16e32b) โ€” No $999 stand required.

Memory Index (coding-agent)
Provider: qmd (requested: qmd)
Model: qmd
Sources: memory (MEMORY.md + /mnt/c/Users/h4rdc/Documents/Github/coding-agent/memory/*.md)

Memory index updated (coding-agent).

real    43m6.198s
user    34m29.914s
sys     6m38.468s

so this oen took 45 mins very interesting lol

short bough
#

so you're using qwen3 for your default model? didn't know they had a non-embedding model

storm meadow
#

like it's the default model that was picked for me when i installed it btw

storm meadow
#

@meager carbon alright first query benchmark is in:

real    0m25.625s
user    0m13.356s
sys     0m4.762s

25 seconds to query 100 million tokens with qmd? I'll take it

sudden sorrel
#

Do you guys have any good resources to read up on multi agent setups?

plain totem
keen bronze
craggy cloud
#

Like you basically still donโ€™t implement native mcp and itโ€™s just a layer to filter relevant tools while requiring the agent to interpret their payloads into cli compatible formats?

plain totem
# craggy cloud Like you basically still donโ€™t implement native mcp and itโ€™s just a layer to fil...

Good questions, let me clarify the architecture.
On MCPClient: For stdio servers, yes, mcp-use spawns child processes. But it communicates via JSON-RPC over stdin/stdout โ€” it's not CLI parsing. The agent never sees shell commands or text output. For HTTP/SSE servers, it's pure network calls with no processes involved.
On the "just a filter layer" concern: You're partially right, and I think there's a stronger architecture we should consider.
The current design registers MCP tools as native OpenClaw tools. The agent calls them with structured JSON params, never interprets CLI payloads. So the UX is native. But fundamentally we're still a bridge, not a true native implementation.
A more interesting approach would be to expose an MCP server that aggregates other MCP servers. Instead of being an OpenClaw plugin that wraps MCPClient, we become a standalone MCP server (built with mcp-use's createMCPServer()) that:

Connects to downstream MCP servers via MCPClient
Applies context-aware filtering and schema compression
Exposes a curated, compressed tools/list and tools/call via standard MCP protocol
Any MCP client (OpenClaw via mcporter, Claude Desktop, Cursor, etc.) connects to us as a single server

This way we're a smart MCP aggregator/proxy, not an OpenClaw specific plugin. The value proposition becomes broader: any MCP client gets intelligent tool curation. And for OpenClaw specifically, mcporter already works with MCP servers, so our aggregator plugs in with zero custom integration.
Would this direction be more aligned with what you're looking for?

storm meadow
#

Like you're saying it's native but I'm doubting it's native so that's really what I'm trying to make sure bc here's my understanding

  • Clawdbot is built on top of pi-coding-agent
  • the developer of pi-coding-agent hates mcp so he refused to integarte support
  • i understand the process involves installing a "plugin" into openclaw so does that allow the agent to make native tool calls the way you did it?
  • so the current "solution" was to just have the agent invoke the exec tool to call the cli app called mcporter to effectively run a shell command that then runs the mcp command to return it's output

So I hate to beat a dead horse but whatever it is you did requires no shelling not even a little bit? lol

plain totem
# storm meadow Like you're saying it's native but I'm doubting it's native so that's really wha...

Yep, I see what you mean. There are two approaches:

  1. exec โ†’ mcporter CLI: that is shell out. The agent runs a shell command and then interprets the output. Not native.
  2. MCP protocol bridge (what Iโ€™m doing): for stdio servers a process may be spawned, but communication is JSON RPC over stdin/stdout. No shell, no command strings generated by the agent, no CLI output parsing. For HTTP/SSE itโ€™s purely network.

So: no shelling, but for stdio there can be process spawning as a transport detail.
If โ€œnativeโ€ means โ€œOpenClaw core implements MCP directly with no adapter at allโ€, then no, itโ€™s still an adapter layer. But the agent experience is native tool calls (structured JSON), not exec/shell hacks.

storm meadow
#

so the plugin you have works as a true mcp implementation for openclaw as far as how everything else works pretty much right? except better bc of that whole fancy tools filtering part right? and i can disable the tools filtering so I can just allow my agent to see all the tools allt he time if i don't care to save on tokens?

#

so how does it work internally? like openclaw's plugin system allows you to hook into the agent's tools so when i do /verbose on I'll see like a new special 'mcp' command and then maybe the input payload where I would see the command?

#

TLDR; plugin spawns mcp server process > hooks into pi-coding-agent > agent can make native mcp tool calls through plugin?

feral harness
#

I havenโ€™t investigated yet but something changed in the telegram implementation. Now my agent replies when all the tool calls finished, I donโ€™t get partial messages anymore. All at once.
Sharing in case someoneโ€™s on the same boat

storm meadow
feral harness
#

Whatโ€™s that new config key? Do you remember?

storm meadow
#

yeah so i was on telegram and my settings looked like this:

      "streamMode": "partial"

and then after a certain pull the same thing happened I would describe it as "i would see al the tool calls and then when it's completely finished I would get all the corresponding messages at once"

so i fixed it by adjusting the config like this:

      "blockStreaming": true,
      "streamMode": "off"
short bough
#

how long do beta releases tend to bake before promotion?

radiant whale
#

Hey ๐Ÿ‘‹ quick question: Does OpenClaw run the same instance of a plugin if I have two backends running? Or are they separate?

scenic knoll
#

Anyone else having issues navigating the browser? I'm haveing the following config:

  "browser": {
    "enabled": true,
    "executablePath": "/usr/bin/google-chrome-stable",
    "attachOnly": false,
    "defaultProfile": "openclaw"
  },

But openclaw (codex 5.2), keeps arguing:

"""
I need a Chrome tab attached. Click the OpenClaw Chrome extension icon on the tab you want me to control (badge ON), then I can pull the latest tech headlines.
"""

{
"status": "error",
"tool": "browser",
"error": "Can't reach the OpenClaw browser control service. Start (or restart) the OpenClaw gateway (OpenClaw.app menubar, or openclaw gateway) and try again. (Error: Error: Chrome extension relay is running, but no tab is connected. Click the OpenClaw Chrome extension icon on a tab to attach it (profile "chrome").)"
}
#

I have to keep nudging it via: just use the default profile "openclaw", after this it opens and navigates Chrome.

balmy girder
#

Made my first pr based on a issue I had with matrix, 4/5 greptile confidence score. I imagine it's somewhat of a lottery to get it reviewed and merge by a contributer, right?

#

As with the flood of issues and prs it feels impossible to me to find something to work on which is worthwhile. How is anyone doing it? Are there public tools which track which issues/prs are worthwhile looking into?

plain totem
meager carbon
#

theres always something lol

balmy girder
wispy turret
#

Can I just express my ultimate wishes that #4822 is actually merged soon? ๐Ÿ™‚ Signal borks constantly from the ID case issue. That is all... ๐Ÿ™‚

meager carbon
#

my hybrid frankenstein

#

enjoy

night burrow
#

Hi everyone, we're trying to improve otel support a lot, so you can have an understanding of what's happening under the hood, including token/costs, but also tool calls, etc. If this sounds interesting to you, the PR can be found here: https://github.com/openclaw/openclaw/pull/11100

past vault
night burrow
past vault
#

i was planning on poking around the new usage tab in the dashboard this weekend to see what i could learn from it, but i'll try out your pr!

rancid pendant
#

Has anyone encountered an issue where a browser extension canโ€™t be installed ?
Error: Bundled Chrome extension is missing. Reinstall OpenClaw and try again.

still steeple
storm meadow
#

hey @plain totem I'm trying your plugin now, feedback incoming. already i have a question. What does "auto discover" do? like how would the code automatically discover mcp servers? is it set to look at common mcp config files and import from them like mcporter?

storm meadow
#

oaky check this out Gabe I'm stuck at just the plugin installation phase:

Downloading gabrielekarra/openclaw-mcp-bridgeโ€ฆ
Extracting /tmp/openclaw-npm-pack-lk6BdM/openclaw-mcp-bridge-0.1.0.tgzโ€ฆ
Error: package.json openclaw.extensions is empty

I think im gonna try the lternative way and see if i can get that to work

#

Okay I see you need to make sure you include tsup into the dev dependencies that's why I couldn't install it automagically

storm meadow
#

@plain totem alright so you def have issues with tsup and typescript and the way you set it up so i had to do a bunch of manual stuff. Now here's where it gets weird.... it looks like a bug with openclaw rather than an issue with your package like i dont know what openclaw is thinking

look at this:

async function ensureOpenClawExtensions(manifest) {
    const extensions = manifest[MANIFEST_KEY]?.extensions;
    if (!Array.isArray(extensions)) throw new Error("package.json missing openclaw.extensions");
    const list = extensions.map((e) => typeof e === "string" ? e.trim() : "").filter(Boolean); //<- wtf is that? its basically requiring the extensions array to be a JSOn stringified array of objects?
    if (list.length === 0) throw new Error("package.json openclaw.extensions is empty");
    return list;
}

so I fixed it by modifying your package.json like this:

  "openclaw": {
    "extensions": [
      "{\"type\":\"tool\",\"id\":\"mcp-bridge\",\"entry\":\"dist/index.js\"}"
    ]
  },
plain totem
blissful dirge
#

Hey team โ€” I submitted a feature request for Masked Secrets (#10659) and wanted to share why it's urgent.

Tonight my agent accidentally displayed my API keys in plain text in our chat. Twice.

The agent has full read access to my .env file, and even though it "knows" not to display them, it did anyway when troubleshooting an auth issue.

The proposed feature would:

  • Use {{secret:VAR}} syntax so the agent never sees raw values
  • Auto-redact any accidental output
  • Actually protect secrets instead of relying on agent discipline

This feels like a security gap that others will hit too. Would love to see it prioritized.

Issue: https://github.com/openclaw/openclaw/issues/10659

Thanks!

dense harbor
#

I just installed Discord and I ran a bug hunt on the app and have some solid refactors.

feral harness
#

I can start testing and addressing these tomorrow, but with the flow of PRs I honestly donโ€™t know when they will be picked up.
I have a sandbox to develop and test, Iโ€™ll send PRs if I can reproduce and fix or mitigate

Thank you!

forest mesa
#

Does Opus 4.6 not support Oauth? Not possible to get it working with OpenClaw unless we use our API KEY?

scenic knoll
#

Any idea why it tries downgrading when I try to update!?!?!

vedtam-MacBookPro13-1:~$ openclaw update
โ”‚
โ—‡  Downgrading from 2026.2.3-1 to latest (unknown) can break configuration. Continue?
โ”‚  No
Update cancelled.
#

the second time it worked, but it's still weird

lusty island
#

Anyone having issues with controlUI, it's literally not responding to messages whatsover, and refreshing the page removes the messages?

patent geyser
#

Are you using chatgpt 5.3 codex?

#

Because I am having the same issue

lusty island
#

I'm not actually, using grok brother

patent geyser
#

I see

lusty island
#

Literally non responsive to whatever I send it

#

I wanted to spin this up fast, so used Hostinger, which has been working fine since this morning... now nothing... I used 'openclaw status --all' in the terminal and it says gateways aren't running, not connected etc...

patent geyser
#

Just ask gemini

lusty island
#

what do you mean bud

patent geyser
lusty island
#

thanks

cold egret
#

everytime my credit balance go to zero, i refill them but my clawdcontrol chat still loads and doestn answer me anything. anyway to restart him on the web?
@slate fjord

cinder cove
#

Lads (& ladies?) what do ye do when your agent doesn't quite know how to do something?

Example: You're trying to use Microsoft graph REST API for whatever. The agent isn't quite getting the implementation right or its knowledge of it isn't accurate. (this is purely an example btw). Do ye go research yourself and send it the docs, or link it or?

I generally research myself and send it the exact link, for instance the rest api doc for graph, and get it on research mode to figure it out.

Curious on what others do.

opaque blade
#

Tried to install and it won't

curl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

OpenClaw Installer

[OK] Windows detected
[!] Node.js not found
[*] Installing Node.js...
Using winget...
Failed in attempting to update the source: winget
Failed to open the predefined source; please report to winget maintainers.
An unexpected error occurred while executing the command:
create_directories: Cannot create a file when that file already exists.: "C:\Users\markg\AppData\Local\Temp\openclaw-install.ps1\WinGet"
[OK] Node.js installed via winget
[!] Node.js not found

Error: Node.js installation may require a terminal restart
Please close this terminal, open a new one, and run this installer again.

As you can see, there is conflicting information, Node.js is installed but then its saying it can't find Node.js

Suggestions please.

tender crater
#

seriously

cinder cove
tender crater
#

just ensure the agent understands here ill show u

#

Skill: Microsoft Graph REST API

Description

This skill teaches the AI agent how to use the Microsoft Graph REST API. It covers basic concepts, authentication, endpoints, and step-by-step operations. The skill is designed to allow the AI agent to guide a user through simple API calls and understand responses.


Core Concepts

1. Microsoft Graph

  • Microsoft Graph is a REST API that allows access to Microsoft 365 data.
  • Examples of data you can access:
    • Users, groups, and organizational info
    • Emails, calendars, and contacts
    • OneDrive files
    • Teams data

2. REST API Basics

  • REST APIs use HTTP requests: GET, POST, PUT, PATCH, DELETE.
  • A request is made to a URL endpoint and can include headers and body data.
  • Responses usually come in JSON format.

3. Authentication

  • Microsoft Graph requires OAuth 2.0.
  • Steps:
    1. Register an application in the Azure portal.
    2. Get client ID and tenant ID.
    3. Request an access token.
    4. Use the access token in your HTTP request header:
      Authorization: Bearer <ACCESS_TOKEN>
      

Step-by-Step Operations

Example 1: List Users

  1. Endpoint: GET https://graph.microsoft.com/v1.0/users
  2. Add the header:
#

u have to be more basic

#

but u teach the agent

#

you are relying on the llm logic to solve it

#

u need to provide the tools for the llm to execute

cinder cove
#

So your solution for every issue is make a skill for the agent to understand what it is you are trying to do. I might never use that again. Waste of time to me when I can just pass it URL > Deep Search > Output.

#

Skills are fine for consistent problems you'll face, not problems in isolation.

gloomy umbra
#

Skills are practice projects, pointing it at the docs is giving it Stack Overflow. Both are valid approaches.

#

@cinder cove I find that a link to docs along with an explanation of what it might be getting wrong often helps, even if the explanation isn't super detailed.

cinder cove
#

If it has context of what we are building at the time, it helps a lot too if the explaination isn't detailed.

#

actually. This has given me an idea. Nice unintentional idea there Hacker lol

teal mango
#

I am having an issue with session context. I have no problem creating systems that can run or be called by the bot, but these systems can not directly affect the session context. Has anyone figured this out yet?

for example:
THIS WORKS
Operator instructs Bot to do OperationX => Bot executes OperationX.py => reads output into context => can discuss output

THIS DOESNT WORK
Hearbeat executes OperationX => output get sent to context => Bot might decide to send a message to Operator based on this event

#

heartbeats are ephemeral isolated sessions that don't affect the main session context at all. How can I push to the session?

#

It would be awesome if there was something like a context buffer that would be recalculated for every API call, or a stack that can be pushed to that would retrigger the agent

gloomy umbra
trim bronze
mighty jungleBOT
# trim bronze One-click cloud hosting for OpenClaw AI agents. Check out more on X: https://x....

Introducing ClawHost (clawhost.cloud)), an open-source, one-click cloud hosting platform for OpenClaw AI agents.
๏ธ€๏ธ€
๏ธ€๏ธ€With ClawHost, you can:
๏ธ€๏ธ€
๏ธ€๏ธ€- Deploy OpenClaw instances with one click
๏ธ€๏ธ€- Run and manage multiple instances
๏ธ€๏ธ€- Get full VPS access and control
๏ธ€๏ธ€- Use custom domain
๏ธ€๏ธ€- Rely on managed security and maintenance
๏ธ€๏ธ€- Access your instances globally with reliable uptime
๏ธ€๏ธ€
๏ธ€๏ธ€Built for both technical and non-technical users who want to run OpenClaw without managing infrastructure.

**๐Ÿ’ฌ 2โ€‚๐Ÿ” 1โ€‚โค๏ธ 6โ€‚๐Ÿ‘๏ธ 78โ€‚**

โ–ถ Play video
cinder cove
cinder cove
warm zodiac
#

how do you guys go about testing locally your agents, like a test suite or similar to classic testing frameworks?

frigid crypt
#

Did anyone figure out how to pair OpenClawd with WhatsApp when deploying via a RailWay template? I can't get it to work...

meager carbon
#

this is next level if u get it working

vagrant kiln
#

Open-source multi-tenant layer for OpenClaw with one-click onboarding. Each user gets isolated Docker containers, encrypted vault (AES-256-GCM, Argon2id), and OAuth integrations. Self-hostable. Hope it is useful to someone; have at it! https://github.com/jomafilms/openclaw-multitenant

high apex
#

im having an issue with openclaw cron jobs, it isnt working no matter what I do. Any suggestions on how to fix it?

marble lotus
#

having node issues big time

  • Setup: OpenClaw Gateway running in WSL2. OpenClaw Desktop app running on the Windows host.
  • Problem: The desktop app authenticates successfully and appears in the "Paired Devices" list. However, it does not register as a "Node." The "Nodes" list is empty, and clawdbot nodes status confirms this. Consequently, tools like canvas fail with a node required error.
hollow ivy
#

posted an issue? good to post with logs

#

go into detail on yoursetup too, channels, timing etc

quick breach
#

๐Ÿ› Bug: Sandbox docker exec passes empty PATH, breaking shell execution (Windows)

Environment: OpenClaw 2026.2.6-3, Windows 10 (26200), Docker 29.2.0

Issue: Shell commands in the sandbox fail with exec: "sh": executable file not found in $PATH. The container image (openclaw-sandbox:bookworm-slim) has sh at /usr/bin/sh and a correct PATH in its config, but when OpenClaw calls the Docker API to exec, it appears to pass an empty PATH environment variable, overriding the container's default.

Repro:

โ€ข docker exec -e PATH="" <container> sh -c "echo hello" โ€” reproduces the error
โ€ข docker exec <container> sh -c "echo hello" โ€” works fine
โ€ข docker exec -e PATH="/usr/bin:/bin" <container> sh -c "echo hello" โ€” works fine
Workaround: Set tools.exec.host to "gateway" to bypass the sandbox.

storm meadow
pseudo rose
#

Hey folks! Working on a PR to add a new bundled hook (SessionVerse) that fires on session:end events to auto-generate session summaries. Got the code working (tested manually), but can't get bundled hooks to actually load/fire.

Merged latest main into my feature branch (2026.2.6-3 from source), rebuilt everything, restarted gateway multiple times โ€” zero hook discovery logs on startup, no hooks firing on events.

Config has hooks.internal.enabled: true, handler compiled fine (9.04 kB in dist/bundled/session-verse/handler.js), but the gateway just... doesn't see it?

Is there a config incantation I'm missing, or is bundled hook discovery still busted? Been debugging this for hours and want to make sure I'm not chasing a known issue before I submit the PR.

(Hook itself works great when manually invoked, so the code's solid โ€” just need the auto-loading to work)

Thanks! ๐ŸŽ‹

steep moth
#

in clusters of most common issues

meager carbon
storm meadow
# meager carbon thats just an early attempt. still have to test properly and debug.

WOAH you're a beast dude hell yeah that's so awesome I'ma ctively setting it up in my machine, it's trick bc I've got the server running in wsl and the frontend running in windows > docker and I'm getting "server at capacity" but the backend is supposedl running fine so I might just skip trying to test it using the frontend and skip right into intergration of your plugin?

#
[CPP] llama_context: Flash Attention was auto, set to enabled
[CPP] llama_context:      CUDA0 compute buffer size =   322.33 MiB
[CPP] llama_context:  CUDA_Host compute buffer size =     9.51 MiB
[CPP] llama_context: graph nodes  = 627
[CPP] llama_context: graph splits = 2
[CPP] flowGGUFModelLoader: init_backend device=gpu:1, gpu_idx=1, backend=CUDA0
้ข„ๅˆๅง‹ๅŒ–ๆˆๅŠŸ: {'success': True, 'media_type': 1, 'use_tts': True, 'voice_audio_used': False}
MiniCPMO C++ HTTP ๆœๅŠกๅ™จๅˆๅง‹ๅŒ–ๅฎŒๆˆ
[CPP] srv  log_server_r: request: POST /v1/stream/omni_init 127.0.0.1 200
ๆญฃๅœจๆณจๅ†ŒๆœๅŠก่Š‚็‚น: url=http://10.0.0.91:8021/api/inference/register, data={'ip': '172.17.147.217', 'port': 9060, 'model_port': 9060, 'model_type': 'simplex', 'session_type': 'release', 'service_name': 'o45-cpp'}
ๆœๅŠก่Š‚็‚นๆณจๅ†ŒๆˆๅŠŸ: {"service_id":"172.17.147.217:9060","message":"ๆœๅŠกๆณจๅ†ŒๆˆๅŠŸ"}
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:9060 (Press CTRL+C to quit)
meager carbon
storm meadow
#

see that looks positive right?

meager carbon
#

yup

#

they were going to release their own with the audio output done but i was impatient

storm meadow
#

but then i get in the frontend when i click start call:

Server at capacity. Please try again later.

So I'm actively debugging that, already I had to adjust token2wave-impl.cpp and minicpmo_cpp_http_server.py just to get this far

meager carbon
#

it converts wav to opus for TG

#

this model is so cool, it does vision too

#

one stop shop for openclaw imo

storm meadow
meager carbon
#

the only thing that sucks is the vocoder

storm meadow
#

i actually went out of my way to disable vision just so that it stays performant on my 8gb video card

#

are you running it on mac?

meager carbon
#

no linux

storm meadow
#

that might be why you've having better luck you're not trying to disable vision and you don't have some weird hybrid setup lol

meager carbon
#

well my setup is remote local gpu so i have to pipe it through the endpoint

#

cause i got distributed nodes on a homelab

#

so its a few extra steps

storm meadow
#

oh i see yeah that does sound pretty advanced, here's what my AI is saing about what it's seeing from the logs

The frontend logs are telling us the exact failure point: ่Žทๅ–ๅˆฐ็š„token: null -1. This means the request to the Backend to get a LiveKit token failed. Why? Because the Backend checked Redis for an available "Inference Node" and found none.
Even though you registered the node manually via curl, Redis might have expired it (Heartbeat timeout) or the backend rejected it because of a metadata mismatch.
meager carbon
#

hmk

#

i'll take a look at it later today

#

got a few other things to shore up first

#

u can also check their official git, they supposedly updating their code to allow audio out

gleaming hill
#

Hey there. I am working on a plugin which is supposed to hook into the system prompt to add additional lines (or even ideally replace the agent SOUL.md, AGENT.md etc and inject system prompt lines instead of these). I thought I could use prependContextto inject the system prompt, but it turns out it injects the user message. The JSDoc in hooks.js:85 says "inject context into the system prompt" but this seems to be a documentation bug. it actually goes into the user message.
OpenClaw's Extension system (separate from Plugin system) CAN replace system prompt via agent.setSystemPrompt(), but this API is not available to plugins I think.
There is hookResult.systemPromptwhich is merged by hooks.js:89-94 but never consumed by attempt.js => is this dead code?

scenic knoll
#

I'm having these settings in the config:

  "browser": {
    "enabled": true,
    "executablePath": "/usr/bin/google-chrome-stable",
    "attachOnly": false,
    "defaultProfile": "chrome"
  },

But the bot can still open a "openclaw" profile whenever it likes. Aren't these properties in the config hard requirements? Check this answer from the bot:

ME: Why are you getting around the config? By default you should use "chrome" profile.

BOT: Youโ€™re right โ€” I shouldnโ€™t have defaulted to openclaw in that first run.

What happened is simpler than it looks: the browser tool doesnโ€™t automatically โ€œinheritโ€ your gateway browser.defaultProfile unless I omit the profile and the integration layer applies it. In my first call I *explicitly requested* profile:"openclaw" (the isolated profile), so it used that regardless of config.

Why I did it: I default to the isolated profile unless you explicitly want your real Chrome state (signed-in, cookies, personalization), because itโ€™s the safer baseline. But given your config (and your expectation), Iโ€™ll follow it going forward: ...
devout kestrel
gray latch
#

Is there any known issue on the cli onboarding for the latest version?

hollow ivy
#

New release just dropped and I havenโ€™t seen any GitHub issues on it yet

regal nimbus
#

Pete was a big fan of gpt5.2. Now that Opus 4.6 and GPT 5.3 are out, does he still prefer gpt?

teal mango
#

Hey devs. Can someone help me understand how to bridge contexts? How could I for instance have a heartbeat session prompt to trigger the main session?

snow galleon
#

Hey if I want to contribute -- do I just push a PR?

craggy jacinth
#

What is everyone using for gmail webhooks? Mine tried to roll it's own thing, but it isn't good when you add multiple accounts

meager carbon
#

put whatever u really want it to follow absolutely in that

scenic knoll
#

@meager carbon thanks! One question, where's claude cli involvved in the process? I thought the agentic loop is based (more or less) on pi-mono?

humble walrus
#

theres a gmail hook built in

craggy jacinth
meager carbon
scenic knoll
#

@meager carbon phew, that's important, thanks! I've been learning about the agentic loop, read all I've could find in the docs (agent runtime / loop), but there, the only importet piece was pi-mono!

scenic knoll
#

@meager carbon , it looks like there's no Claude APIs involved in the agentic loop. The path is simple, ex:

browser-tool
---> openclaw-tools.ts (instantiation)
---> pi-tools.ts (resolution / merge)
---> attempt.ts (runner initialisation)
---> pi-coding-agent (execution loop).

meager carbon
#

weird, i must have an alien install then

#

how does openclaw natively use claude sub then?

regal nimbus
#

And we had a change last week

vale atlas
#

Hello All ,
Iโ€™ve been working on a Web UI V2 for OpenClaw while running OpenClaw locally for development.
Itโ€™s a modern chat-first / ChatGPT-style interface that runs alongside V1 at /v2/chat โ€” the existing UI remains available and doesnโ€™t break.

To support V2 I had to touch control UI + gateway + backend, but all changes are intended to be backward-compatible.

Details, screenshots, and feature list are in the GitHub Discussion (feedback welcome โ€” first OSS contribution):

https://github.com/openclaw/openclaw/discussions/13363

If thereโ€™s interest, I can split this into small reviewable PRs (gateway/backend minimal first, then UI shell, then projects, etc.). Any guidance on the preferred approach is welcome.

vale atlas
# vale atlas Hello All , Iโ€™ve been working on a Web UI V2 for OpenClaw while running OpenClaw...

What V2 adds
Multi-chat sidebar โ€” conversation list with date grouping, search (Cmd+K), pin & archive
Projects โ€” group chats and their file attachments into named, color-coded workspaces
Live model switching โ€” provider-grouped dropdown in the compose bar, applied instantly
Per-session skill toggles โ€” enable/disable skills from a popover in the compose bar
File attachments โ€” multi-file picker, paste, drag & drop with size validation and thumbnails
Edit & Regenerate โ€” edit any user message or regenerate any assistant response
Slash command autocomplete โ€” type / for a keyboard-navigable command popover
Voice I/O โ€” speech-to-text input + TTS read-aloud (gateway-first, browser fallback)
Linked chats โ€” reference other sessions as context, scoped by project
Light / dark theme โ€” one-click toggle in the header

warm grove
jovial anvil
#

@gentle rune hello welcome new geek

craggy jacinth
#

Iโ€™m having major issues with gog and multiple emails with webhooks and pub/sub. has anyone figured this out properly?

craggy jacinth
#

Iโ€™d like to see a full webui replacement

vale atlas
# craggy jacinth Does this only address chat?

Itโ€™s not only chat โ€” itโ€™s a full Control UI redesign + lots of new features (multi-chat, projects/files, search, slash commands, attachments, live model/skills, voice, edit/regenerate). The old V1 pages are reachable via a central Settings/Navigation modal.

vale atlas
craggy jacinth
vale atlas
craggy jacinth
vale atlas
# craggy jacinth Both, thereโ€™s so much unfilled in the original settings. Itโ€™s also really hard t...

Thanks โ€” that makes sense. I agree: the current Settings UX is rough and a lot of fields are unclear/empty.

Iโ€™ll prioritize a Settings overhaul in V2: prefill current gateway values + show documented defaults, and improve navigation (grouping, search, clearer labels/help).

If you have 2โ€“3 specific pain points (which settings you struggle with most), drop them here or in the GitHub discussion and Iโ€™ll target those first.

craggy jacinth
#

Iโ€™d say those two things are the top

vale atlas
craggy jacinth
#

Anyone know how to setup alexa cli? I can't find the refresh token

scenic knoll
meager carbon
frail sonnet
#

ZAPลACฤ˜ ZA POMOC W SKOFIGUROWANIU OPENCLAW Z MOIM TELEGRAMEM. SZUKAM SPECJALISTY OD N8N i OPENCLAW . ๐Ÿค– ๐Ÿ’ฐ ๐Ÿค– ๐Ÿ’ฐ ๐Ÿค– ๐Ÿ’ฐ

glossy mountain
#

TLDR; One of the co-authors of transformer pattern for AI creates a protocol called NEAR, attempts to create an openclaw rewrite on rust and webassembly, system is tightly coupled with his product, someone shows up and says; fu I need cheap model providers

#

PS I'm also one of the early contributors

#

rust and webassembly part I definitely appreciate but not this way

warm grove
# meager carbon https://github.com/kronael/claude-serve

This is hilarious (and also genius). Just shoves claude -p inside a LLM API. Why the f didn't I think of that XD
I had a similar idea, I just shoved claude -p directly in my telegram bot. To turn it back into an actual LLM API is an amazing "f you" to anthropic though hahaha.

Pro tip: it is also trivial to support codex with such a setup, only requires changing a few strings

warm grove
meager carbon
topaz inlet
#

Hi @devout kestrel

warm grove
#

You can get sessions with --continue flag. Haven't looked into multiple though but I think that's supported too

#

Incidentally it's nice having 2 separate bots on one machine, so I can have them fix each other ๐Ÿ˜

#

And I found that Claude code in telegram already meets most of my needs. So my poor man's claw is 50 lines of code.
Kinda cheating tho since it just uses Claude Code. For my next project I try to replicate Claude Code in 50 lines too ๐Ÿ˜

meager carbon
#

to run max sub safely

warm grove
#

Can you send a video or screenshot or something

#

Oh you just mean on the API side. Yeah Anthropics banning everything that isn't CC now

meager carbon
#

no lol, but might put it up on a git eventually. my setup is convoluted. i have it routing through a modified agent-smith as well

#

everything gets sanitized before it even reaches the LLM

#

shit is like fort knox at this point ๐Ÿ˜†

#

for tools i made a custom mcp that exposes the gateway RPC

warm grove
meager carbon
#

lol

warm grove
#

Which implies that a fully functional agent in ~50 LoC is possible

meager carbon
#

yeah, u can route and proxy around anything really

#

with minimal overhead

warm grove
#

And his tip about tmux is also amazing, I told Claude tmux exists and suddenly it was able to configure OpenClaw interactively thru the wizard

#

Also allows you to see wtf the agents are doing

#

Man's living in the future ๐Ÿ˜

meager carbon
#

my next venture is going to be skill wrapping ralph-orchestrator with agent teams, and codex with gpt 5.3 high for planning and review points.

#

should be a best of all worlds approach lol

#

and integrate that with the openclaw

#

TDD + speed

#

got memory sorted

meager carbon
#

the orchestrator is the best one

warm grove
#

while :; do cat PROMPT.md | claude-code ; done

meager carbon
warm grove
#

That's so funny.. I thought that's what an agent already is

#

Why do we need a 2nd while true around the first one

prime crystal
#

claude 4.5 was lazy

meager carbon
#

its the fact u can bundle it with codex gpt 5.3 high

#

actually cray cray

#

gpt for plan then agent team parallelization

#

then gpt for review

#

thats the cli

meager carbon
#

u can take multiple iterations to work out bugs or u can just one shot it with test-to-code

#

the agent teams parallelization speeds up what is normally slower than normal coding flow

warm grove
#

Man the links you sent here have implemented all the ideas I had this week and much more. That's amazing

meager carbon
#

great minds think alike

#

xD

#

u should see my email setup lol

warm grove
#

Yeah I think it just emerges from usage. Like I was using CC via Tg and it's just silent until it returns so I was like.. would be nice if it sent me some updates.. need a Tg MCP

warm grove
meager carbon
#

the basis of a truly hardened openclaw setup is user permissions (what to put on root or permissioned user vs permissionless user), systemd services, nftables, and hooks etc

#

and firewall

sudden apex
#

Hey everyone, I've been looking at the security around .md skills and had an idea. Right now, we mostly rely on reading the files to spot bad actors, but obfuscated malware is getting better at hiding from static checks.

What if we built a "Skill Verifier" that uses Docker to actually run the skill in a trapped environment first?

Basically:

  1. Spin up a dummy container with fake API keys.
  2. Install the new skill there.
    3 . Watch if it tries to steal the keys or open a reverse shell.

Itโ€™s essentially a "dynamic malware analysis" step before installation. I think this could stop the "jailbreak" exploits we're seeing. Is anyone working on a sandbox/VM approach like this?

We can use lightweight Alpine Linux containers. It only adds a few seconds to the install time, which is worth it for safety.

I am looking for feedback on this architecture. Has anybody tried this out

meager carbon
#

if u set up something that looks at everything that passes through it, u can just reuse it as the gateway for everything, LLM calls, emails, etc

#

and secrets vault

#

also important, so the LLM never sees any

warm grove
#

Is that the agent Smith thing? You mentioned something was sanitizing the inputs

meager carbon
#

yeah agent-smith

#

but what i do is take all the gits

#

find the best one through deep analysis

#

then cannibalize features from the rest that are missing

#

literally the best approach these days lmao

#

if u wanna be a chad u also run a most recent papers deep research to see what else u can add thats bleeding edge

#

agent-smith is what it started as from someone else here

#

now its agent-somethingelse

warm grove
meager carbon
#

and hooked into langfuse

sudden apex
#

so did it actually existing

meager carbon
#

u can filter gray zone prompts that are >0.3 - <0.7

#

and use a kill switch just in case

sudden apex
#

lol ididnt undersatand๐Ÿ˜…

#

i just think the docker idea while seeing yt viedo of the openclaw ,i never used those

lean dove
#

I just got this error message - Can anyone help with a fix?

HTTP 400 invalid_request_error: messages.158.content.1: unexpected tool_use_id found in tool_result blocks: toolu_017CP7ZgStTfc1EY5ok. Each tool_result block must have a
corresponding tool_use block in the previous message.

meager carbon
#

missing param

#

it wants the tool use in the foregoing message to accept tool use result in the succeeding one

lean dove
#

Will a restart fix it or I need to delete the session?

meager carbon
#

not sure youll have to see, but if it doesnt, u need to change the schema to include the tool use, unless it doesnt directly follow the message with the tool use in which case its a different issue

lean dove
#

thx

craggy jacinth
#

Has anyone gotten Alexa working?

#

I can't get a refresh token with the alexacli

storm meadow
#

@meager carbon just got my brand new macbook air like an hour ago and first thing i did was isntall minicpm. it works vey very well at q4km there's like some minimal stuttering but I'm also on battery so i imagine its getting throttled somewhat

floral coyote
wheat knoll
#

Is this where I can ask the devs for feature requests?

storm meadow
#

@meager carbon hey my AI got stuck trying to find the "gguf-tts-api" that has that api/synthesize endpoint, my machine wants to ask you where you got that code from

craggy jacinth
idle raft
#

Can you add google-antigravity/opus-4-6-thinking?

glossy mountain
warm grove
craggy jacinth
idle raft
idle raft
craggy cloud
#

@meager carbon good news buddy I got minipcm working as a tts provider, like I donโ€™t know what the point of your code was it was just adding a gateway proxy? But now I ca do proper /tts audio hello world and have it use the minipcm model now today Iโ€™m gonna play with the voices to get a good one going

polar swift
#

Hey ๐Ÿ‘‹
I help SaaS founders automate things like ads reporting, Slack bots, AI customer support, and MVP builds.
Happy to help where I can.

meager carbon
#

glad to hear u got it working

meager carbon
atomic mirage
#

hay dev is it posible to reinstall openclaw and movieng the file to the new one cuz i install ollma and i found out i cant update it during this relly long journy i broke the the door of the world and ask him to re write himself so its not working now

craggy cloud
#

i'm working now to get it working as a real time bidirectional audio model on discord

meager carbon
#

that works

craggy cloud
#

ill post the code for this sometime, this is a new machine so i haven't set up my github or anything on it lol. i also wanna play with changing the audio cloning config too

#

how cool would it be to have per agent audio voices? i wanna try some crazy ones like elon, morgan freeman, donald trump, jarvis lol

meager carbon
#

ye thats the idea lol.. the only bottleneck is the vocoder, which will make it around 30 sec a sentence, but it should start to synthesize as soon as it gets streaming packets from the LLM

craggy cloud
#

wdym im not sure what you mean by that bc its working real time for me right now

#

like to be clear i got the reference project the o45 frontend as they call it working in real time like 0 lag smooth back to back turn based conversations

#

and then i got a 0 lag solution working for tts like i do /tts audio hello world and in like a second i got the voice note back

atomic mirage
#

i think we should teach poor once to make money openclaw relly can save the world

#

if anyone intersted we could work togater to make sure that happen

meager carbon
#

so yeah u dont need the gguf with vocoder

#

but i have one 24gb card with multiple models doing different shit

#

so i need to use the gguf with vocoder

craggy cloud
#

i just have a macbook air m4 with 16gb of unified memory and it works fine with the q4km quant

#

@meager carbon sent you a DM if you wanna watch me implement it lol

meager carbon
#

what u got serving the model?

craggy jacinth
#

Anyone have luck with GLM 5 yet?

thick kayak
#

I have it running through nanogpt

#

works quite well

round nest
gray latch
#

Hello guys, when running openclaw onboard non-interactive (with gateway bind to lan), the wizard does not generate device-auth configurations and does not automatically pairs the cli client. Is this something done by design?

I feels like this breaks the entire user experience, as you're pretty much locked out of using the cli

celest stone
#

Is there some specific config needed to be able to call the exec tool via the REST /tools/invoke endpoint remotely?

thick kayak
#

what is your config settings to get

knotty anvil
#

if i run bots all day would it be cheaper to use lambda or anything similar with a big advanced model than using Antropics API's?

gray latch
royal idol
#

openclaw works on windows machine?

#

when i run this command, npm install -g openclaw@latest, got the following issue.

#
npm warn cleanup   ]
npm warn cleanup ]
npm error code 1
npm error path C:\Users\user\AppData\Roaming\npm\node_modules\openclaw\node_modules\node-llama-cpp
npm error command failed
npm error command C:\Windows\system32\cmd.exe /d /s /c node ./dist/cli/cli.js postinstall
npm error [node-llama-cpp] Cloning llama.cpp
npm error ^[[?25l[node-llama-cpp] Cloning ggml-org/llama.cpp (local bundle)                    0%
npm error ^[[2K^[[1A^[[2K^[[G[node-llama-cpp] Cloning ggml-org/llama.cpp (local bundle)                    0%
npm error ^[[2K^[[1A^[[2K^[[G[node-llama-cpp] Cloning ggml-org/llama.cpp (local bundle)                    1%
#

my node version is 24.13.0
npm version is 11.6.2

royal idol
#

hello dev team, nobody to help me about that kind of error?

flat thornBOT
vague moth
#

So, I am using opus 4.6 with openclaw. That said, i ran into an error. Claude is diagnosing it. It mentioned how the context window is set to 100000. (I did that) I understand that 4.6 has a that large of context in beta and it has been working since release with this setting. My question is, Is this context window leading to the following error: LLM request rejected: messages.394.content.1: unexpected tool_use_id found in tool_result blocks: toolu_01VpPg7xGijV1NXsksmcgoqu. Each tool_result block must have a corresponding tool_use block in the previous message.

wraith sage
#

i guess not, sounds more like tool problems

astral mirage
#

is there a plugin that enables sending image files through the web ui? or anywhere for that matter? the MAX_PAYLOAD_BYTES is capped at 512kb

ancient kestrel
#

send it through telegram?

astral mirage
#

it worked. thanks @ancient kestrel

ancient kestrel
#

im building email infra for agents, sdk-first and with attachments handling. setting it up for free -- can i dm you?

astral mirage
#

sure. ill take a look. i released clawcipes.ai ; creating teams of agents from recipes. im using files verse db or direct communication. might be interesting to check out what you have

ancient kestrel
#

cool, ill dm you

spice radish
#

has anyone used the google sdk and vertex model garden api setup yet? going on a couple days of wokring on it and im close just curious if someone else has figured it out already

spice radish
celest stone
#

I want to provision a server, install openclaw and setup the model + telegram. I can do this via cloud-init but I want to be able to run the pairing step via REST if at all possible. Anyone know how this can be done or what direction to look in? Been trying with the /tools/invoke endpoint but exec doesn't work and I'd rather not have to use something as powerful as exec. Also don't want to have to ssh into the server.

jovial anvil
#

Just a heads up:

MiniMax is dropping their unreleased v2.5 model probably soon.
MiniMax gives me 3 whitelist spots for early access testing.
Active OpenClaw contributors/maintainers first. Who wants one?

shell oar
#

anyone had problem with their openclaw bot not responding since the last update?
it's been working really bad past couple days

#

Like its working in the background but not responding until its done

thick kayak
#

@shell oar
I had Kimi etc. output all response as "thinking" and newest commits have stricter sanitization of thinking in outputs

#

"## OpenClaw Runtime Behavior

Thinking Token Sanitization

  • Newer OpenClaw versions strip thinking/reasoning tokens from chat output
  • This prevents non-output tokens from leaking into user-facing messages
  • If the model only generates thinking without actual output content, the message will be empty/silent
  • When using thinking models, ensure actual response content is generated, not just internal reasoning"

i put this into AGENTS.md and then it was remembering to also output a final text answer

floral quest
#

hey here, I'm wondering, as OC now allows us to use openai Oauth, and therefore to use our gpt plus/pro account instead of API credit, how hard would it nbe for me to add Oauth to my own projects that uses AI as support ?

#

anyone knowledgeable about this ?

#

as a matter of fact there are so many things I'd like to move to this sub instead of paying for api credit all the time

glad flume
#

Sharing a tool I've been working on: codesession-cli a Node.js CLI + React dashboard for tracking AI agent session costs.

Stack: TypeScript, SQLite (better-sqlite3, WAL mode), Express 5, React 19 with Recharts. Ships as a single npm package with the dashboard bundled.

Some things that might be useful to others building agent tools:

Built-in pricing table for 17+ models with auto-cost calculation from token counts
Session-scoped git tracking (file changes + commits per session)
Programmatic API for embedding in other tools: session.logAI('anthropic', 'claude-sonnet-4', tokens, cost)
Budget enforcement with configurable limits
npm: npm install -g codesession-cli
GitHub: https://github.com/brian-mwirigi/codesession-cli
Also on ClawHub: brian-mwirigi/codesession

thick kayak
plain atlas
#

I created my own implementation of openclaw in rust with all the basic features and some advanced features, it has a sleak TUI uses openrouter and telegram: don't forget to star the repo to support me ๐Ÿ™
https://github.com/witong42/OpenSpore

shell oar
shell oar
thick kayak
shell oar
obsidian basin
#

I am a new clawdbot user and I have been experiencing a health check failure for my node. I can do it and Tailscale has also found a solution. I just need to do the health check. Can anyone help me? I am trying to use the OpenClaw Companion App.

warm grove
floral quest
warm grove
#

illegally, and people are getting banned constantly

floral quest
#

hm, ok, I get it

shell oar
#

im using my gemini subscription, using the antigravity

#

works good so far

floral quest
#

too bad they are banning people for that. but as I am paying for a crazy expensive sub, 200$ monthly, I guess they cannot start telling me I am using too much tokens, right ?

warm grove
shell oar
#

maybe they had excessive usage

warm grove
warm grove
#

@wary inlet can you confirm? XD

shell oar
#

but you can connect it to 3rd legal way

#

so what's the point banning?

#

It's connected via Oauth

floral quest
#

well, I guess everything could become a codex skill then ?

#

instead of developing our own tools, we could just dev skills, and use them from inside codex / etc. ?

warm grove
#

That's probably gonna piss them off too, but it's gonna be a lot harder to ban ๐Ÿ˜

warm grove
floral quest
#

yeah, they do have plugins to read word and pdf files already, which I believe can RAG stuff now, and building a little side db aside is easy peasy using codex now...

warm grove
#

But a guy here really blew my mind, he wrapped the whole thing in an LLM API. So then you can plug OpenClaw directly into it ...

warm grove
warm grove
floral quest
#

as I said in the other general chan, I decided I had to upgrade from openaiplus to openai pro this morniong, as I did hit my limits one more time (vibe coding a lot)

warm grove
#

they're gonna regret adding the headless mode soon i think

#

or they will have to change their attitude or their pricing

floral quest
#

so, I'd like to figure out ways to feel less violated by openai, and make use of the pro plan ๐Ÿ˜‰

#

200$ is....quite a lot of money for a lot of people, but if I could make use of openai to finally RAG, get real reminders and make my whole pro life easier and more structured, then it might be worth the price

#

200$ to stop searching my email all the time for past information, to stop digging my files again and again, to get clear reminders automatically based on my RAG'ed files content, etc.

warm grove
#

#general is talking about ToS violation bans on AI subscription services due to OpenClaw right now

floral quest
#

damn, I just did install it this morning ๐Ÿ˜„

#

didn't even try it yet....

#

but as I said, I'm not married to this or that solution, if codex can enable this, "legally" its fine for me.

#

there is even an included skill creator right within codex app

wary inlet
fickle hawk
#

@wary inlet clawdbot made ur website?

wary inlet
#

Which one?

fickle hawk
#

atbphosting

wary inlet
#

No lol

warm grove
primal flower
#

OpenAI Codex doesn't seem to have a problem, they even show 'other' on the daily usage chart seperate from CLI usage

#

kimi-code actively advertise it usage for OpenClaw

storm pecan
#

Between openai and antigravity, how would you guys say the usage rates compare?

latent rain
#

Hey folks! ๐Ÿ‘‹ Submitted a draft PR for PIC Standard integration โ€” a plugin that enforces Provenance & Intent Contracts on tool calls before execution.

What it does:

  • before_tool_call hook verifies agent's intent proposal via HTTP bridge
  • Fail-closed design (bridge down = tool blocked)
  • Policy-based gating for high-impact tools (money, privacy, irreversible)

Looking for feedback on:

  • API shape / hook usage patterns
  • Config UX (bridge URL, timeout, policy file)
  • Anything I'm doing wrong in the plugin structure

Issue: https://github.com/openclaw/openclaw/issues/9753
Draft PR: https://github.com/openclaw/openclaw/pull/14704

Thanks! ๐Ÿ™

velvet estuary
#

Where do openclaw devs need help right now? I want to contribute.

sacred night
vale atlas
# vale atlas What V2 adds Multi-chat sidebar โ€” conversation list with date grouping, search (...

Security hardening update :

Transport / exposure defaults

  • Default local-only (loopback) unless explicitly configured.
  • Non-loopback plain HTTP is blocked; TLS/HTTPS is required when binding to LAN/WAN.
  • Native TLS support (self-signed generation) + optional HTTPโ†’HTTPS redirect when TLS is enabled.
  • HSTS enabled when HTTPS is detected (reverse-proxy aware).

Authentication / authorization

  • Gateway-side username/password auth with scrypt hashing + timing-safe verification.
  • Session-based auth (HttpOnly cookies, SameSite, Secure when HTTPS), sliding TTL + refresh.
  • RBAC roles (admin/operator/viewer) mapped to scopes; all WS methods gated by scope.
  • Session revocation: HTTP + WS + CLI (โ€œrevoke all sessionsโ€).

2FA / recovery / onboarding

  • Optional TOTP 2FA (RFC 6238) with QR setup + UI challenge flow.
  • Backup/recovery codes (hashed) + progressive rate limiting on recovery/reset paths.
  • First-time setup wizard for initial admin creation + optional 2FA prompt on onboarding.
  • CLI lifecycle for 2FA (setup/disable/regenerate backup codes), plus password change.

Web hardening baseline

  • Strict security headers: CSP (connect-src 'self'), XFO/Frame-ancestors none, nosniff, referrer policy, etc.
  • Permissions-Policy updated for voice input: microphone=(self).
  • CSRF protection for state-changing HTTP endpoints; strict Origin/Host checks + locked-down CORS.
  • WebSocket hardening: auth-required WS, strict origin validation, no โ€œopen WSโ€.

Data safety / limits / secrets

  • Server-side validation + caps across user-controlled resources (projects, file IDs, sizes, counts).
  • Safer file handling (limits, controlled storage; path traversal protection).
  • Sensitive values redacted from UI/logs/errors.
  • Device identity hardened (Ed25519 moved from localStorage to IndexedDB; legacy purged).

...

Docs:

  • Web UI V2 features (incl. security section): docs/web-ui-v2-features.md
  • Full changelog: docs/UI_changelog.md

==> https://github.com/openclaw/openclaw/discussions/13363

lilac wadiBOT
#

@celest narwhal

flat thornBOT
#

@vale atlas, please don't ping Peter for issues, use #1459642797895319552 or #users-helping-users if you need help, use #clawtributors to discuss PRs, or use any of the many other channels in this server as they're intended.

If you have a problem with the Discord specifically, use #report or DM @humble walrus
-# Your message was reposted above without the ping active for the sake of conversation.

sudden pollen
velvet estuary
#

Not exactly the same architecture!

wheat knoll
#

If anyone in here has access to how their context windows function, Iโ€™m looking for people who would be willing to test a memory retrieval system that would theoretically cut token cost from 140k-โ‰ˆ20/25k (using my average costs)

sinful bough
wary inlet
#

i used all models, so claude included, but i'm currently testing it

one account only gemini models, one account using both claude and gemini, one not using oauth

sinful bough
#

and the account that only used gemini, did u use antigravity pool?

#

im using the gemini-cli pool with flash only with 6 accounts and never got banned

#

i wonder if its only the antigravity pools that get banned

#

also do u have a tip how to get more google accounts? i dont have any phonenumber left ๐Ÿคฃ

feral harness
#

Did I dream it or was someone working on a UI to see openclaw's logs and traces? If not I'd like to build one. I'd like to see what's happening under the hood when we're not talking (I have a lot of crons, webhooks, heartbeats, etc...)

ancient wharf
wary inlet
#

They're banning everyone using oauth highjacking, doesn't matter if they use multiple or not

feral harness
#

Thanks. Iโ€™ll check it out