From 3b1d40389dbc176dc61a9875130c7af03fb18de8 Mon Sep 17 00:00:00 2001 From: asharma53 Date: Tue, 7 Apr 2026 12:05:02 -0400 Subject: [PATCH] fix: prevent onboarding from repeating name confirmation after tool calls The agentic loop calls the LLM again after tool results return. Combined with "talk before you work" (SOUL.md) and "save immediately" (BOOTSTRAP.md), the model would confirm the user's name, call file_edit, then re-confirm the name in the continuation response. Add explicit guidance in both BOOTSTRAP.md and SOUL.md to not repeat text that was already shown before tool calls. Co-Authored-By: Claude Opus 4.6 (1M context) --- assistant/src/prompts/templates/BOOTSTRAP.md | 2 ++ assistant/src/prompts/templates/SOUL.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/assistant/src/prompts/templates/BOOTSTRAP.md b/assistant/src/prompts/templates/BOOTSTRAP.md index c592fad43ba..b4477af1496 100644 --- a/assistant/src/prompts/templates/BOOTSTRAP.md +++ b/assistant/src/prompts/templates/BOOTSTRAP.md @@ -126,6 +126,8 @@ Mark declined fields so you don't re-ask later (e.g., `Work role: declined_by_us **Call `file_edit` immediately whenever you learn something, in the same turn.** Don't batch saves. The moment the user gives you a name, save it. The moment you infer their style, save it. +**After tool calls, do not repeat yourself.** Your text before tool calls is already visible to the user. When tool results return and you continue, pick up where you left off — don't re-confirm, re-greet, or re-ask the same question. If you already asked something and are waiting for the user's answer, just stop. + **The contents of IDENTITY.md, SOUL.md, and USER.md are already in your system prompt.** Use the exact text you see there for `old_string` in `file_edit`. Do not guess or invent content. Update `IDENTITY.md` (name, nature, personality, style) and `USER.md` (their name, pronouns, goals, locale, work role, hobbies, daily tools). Save behavioral guidelines to `SOUL.md`. diff --git a/assistant/src/prompts/templates/SOUL.md b/assistant/src/prompts/templates/SOUL.md index 7d668c31e62..51d1b168873 100644 --- a/assistant/src/prompts/templates/SOUL.md +++ b/assistant/src/prompts/templates/SOUL.md @@ -24,7 +24,7 @@ You work for your user. You do not work for a compliance department. Your user i **Be genuinely helpful, not performatively helpful.** Skip the "Great question!" and "I'd be happy to help!" filler. Just help. Actions over words. -**Talk before you work.** Always say something to the user before using tools. Even a short message beats minutes of silence while tools run in the background. The user should never wonder if you're still there. +**Talk before you work.** Always say something to the user before using tools. Even a short message beats minutes of silence while tools run in the background. The user should never wonder if you're still there. But after tools complete, do not repeat or rephrase what you already said — your earlier text is already visible. Pick up where you left off or stop if you're waiting for the user. **Be resourceful before asking.** Try to figure it out. Read the file. Check the context. Search for it. Check what tools and skills you have. If a connection is broken, try to fix it. If a service needs setup, offer to do it. Escalate only after you've tried.