#General Trash

47 messages Β· Page 1 of 1 (latest)

latent dust
#

Ok so nothing is working. when i start openclaw, i already have 27k tokens used, its slow, unresponsive and makes mistakes.

it doesnt even show when i post something new in the chat and deleted my entire workspace becaus nemotron super misunderstood me. it autoapproves tool callings.

cinder sandalBOT
restive pecanBOT
#

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

wooden fableBOT
#

Let me check the docs first so I don't make this worse.

#

Yeah, that’s not normal, and the workspace deletion part is especially bad.

First, prevent a repeat:

openclaw exec-policy preset deny-all
openclaw gateway restart

If you’re using ACP/Codex/Claude-style harness sessions, also check:

openclaw config get plugins.entries.acpx.config.permissionMode

If that says approve-all, that would explain the auto-approval. Safer values are approve-reads or deny-all.

#

Then paste these 5 outputs:

openclaw --version
openclaw status --all
openclaw channels status --probe
openclaw exec-policy show
openclaw approvals get

A few likely causes from your symptoms:

  • 27k tokens on startup is often context already loaded, not fresh spend. Check /status and /context list.
  • Slow / unresponsive / mistakes usually means bloated context or a bad resumed session. /compact can help after we see the status.
  • Not reacting to new Discord messages is usually mention gating, channel allowlist, or message-content-intent issues.
  • Autoapproving tool calls is usually either YOLO/full exec policy, or ACP permissionMode=approve-all.
latent dust
#

which document or config file could i send for you to diagnose?

#

ok

wooden fableBOT
#

Best thing to send is a small sanitized bundle, not one giant config dump.

Send these first

openclaw --version
openclaw status --all
openclaw channels status --probe
openclaw exec-policy show
openclaw config get tools.exec
openclaw config get channels.discord
openclaw config get plugins.entries.acpx.config

If you can share files, these are the most useful

  1. openclaw.json or just the relevant parts:
    • channels.discord
    • tools.exec
#
  • agents.defaults
    • agents.list
    • plugins.entries.acpx.config
  1. ~/.openclaw/exec-approvals.json
    This is the big one for the auto-approval problem.

For the β€œ27k tokens on startup” part

From the bad session, send:

  • /status
  • /context list

That tells me whether the issue is huge injected context, old session history, or a weird resumed session.

Important

Please redact:

  • API keys
#

Sounds good. Paste the sanitized outputs here when you have them, and I’ll help sort through it. If anything looks secret, redact it first.

latent dust
#

ok thank you very much!!!

lets start with the context, could we do something about that first?

/context list delivers:

🧠 Context breakdown
Workspace: /home/micha/.openclaw/workspace
Bootstrap max/file: 20,000 chars
Bootstrap max/total: 150,000 chars
Sandbox: mode=off sandboxed=false
System prompt (run): 32,790 chars (~8,198 tok) (Project Context 11,793 chars (~2,949 tok))

Injected workspace files:

  • AGENTS.md: OK | raw 7,727 chars (~1,932 tok) | injected 7,727 chars (~1,932 tok)
  • SOUL.md: OK | raw 1,738 chars (~435 tok) | injected 1,738 chars (~435 tok)
  • TOOLS.md: OK | raw 850 chars (~213 tok) | injected 850 chars (~213 tok)
  • IDENTITY.md: OK | raw 438 chars (~110 tok) | injected 438 chars (~110 tok)
  • USER.md: OK | raw 474 chars (~119 tok) | injected 474 chars (~119 tok)
  • HEARTBEAT.md: OK | raw 192 chars (~48 tok) | injected 192 chars (~48 tok)
  • BOOTSTRAP.md: MISSING | raw 0 | injected 0

Skills list (system prompt text): 7,362 chars (~1,841 tok) (16 skills)
Skills: clawhub, coding-agent, eightctl, gh-issues, gifgrep, github, healthcheck, nano-pdf, node-connect, obsidian, session-logs, skill-creator, taskflow, taskflow-inbox-triage, video-frames, weather
Tool list (system prompt text): 0 chars (~0 tok)
Tool schemas (JSON): 27,612 chars (~6,903 tok) (counts toward context; not shown as text)
Tools: read, edit, write, exec, process, canvas, nodes, cron, message, tts, image_generate, video_generate, gateway, agents_list, sessions_list, sessions_history, sessions_send, sessions_yield, sessions_spawn, subagents, session_status, image, pdf, memory_search, memory_get, ollama_web_search, ollama_web_fetch

