Start MCP poller immediately when session starts

This commit is contained in:
Amrit Subramanian 2025-10-06 20:46:04 -04:00
parent ad3c2928cf
commit bc30ef22fe

16
main.ts
View file

@ -220,7 +220,6 @@ function spawnSessionPty(
activePtyProcesses.set(sessionId, ptyProcess);
let terminalReady = false;
let claudeReady = false;
let dataBuffer = "";
ptyProcess.onData((data) => {
@ -264,21 +263,14 @@ function spawnSessionPty(
const flags = [sessionFlag, skipPermissionsFlag, mcpConfigFlag].filter(f => f).join(" ");
const claudeCmd = `claude ${flags}\r`;
ptyProcess.write(claudeCmd);
} else if (config.codingAgent === "codex") {
ptyProcess.write("codex\r");
}
}
}
// Detect when Claude is ready (shows "> " prompt)
if (terminalReady && !claudeReady && config.codingAgent === "claude") {
if (data.includes("> ")) {
claudeReady = true;
// Spawn MCP poller now that Claude is authenticated and ready
// Check if poller doesn't already exist to prevent duplicates
// Start MCP poller immediately (auth is handled by shell environment)
if (!mcpPollerPtyProcesses.has(sessionId) && projectDir) {
spawnMcpPoller(sessionId, projectDir);
}
} else if (config.codingAgent === "codex") {
ptyProcess.write("codex\r");
}
}
}
});