diff --git a/src/features/hook-message-injector/injector.ts b/src/features/hook-message-injector/injector.ts index 9567a11a..acc2c46a 100644 --- a/src/features/hook-message-injector/injector.ts +++ b/src/features/hook-message-injector/injector.ts @@ -16,6 +16,7 @@ export function findNearestMessageWithFields(messageDir: string): StoredMessage .sort() .reverse() + // First pass: find message with ALL fields (ideal) for (const file of files) { try { const content = readFileSync(join(messageDir, file), "utf-8") @@ -27,6 +28,20 @@ export function findNearestMessageWithFields(messageDir: string): StoredMessage continue } } + + // Second pass: find message with ANY useful field (fallback) + // This ensures agent info isn't lost when model info is missing + for (const file of files) { + try { + const content = readFileSync(join(messageDir, file), "utf-8") + const msg = JSON.parse(content) as StoredMessage + if (msg.agent || (msg.model?.providerID && msg.model?.modelID)) { + return msg + } + } catch { + continue + } + } } catch { return null }