From 09e60e496b186c3d149bb907407dd9e4f5c3f3a4 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Sun, 26 Apr 2026 07:52:28 +0530 Subject: [PATCH] fix(agents): allow large Claude live JSONL lines --- src/agents/cli-runner/claude-live-session.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/agents/cli-runner/claude-live-session.ts b/src/agents/cli-runner/claude-live-session.ts index 93ae54c8ed1..c0975be3699 100644 --- a/src/agents/cli-runner/claude-live-session.ts +++ b/src/agents/cli-runner/claude-live-session.ts @@ -52,9 +52,9 @@ type ClaudeLiveRunResult = { const CLAUDE_LIVE_IDLE_TIMEOUT_MS = 10 * 60 * 1_000; const CLAUDE_LIVE_MAX_SESSIONS = 16; -const CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS = 256 * 1024; const CLAUDE_LIVE_MAX_STDERR_CHARS = 64 * 1024; const CLAUDE_LIVE_MAX_TURN_RAW_CHARS = 2 * 1024 * 1024; +const CLAUDE_LIVE_MAX_PENDING_LINE_CHARS = CLAUDE_LIVE_MAX_TURN_RAW_CHARS; const CLAUDE_LIVE_MAX_TURN_LINES = 5_000; const liveSessions = new Map(); const liveSessionCreates = new Map>(); @@ -415,7 +415,7 @@ function parseClaudeLiveJsonLine( session: ClaudeLiveSession, trimmed: string, ): Record | null { - if (trimmed.length > CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS) { + if (trimmed.length > CLAUDE_LIVE_MAX_PENDING_LINE_CHARS) { closeLiveSession( session, "abort", @@ -513,11 +513,11 @@ function handleClaudeLiveLine(session: ClaudeLiveSession, line: string): void { function handleClaudeStdout(session: ClaudeLiveSession, chunk: string) { resetNoOutputTimer(session); session.stdoutBuffer += chunk; - if (session.stdoutBuffer.length > CLAUDE_LIVE_MAX_STDOUT_BUFFER_CHARS) { + if (session.stdoutBuffer.length > CLAUDE_LIVE_MAX_PENDING_LINE_CHARS) { closeLiveSession( session, "abort", - createOutputLimitError(session, "Claude CLI stdout buffer exceeded limit."), + createOutputLimitError(session, "Claude CLI JSONL line exceeded output limit."), ); return; }