OpenClaw Context Meter Plugin Shows Telegram Token Usage Percentage

What It Does
The openclaw-context-meter plugin automatically shows token usage percentage after every Telegram bot response. After each response, it sends a small footer like: 📊 45k / 200k (22%). When compaction happens (tokens drop significantly), it shows: 📊 30k / 200k (15%) — compacted from 150k.
The Problem It Solves
Previously, there was no easy way to see how full the context window is without constantly typing /status. The plugin provides automatic visibility into token consumption.
Development Journey
v1 — The OOM Disaster: Initially used execSync("openclaw models list --json") to dynamically discover model context windows. This spawned a full OpenClaw process (~2GB RAM) every time the plugin loaded. With the plugin loading 4-5 times at startup (once per agent/runtime), this caused: 2GB gateway + 5 × 2GB subprocesses = 12GB → instant OOM. The OOM killer took out sshd and NetworkManager, making servers completely unreachable, creating an infinite restart loop.
v2 — The Lightweight Fix: Hardcoded context windows for 40+ models. Zero subprocesses, zero memory overhead. Key realization: never use execSync in OpenClaw plugins, as even a simple CLI query spawns the entire runtime with all plugins and TypeScript compilation.
Why No Fork Needed
The plugin originally forked OpenClaw to patch before_compaction/after_compaction hooks, but upstream changes made this unnecessary:
- v2026.3.13+ — upstream now passes
sessionId+agentId+sessionKeyin compaction hook context - v2026.3.22+ — built-in
🧹 Compacting context...notifications (issue #38805) made their compaction code unnecessary - v2026.3.22+ — built-in
/usage tokens|full|costcommand for basic token display
The plugin now focuses on what's still missing: context window percentage display.
Features
- Zero-cost — uses
agent_end+message_senthooks only, no extra API calls - No subprocesses — model context windows are hardcoded (no
execSyncOOM risk) - Smart filtering — skips
tool_useturns, only sends footer after final text response - Debounced — waits 1.5s after last message to avoid footer mid-stream
- Multi-agent — works with multiple agents and Telegram accounts
- Compaction detection — detects token drops and shows before/after stats
Known Limitations
- Some providers (like Qwen) return
totalTokens: 0— footer won't show for those models - Hardcoded context windows might be wrong for newer models — pulled from v2026.3.22 source
- Telegram only for now (sends footer via Bot API)
Installation
cd ~/.openclaw/extensions
npm pack openclaw-context-meter
tar xzf openclaw-context-meter-*.tgz
mv package context-meter
rm openclaw-context-meter-*.tgzAdd to openclaw.json:
{
"plugins": {
"allow": ["context-meter"],
"entries": {
"context-meter": {
"enabled": true
}
}
}
}Requires OpenClaw >= 2026.3.22.
📖 Read the full source: r/openclaw
👀 See Also

Runtime: Sandboxed Coding Agents for Every Team Member
Runtime (YC P26) provides sandboxed coding agent infrastructure that lets non-engineers use Claude Code, Codex, and other agents safely. It snapshots multi-service environments (Docker, Kafka, Redis, seeded DBs) that boot in milliseconds, with guardrails at the infrastructure level.

cc-lens: Local Dashboard for Claude Code Session Analysis
A developer built cc-lens, a local-first dashboard that reads Claude Code session files from ~/.claude/ and provides usage analytics, cost tracking, and session replay. It runs entirely on your machine with no cloud sync, sign-ups, or telemetry.

Claude-context-lint tool audits token overhead in Claude Code projects
A new tool called claude-context-lint scans Claude Code projects to show how much context window is consumed by CLAUDE.md files, skills, MCP servers, and system prompts before user input. The tool provides specific recommendations for reducing token usage.

Flotilla v0.5.0 Overhauls Background Execution to Beat Claude SDK Credit Caps
Flotilla v0.5.0 replaces sequential agent execution with non-blocking parallel loops, 30-minute per-agent timeouts, and local delegation to cut SDK credit usage.