diff --git a/src/auto-reply/reply/get-reply-run.ts b/src/auto-reply/reply/get-reply-run.ts index 01dab509e0b..7583126238d 100644 --- a/src/auto-reply/reply/get-reply-run.ts +++ b/src/auto-reply/reply/get-reply-run.ts @@ -455,7 +455,10 @@ export async function runPreparedReply( .filter(Boolean) .join("\n\n") : [inboundUserContext, baseBodyFinal].filter(Boolean).join("\n\n"); - const hasUserBody = baseBodyFinal.trim().length > 0 || softResetTail.length > 0; + const hasUserBody = + baseBodyFinal.trim().length > 0 || + softResetTail.length > 0 || + (inboundUserContext != null && inboundUserContext.trim().length > 0); const hasMediaAttachment = hasInboundMedia(sessionCtx) || (opts?.images?.length ?? 0) > 0; if (!hasUserBody && !hasMediaAttachment) { // Skip onReplyStart when typing is suppressed (e.g. sendPolicy deny) —