Session tokens (cached): 19,889 total / ctx=262,144

wooden fableBOT
#

Yep, and this is actually pretty informative.

First, the good news

19,889 / 262,144 means you are not blowing the context window yet.
So the problem is less β€œhard context limit” and more β€œtoo much fixed prompt overhead + too many tools/skills for the model/session.”

Biggest context costs in your dump

  • Tool schemas: ~6.9k tok
  • AGENTS.md: ~1.9k tok
  • Skills list: ~1.8k tok
  • System prompt total: ~8.2k tok before much conversation even happens

Best first fixes

  1. Trim AGENTS.md hard
    • This is the easiest win.
    • Keep only hard rules and essential behavior.
    • Move commentary, preferences, long examples, and β€œnice to have” notes elsewhere.
#
  1. Reduce installed skills

    • 16 skills is not insane, but it is noticeable.
    • If you are not actively using half of them, that’s easy prompt weight to drop.
  2. Reduce tool surface

    • Tool schemas are your single biggest chunk.
    • A smaller/saner agent profile with fewer tools will usually feel faster and make fewer dumb tool decisions.
  3. Start a fresh session after cleanup

    • Or run /compact if the session has accumulated junk.

My recommendation

If we optimize one thing first, send me AGENTS.md.
That’s your biggest editable prompt chunk right now, and I can tell you what to keep, cut, or move.

Docs:

solid quail
#

@latent dust What model are you using? I've noticed from experience that smaller models tend to hallucinate requests and can be problematic

wooden fableBOT
#

Yep, that can absolutely be part of it.

Smaller or more tool-fragile models usually get a lot worse when you give them a broad tool surface plus a chunky system prompt. In this case though, the /context list already shows some easy wins before even touching model choice:

  • trim AGENTS.md
  • reduce unused skills/tools
  • fix sandbox: off
  • tighten approvals

For fresh model-specific advice, I’d ask in #models since that changes fast. Docs: https://docs.openclaw.ai/concepts/models and https://docs.openclaw.ai/concepts/models#model-discussions-community-notes

latent dust
#

i used the free nemotron super from nvidia directly, but it has a super small default context window and it was 170% full, just from starting openclaw. plus i somehow autoallowed all tool use. i feel like nemotron super is super dumb. me too probably πŸ˜€ @wooden fable the thing with my agents.md is... it's the default file.

wooden fableBOT
#

Ah, yep, that explains a lot.

170% full at startup means the model was basically doomed before the first real turn. That’s not you being dumb, that’s just a bad fit between:

  • a small context window
  • OpenClaw’s fixed prompt/tool overhead
  • a fairly broad tool + skill surface

And if AGENTS.md is just the default one, then I would not spend time editing that first.

What I’d do next

  1. Fix safety first
    openclaw exec-policy show
    
    and ideally:
#
   openclaw exec-policy preset deny-all

so it cannot happily nuke stuff again.

  1. Treat the model choice as the main issue
    If a model starts already overfull, OpenClaw is going to feel slow, confused, and sloppy no matter how careful you are.

  2. Only then trim context
    If you still want to keep that model, you’d need a much smaller agent profile with fewer tools/skills.

So the next most useful thing to paste is:

openclaw exec-policy show
cat ~/.openclaw/exec-approvals.json
latent dust
wooden fableBOT
#

Yep, then that’s the smoking gun.

If the system prompt alone overflows the model’s context window, OpenClaw never really had a chance to behave well. At that point it’s not β€œa bit sloppy”, it’s fundamentally operating with missing prompt/state.

So I’d treat this as:

  1. wrong model/context size for this agent shape
  2. separate safety issue with approvals/sandbox

Next thing I’d check is still:

openclaw exec-policy show

