opencode
opencode copied to clipboard
[Bug] MCP processes not terminated after session ends
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
- Start opencode session
- Use any MCP tool (e.g., interactive-review, postgresql-mcp)
- Exit opencode session (or start a new session)
- 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