Claude Code Plugin Bug Causes CPU Spikes and Battery Drain

The Problem
A user with a new MacBook M5 Pro experienced complete battery drain in a single day with minimal screen usage. Investigation revealed bun.exe processes running at 100% CPU for over 8 hours with the laptop lid closed.
Debugging Process
Initial suspicion was malware, particularly given the timing with the Axios npm supply chain attack where OpenClaw was mentioned in advisories. The user ran IOC checks including:
- Searching for plain-crypto-js directory
- Checking lockfiles for compromised Axios versions
- Grepping logs for C2 domains
All checks came back clean.
Root Cause
The processes traced back to: ~/.claude/plugins/marketplaces/claude-plugins-official/external_plugins/telegram/server.ts
This is Claude Code's Telegram plugin, which spawns a bun server that polls Telegram's bot API. The critical issues:
- Every new Claude Code agent session launches its own instance of this plugin
- The user had accumulated 8 agent sessions over the day, each running its own Telegram server process
- The plugin has no error backoff mechanism - when polling hits issues, it retries instantly in a tight loop
- Two of these processes were running at 100% CPU each
Cleanup Challenges
Simple fixes didn't work:
- Killing processes didn't help because agent sessions would respawn them
- Uninstalling the plugin only removed it from
external_plugins- a cached copy at~/.claude/plugins/cache/kept getting loaded - Processes had PPID 1 (launchd), so they survived across sleep/wake cycles
Full Cleanup Required
claude plugins uninstall telegram rm -rf the cached copy pkill all remaining bun processes by name restart the machine to clear stale agent sessions
Broader Implications
Other plugins with similar architecture could have the same issue. The user specifically mentioned Discord, iMessage, and FakeChat plugins also have server.ts files that could exhibit similar behavior.
The core problem is plugin lifecycle management: these background servers run with no resource limits and no cleanup when sessions end. The user suggests Claude Code needs resource limits on plugin processes and automatic cleanup when sessions end.
📖 Read the full source: r/ClaudeAI
👀 See Also

arifOS: A $15 MCP Governance Kernel for OpenClaw Tool Security
arifOS is a lightweight MCP server that intercepts OpenClaw tool calls, scores them 000-999, and blocks unsafe actions with 13 hard security floors before they reach filesystems, APIs, or databases.

McpVanguard: Open-source security proxy for MCP-based AI agents
McpVanguard is a 3-layer security proxy and firewall that sits between AI agents and MCP tools, adding protection against prompt injection, path traversal, and other attacks with about 16ms latency.

Claude models vulnerable to invisible Unicode character hijacking, especially with tool access
Testing shows Claude Sonnet 4 is 71.2% compliant with hidden instructions embedded in invisible Unicode characters when tools are enabled, with Opus 4 reaching 100% compliance on Unicode Tags encoding. Tool access dramatically increases vulnerability across all Claude models.

Security probe results for OpenClaw, PicoClaw, ZeroClaw, IronClaw, and Minion AI agents
A security evaluation of five AI coding agents tested 145 attack payloads across 12 categories including prompt injection, jailbreaking, and data exfiltration. OpenClaw scored 77.8/100 with critical SQL injection vulnerabilities, while Minion improved from 81.2 to 94.4/100 after fixes.