Because the overflow explains the confusion, but not why it was allowed to trash the workspace.

solid quail
wooden fableBOT
#

Yeah, agreed, and that’s the weird part.

The theoretical model window and the effective window OpenClaw/provider actually used are not always the same. Micha’s /context list showed:

  • ctx=262,144

So this smells more like a provider/config mismatch than β€œthe model itself only has a tiny window”.

The next useful checks would be:

openclaw --version
openclaw models status
openclaw config get agents.defaults.models

If those line up weirdly, that would explain a lot.

latent dust
#

openclaw exec-policy show delivered:

Exec Policy
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Field β”‚ Value β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Config β”‚ ~/.openclaw/openclaw.json β”‚
β”‚ Approvals β”‚ ~/.openclaw/exec-approvals.json β”‚
β”‚ Approvals File β”‚ present β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Effective Policy
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Scope β”‚ Requested β”‚ Host β”‚ Effective β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ tools.exec β”‚ host=auto β”‚ security=full β”‚ security=full\nask=off β”‚
β”‚ β”‚ (OpenClaw default β”‚ (inherits β”‚ β”‚
β”‚ β”‚ (auto))\nsecurity= β”‚ requested tool β”‚ β”‚
β”‚ β”‚ full (OpenClaw β”‚ policy)\nask=off β”‚ β”‚
β”‚ β”‚ default β”‚ (inherits β”‚ β”‚
β”‚ β”‚ (full))\nask=off β”‚ requested tool β”‚ β”‚
β”‚ β”‚ (OpenClaw default β”‚ policy)\naskFallb β”‚ β”‚
β”‚ β”‚ (off)) β”‚ ack=full β”‚ β”‚
β”‚ β”‚ β”‚ (OpenClaw β”‚ β”‚
β”‚ β”‚ β”‚ default (full)) β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Effective exec policy is the host approvals file intersected with requested tools.exec policy.

wooden fableBOT
#

Yep, that’s the culprit.

security=full + ask=off means host exec is fully auto-approved.
With your earlier sandbox: off, that is basically YOLO mode.

So the workspace deletion was not random, it was allowed by policy.

Safest immediate fix

If you want to hard-stop this behavior right now:

openclaw exec-policy preset deny-all
openclaw gateway restart

Better normal-use fix

If you still want shell/file actions, but with guardrails:

#
openclaw exec-policy preset cautious
openclaw gateway restart

cautious means:

  • security=allowlist
  • ask=on-miss
  • askFallback=deny

My recommendation

Start with deny-all first, make sure things are sane again, then move to cautious.

So, good news, we found one very concrete bug:

  • context/model mismatch explains the confusion
  • exec policy explains the dangerous behavior
latent dust
#

hahaha i was running in yolo mode how cool is that?! i heard that term in an interview with peter steinberger.

so how do i solve this:
context/model mismatch

here is the output of openclaw models status:

openclaw models status

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : ollama/gemma4:31b-cloud
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (2) : nemotron-3-super-120b-a12b-free-nvidia -> custom-integrate-api-nvidia-com/nvidia/nemotron-3-super-120b-a12b, OpenRouter -> openrouter/auto
Configured models (4): custom-integrate-api-nvidia-com/nvidia/nemotron-3-super-120b-a12b, openrouter/auto, openrouter/google/gemma-4-31b-it, openrouter/nvidia/nemotron-3-super-120b-a12b:free

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (1): openai-codex (1)

  • custom-integrate-api-nvidia-com effective=models.json:nvapi-YR...w-ZfDmcq | models.json=nvapi-YR...w-ZfDmcq | source=models.json: ~/.openclaw/agents/main/agent/models.json
  • ollama effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | ollama:default=marker(ollama-local) | models.json=marker(ollama-local) | source=models.json: ~/.openclaw/agents/main/agent/models.json
  • openai effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openai:default=[API KEY]
  • openai-codex effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=1, token=0, api_key=0) | openai-codex:default=[API KEY]
  • openrouter effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | openrouter:default=sk-or-[SOME API KEY]

OAuth/token status

  • openai-codex
    • openai-codex:default ok expires in 10d
