diff --git a/autogpt_platform/frontend/src/components/contextual/Chat/components/ChatMessage/ChatMessage.tsx b/autogpt_platform/frontend/src/components/contextual/Chat/components/ChatMessage/ChatMessage.tsx
index 89f1425bda..75891f9a2a 100644
--- a/autogpt_platform/frontend/src/components/contextual/Chat/components/ChatMessage/ChatMessage.tsx
+++ b/autogpt_platform/frontend/src/components/contextual/Chat/components/ChatMessage/ChatMessage.tsx
@@ -156,12 +156,20 @@ export function ChatMessage({
}
if (isClarificationNeeded && message.type === "clarification_needed") {
+ // Check if user already replied after this clarification (answered)
+ const hasUserReplyAfter =
+ index >= 0 &&
+ messages
+ .slice(index + 1)
+ .some((m) => m.type === "message" && m.role === "user");
+
return (
);
diff --git a/autogpt_platform/frontend/src/components/contextual/Chat/components/ClarificationQuestionsWidget/ClarificationQuestionsWidget.tsx b/autogpt_platform/frontend/src/components/contextual/Chat/components/ClarificationQuestionsWidget/ClarificationQuestionsWidget.tsx
index b146eaf56c..15477c7387 100644
--- a/autogpt_platform/frontend/src/components/contextual/Chat/components/ClarificationQuestionsWidget/ClarificationQuestionsWidget.tsx
+++ b/autogpt_platform/frontend/src/components/contextual/Chat/components/ClarificationQuestionsWidget/ClarificationQuestionsWidget.tsx
@@ -20,6 +20,7 @@ interface Props {
sessionId?: string;
onSubmitAnswers: (answers: Record) => void;
onCancel?: () => void;
+ isAnswered?: boolean;
className?: string;
}
@@ -34,6 +35,7 @@ export function ClarificationQuestionsWidget({
sessionId,
onSubmitAnswers,
onCancel,
+ isAnswered = false,
className,
}: Props) {
const [answers, setAnswers] = useState>({});
@@ -54,11 +56,10 @@ export function ClarificationQuestionsWidget({
if (saved) {
const parsed = JSON.parse(saved) as Record;
setAnswers(parsed);
- setIsSubmitted(false);
} else {
setAnswers({});
- setIsSubmitted(false);
}
+ setIsSubmitted(false);
} catch {
setAnswers({});
setIsSubmitted(false);
@@ -96,16 +97,17 @@ export function ClarificationQuestionsWidget({
onSubmitAnswers(answers);
const storageKey = getStorageKey(sessionId);
- if (storageKey) {
- try {
+ try {
+ if (storageKey) {
localStorage.removeItem(storageKey);
- } catch {}
- }
+ }
+ } catch {}
}
const allAnswered = questions.every((q) => answers[q.keyword]?.trim());
- if (isSubmitted) {
+ // Show submitted state if answered from conversation or just submitted
+ if (isAnswered || isSubmitted) {
return (