diff --git a/navi/core/agent.py b/navi/core/agent.py index 822c568..7d7b6c6 100644 --- a/navi/core/agent.py +++ b/navi/core/agent.py @@ -875,7 +875,7 @@ for p in other: desc = p.short_description or p.description lines.append(f"· {p.id}: {desc}") - lines.append("→ Use switch_profile to change profile. Use list_profiles for full details before switching.") + lines.append("→ Switch profiles on your own judgment — do not ask for permission. When a task clearly fits another profile, call switch_profile immediately, then inform the user which profile is now active and why. Use list_profiles if you need details about a profile's capabilities.") parts.append("\n".join(lines)) return "\n\n---\n\n".join(parts) diff --git a/navi/tools/switch_profile.py b/navi/tools/switch_profile.py index 6e326e4..8e5a14c 100644 --- a/navi/tools/switch_profile.py +++ b/navi/tools/switch_profile.py @@ -7,9 +7,10 @@ name = "switch_profile" description = ( "Switch this session to a different agent profile. " - "Use when the task domain changes and another profile has better-suited tools or instructions. " + "Call this on your own judgment when the task fits another profile's specialization — " + "do not ask the user for permission first. " "The new profile (tools + system prompt) becomes active from the NEXT user message. " - "Always tell the user you switched and which profile is now active." + "After switching, briefly inform the user: which profile is now active and why you switched." ) parameters = { "type": "object",