opencode icon indicating copy to clipboard operation
opencode copied to clipboard

[Bug] MCP processes not terminated after session ends

Open chadongmin opened this issue 2 weeks ago • 1 comments

Environment

  • OS: macOS
  • opencode version: latest

Bug Description

MCP processes spawned by opencode are not terminated when the session ends. Over time, zombie processes accumulate and require manual cleanup.

Steps to Reproduce

  1. Start opencode session
  2. Use any MCP tool (e.g., interactive-review, postgresql-mcp)
  3. Exit opencode session (or start a new session)
  4. Check running processes: ps aux | grep mcp

Expected Behavior

MCP processes should be terminated when the opencode session ends.

Actual Behavior

MCP processes remain running indefinitely after session ends.

# Example: Multiple zombie processes from different sessions
trevari  5810  5:18PM  node postgresql-mcp-server/build/index.js
trevari  5809  5:18PM  node postgresql-mcp-server/build/index.js
trevari  5808  5:18PM  uv run interactive-review/mcp-server server.py
trevari  91128 11:45AM node postgresql-mcp-server/build/index.js  # 7 hours old
trevari  91127 11:45AM node postgresql-mcp-server/build/index.js  # 7 hours old

Workaround

Manual cleanup required:

pkill -f "interactive-review"
pkill -f "postgresql-mcp"

Additional Context

  • Confirmed this is NOT an issue with individual MCP servers
  • Multiple MCP types (interactive-review, postgresql-mcp) exhibit the same behavior
  • Different TTY sessions (ttys000, ttys004) have orphaned processes

chadongmin avatar Jan 02 '26 09:01 chadongmin