anomalyco / anomalyco/opencode

TUI lag with multi-subagent sessions (97% CPU on render thread)

Offen
#42,657 4 Kommentare 1 Reaktion 1 zugewiesene Person Auf GitHub ansehen

@kommander arbeitet bereits daran.

Seit 14.8.2026.

Vorherrschende Sprache
TypeScript
Sterne
209k
Forks
27.5k
Ø Merge
7 Std. 2 Min.
Gemergte PRs (30 T.)
384

Beschreibung

Description

When running sessions with 2-4 concurrent subagents, the TUI becomes unresponsive: typing has 1-3 second delay, spinner animation stutters/freezes. Tested across Warp, Windows Terminal, and WezTerm — same lag in all three.

Profiled during 4 concurrent subagents:

  • opencode process: 2,029 MB RAM, 97% CPU realtime, 42 threads
  • RAM grows from ~300 MB to 2+ GB within 20 minutes

The render loop appears to re-render on every state change from every subagent stream, saturating a full CPU core.

Already ruled out: terminal emulator (3 tested), Chrome memory pressure, orphaned node processes, 61 MB log file, power plan (High Performance), PowerShell version.

Setup: Windows 11 Boot Camp (MacBook Pro 16,1, i9-9980HK, 64 GB RAM), 15+ agents configured (orchestrator + SDD workflow), 3 MCP servers. Node v22.22.2.

Suggestion: throttle render frequency (max 30 FPS) or batch state updates when multiple subagents are active.

Plugins

opencode-subagent-statusline, opencode-sdd-engram-manage, custom TUI logo plugin

OpenCode version

1.18.18

Steps to reproduce
  1. Configure an orchestrator agent with 15+ subagent definitions
  2. Connect 3 MCP servers (codegraph, context7, engram)
  3. Enable TUI plugins (subagent-statusline, sdd-engram-manage)
  4. Start a session and trigger a task that launches 2-4 subagents concurrently
  5. Try typing while subagents are running — input is delayed 1-3 seconds
Screenshot and/or share link

No response

Operating System

No response

Terminal

No response

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.