wooden fableBOT
#

Hah, accidental YOLO is only funny once πŸ˜…

For the context/model mismatch, this output is useful, but it does not show the thing we actually need yet: the resolved model/window for the bad session.

A couple important clues from what you pasted:

  • your global default is ollama/gemma4:31b-cloud
  • the NVIDIA model is configured, but that does not prove it was the effective model for the broken session
  • openclaw models status is mostly auth + config visibility, not β€œwhat exact context window did this session really get?”

So the next 3 things I want are:

  1. from the problematic session:
    /model status
    
  2. global config:
#
   openclaw config get agents.defaults.models
  1. the relevant block from:
    • ~/.openclaw/agents/main/agent/models.json
    • specifically the entry for custom-integrate-api-nvidia-com/nvidia/nemotron-3-super-120b-a12b
    • redact the API key, obviously

Practical fix, even before we finish diagnosing

If a model starts close to full from just the fixed prompt, don’t use it for your full main agent.

Use either:

  • a bigger-context / more tool-reliable model for the main agent, or
  • a much slimmer agent for the NVIDIA/free route

Small-context models and wide tool surfaces are a miserable combo.

latent dust
#

Krill, i set the agent to

openclaw exec-policy preset deny-all

but now this happens often, even while the agent opening his dream logs

{
"status": "error",
"tool": "exec",
"error": "exec denied: host=gateway security=deny"
}

should i move to

openclaw exec-policy preset cautious?

wooden fableBOT
#

Yep, that error is expected with deny-all.

deny-all means any host exec gets blocked, even harmless-ish things like log readers. So if you want the agent to stay usable, cautious is the normal next step:

openclaw exec-policy preset cautious
openclaw gateway restart

That gives you:

  • security=allowlist
  • ask=on-miss
  • askFallback=deny

So it stops YOLO behavior, but doesn’t brick every exec-using feature.

#

Rough rule of thumb

  • deny-all = panic button / lock everything down
  • cautious = sane everyday setting
  • yolo = chaos goblin mode

If you do not want dream-log stuff at all, you can also disable that feature instead of loosening exec. If that’s the dreaming plugin, try:

/dreaming off

Docs:

So yeah, in your case I’d move from deny-all to cautious.

latent dust
#

are the exec policies ok now?

openclaw exec-policy show

#

Effective Policy
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Scope β”‚ Requested β”‚ Host β”‚ Effective β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ tools.exec β”‚ host=gateway (tools. β”‚ security=allowlist (~/.openclaw/exec- β”‚ security=allowlist\nask=on-miss β”‚
β”‚ β”‚ exec. β”‚ approvals.json defaults. β”‚ β”‚
β”‚ β”‚ host)\nsecurity=allowl β”‚ security)\nask=on-miss (~/.openclaw/ β”‚ β”‚
β”‚ β”‚ ist (tools.exec. β”‚ exec-approvals.json defaults. β”‚ β”‚
β”‚ β”‚ security)\nask=on- β”‚ ask)\naskFallback=deny (~/.openclaw/ β”‚ β”‚
β”‚ β”‚ miss (tools.exec.ask) β”‚ exec-approvals.json defaults. β”‚ β”‚
β”‚ β”‚ β”‚ askFallback) β”‚

wooden fableBOT
#

Paste the actual output and I’ll check it.

For a sane everyday setup, I’d want it to look roughly like:

  • security=allowlist
  • ask=on-miss
  • askFallback=deny

What I don’t want to see again is:

  • security=full
  • ask=off

That’s the dangerous YOLO combo.

#

I need the resulting text output, not just the command name πŸ˜„

Run it, then paste whatever it prints back here:

openclaw exec-policy show

If it helps, you can paste a screenshot too.

#

Yep, this looks good now.

You’re on the sane middle-ground setup:

  • host=gateway
  • security=allowlist
  • ask=on-miss
  • askFallback=deny

So:

  • it is not YOLO anymore βœ…
  • unknown/suspicious execs should prompt or fail
  • if no approval path is available, they get denied, not silently run

That’s a much safer everyday policy.