fix: Hide console window on Windows when spawning child processes (#166)
* fix: Hide console window on Windows when spawning child processes Add windowsHide: true to spawnSync and execSync calls to prevent empty console windows from appearing on Windows when hooks execute. Fixes two spawn points: - worker-utils.ts: PM2 spawn when starting worker service - user-message-hook.ts: Node spawn for context display Reference: https://nodejs.org/api/child_process.html (windowsHide option) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: Add windowsHide to remaining execSync calls for complete Windows console window hiding This completes the Windows console window fix by adding `windowsHide: true` to all remaining `execSync` calls: - src/services/worker-service.ts:220 - pgrep command for orphaned process detection - src/services/worker-service.ts:226 - pkill command for process cleanup - src/services/worker/SDKAgent.ts:414 - where/which claude command for finding executable These operations are less frequent than the user-prompt hook, but should still avoid spawning console windows on Windows for a complete fix. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Alex Newman <thedotmack@users.noreply.github.com> --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Alex Newman <thedotmack@users.noreply.github.com>
This commit is contained in:
@@ -217,13 +217,13 @@ export class WorkerService {
|
||||
|
||||
// Find orphaned uvx processes (which spawn chroma servers)
|
||||
try {
|
||||
const processes = execSync('pgrep -fl uvx', { encoding: 'utf-8', stdio: 'pipe' }).trim();
|
||||
const processes = execSync('pgrep -fl uvx', { encoding: 'utf-8', stdio: 'pipe', windowsHide: true }).trim();
|
||||
if (processes) {
|
||||
const processCount = processes.split('\n').length;
|
||||
logger.info('WORKER', 'Cleaning up orphaned MCP processes', { count: processCount });
|
||||
|
||||
// Kill the processes
|
||||
execSync('pkill -f uvx', { stdio: 'pipe' });
|
||||
execSync('pkill -f uvx', { stdio: 'pipe', windowsHide: true });
|
||||
logger.success('WORKER', `Cleaned up ${processCount} orphaned MCP server processes`);
|
||||
}
|
||||
} catch (error: any) {
|
||||
|
||||
Reference in New Issue
Block a user