anomalyco / anomalyco/opencode

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

Aperta
#42,657 4 commenti 1 reazione 1 assegnatario Vedi su GitHub

@kommander ci sta già lavorando.

Dal 14/8/2026.

Lingua principale
TypeScript
Stelle
209k
Fork
27.5k
Merge medio
7h 2m
PR unite (30g)
384

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.