diff --git a/src/agent/loop.ts b/src/agent/loop.ts index 1422e8e..63d3555 100644 --- a/src/agent/loop.ts +++ b/src/agent/loop.ts @@ -1858,7 +1858,14 @@ export async function interactiveSession( logger.error( `[franklin] Gateway returned an error text in lieu of an answer (${resolvedModel}): ${gatewayErr.message}` ); - throw new Error(gatewayErr.message); + lastSessionActivity = Date.now(); + persistSessionMeta(); + onEvent({ + kind: 'turn_done', + reason: 'error', + error: gatewayErr.message, + }); + break; } // Reset recovery counter on successful completion