OpenClaw v2026.6.x Prompt Bloat Shows Why Agent Platforms Need Context Budgets, Not Just Bigger Models
OpenClaw’s prompt-bloat report is a reminder that context windows are not RAM. You do not get to pour every tool description, channel hint, safety rule, UI affordance, and delegation policy into the front of a model run and call it “free” because the model advertises 128K tokens. The bill shows up as behavior: skipped protocols, worse tool choice, missed skill triggers, and agents that suddenly feel less disciplined after an upgrade.
Issue #92451 describes exactly that failure mode. A user running OpenClaw through a Xiaomi API backend with xiaomi/mimo-v2.5 reports that v2026.6.x increased startup context from roughly 15% of a 128K window in v2026.5.27 to more than 25% in v2026.6.5 and v2026.6.6. Their setup is not tiny: multi-agent configuration, custom AGENTS.md, SOUL.md, skill triggers, and about 60 skills. But that is the point. OpenClaw is a platform for extensible agents. Extensible platforms need budgets, not just optimism.
The new prompt surface named in the report is familiar to anyone watching agent platforms mature: MEDIA:<path-or-url>, [[audio_as_voice]], native reply hints, Control UI Embed rules, enhanced messaging, silent replies, group-chat context, inbound trusted metadata JSON, expanded safety text, delegation triggers, and more detailed tool descriptions. None of those features is obviously wrong in isolation. Many are useful. Together they become platform prompt debt.
Platform prompt debt is real debt
Software teams understand dependency bloat because they can measure package size, cold start, attack surface, and build time. Prompt bloat is the same category of problem wearing a softer costume. Every injected instruction competes with the user’s task, project conventions, retrieved files, tool outputs, and the model’s own attention. Larger models hide this better because they are better at selecting signal from clutter. Smaller local, regional, or cheaper models expose the clutter immediately.
That is why the “128K context” detail is so useful. The failure is not that the task exceeds the nominal window. The failure is that a quarter of the window is consumed before the user meaningfully begins, and the remaining instructions are less salient because the initial prompt has become a policy binder. The report says skill-trigger protocols are frequently skipped, a custom Pre-Task Guard is sometimes ignored, tool-call accuracy is down, and the workaround has been to add stronger AGENTS.md protocols — which, of course, adds still more context. That is how prompt debt compounds.
This also changes how practitioners should compare coding agents. “Supports lots of tools” is not automatically a strength. Tool availability has a carrying cost. A premium frontier model may tolerate a huge always-on tool surface; a smaller model may need a lean profile, stricter tool scoping, and lazy-loaded skill docs. Two platforms can both claim 128K context support while delivering very different practical reliability if one spends the first 30K tokens explaining every possible feature to every possible agent.
OpenClaw already has signs that the project understands the direction. PR #88881 trims heavyweight optional tools from localModelLean. Issue #90349 proposes a Context Budget/Compactor with model-context detection, prompt budget allocation, skill trimming, memory compaction, and compactness levels. Those are the right primitives. The missing product move is making prompt size an operator-facing SLO instead of an invisible implementation detail.
Agents need job descriptions, not universal manuals
The practical fix is not “make the prompt shorter” in the abstract. It is to stop treating every agent like it needs the entire platform manual on every turn. A WhatsApp relay agent probably does not need image-generation policy, PDF extraction affordances, Control UI embed rules, every delegation trigger, and verbose group-chat metadata. A research orchestrator might need more of that surface. A coding subagent might need file, shell, Git, test, and review tools — but not every channel-specific delivery hint. Scope should follow job description.
That implies per-agent tool scoping, lazy system sections, and measurable context budgets. The platform should be able to report: initial prompt size, tool-description share, memory share, skill share, channel-policy share, and task/user share. It should also let operators set budget classes: lean local, standard, research-heavy, multimodal, or compliance-heavy. If a config change pushes a local-model agent from 15% to 25% startup context, that should be visible in a doctor check or upgrade report before users notice skill triggers falling over.
The hook system is relevant here too. OpenClaw’s plugin hooks can observe llm_input and llm_output, which gives operators a seam to measure and audit actual prompt construction. But measurement should not require bespoke instrumentation. Context is now runtime infrastructure. Platforms that expose model catalogs, tool registries, memory layers, and channel adapters should expose prompt budgets with the same seriousness they expose auth status.
For builders running OpenClaw today, the action list is straightforward. Pin known-good versions for production agents. After upgrades, test instruction-following, skill-trigger compliance, and tool selection on the exact models you use, not just the best model in your account. Compare initial context size before and after enabling plugins. Create lean profiles for local/open models. If the agent starts missing a house protocol, resist the reflex to add louder instructions. First ask what changed in the prompt budget.
The broader industry lesson is less comfortable. Bigger context windows did not repeal software engineering. Agent platforms still need budgets, dependency boundaries, lazy loading, and profiling. We learned this with binaries, containers, web bundles, database queries, and microservices. Now we get to learn it again in prompts. Lovely.
Sources: OpenClaw issue #92451, OpenClaw PR #88881, OpenClaw issue #90349, OpenClaw plugin hooks docs