diff --git a/src/components/status-bar/AiAgentsBadge.test.tsx b/src/components/status-bar/AiAgentsBadge.test.tsx
index 5b8b40e0..3818c4cb 100644
--- a/src/components/status-bar/AiAgentsBadge.test.tsx
+++ b/src/components/status-bar/AiAgentsBadge.test.tsx
@@ -23,6 +23,30 @@ describe('AiAgentsBadge', () => {
vi.clearAllMocks()
})
+ it('keeps the dropdown trigger off the Radix tooltip popper path', () => {
+ render(
+ ,
+ )
+
+ const trigger = screen.getByTestId('status-ai-agents')
+ expect(trigger).toHaveAttribute('data-tooltip-mode', 'native-title')
+ expect(trigger.getAttribute('title')).toContain('Claude Code')
+
+ act(() => {
+ trigger.focus()
+ })
+ expect(screen.queryByRole('tooltip')).not.toBeInTheDocument()
+
+ act(() => {
+ fireEvent.keyDown(trigger, { key: 'ArrowDown' })
+ })
+ expect(screen.getByTestId('status-ai-agents-menu')).toBeInTheDocument()
+ })
+
it('shows the vault guidance summary and restore action', async () => {
const onRestoreGuidance = vi.fn()
diff --git a/src/components/status-bar/AiAgentsBadge.tsx b/src/components/status-bar/AiAgentsBadge.tsx
index d9088519..342dcaff 100644
--- a/src/components/status-bar/AiAgentsBadge.tsx
+++ b/src/components/status-bar/AiAgentsBadge.tsx
@@ -1,6 +1,5 @@
import { AlertTriangle, ChevronsUpDown } from 'lucide-react'
import { Sparkle } from '@phosphor-icons/react'
-import { ActionTooltip } from '@/components/ui/action-tooltip'
import { Button } from '@/components/ui/button'
import {
AI_AGENT_DEFINITIONS,
@@ -240,6 +239,7 @@ export function AiAgentsBadge({
const selectedAgentReady = isAiAgentInstalled(statuses, defaultAgent)
const showWarning = hasAiAgentWarning(statuses, defaultAgent, guidanceStatus)
const showSwitcherCue = !showWarning && canShowSwitcherCue(statuses, defaultAgent)
+ const tooltip = badgeTooltip(locale, statuses, defaultAgent, guidanceStatus)
if (isAiAgentsStatusChecking(statuses)) return null
@@ -247,24 +247,24 @@ export function AiAgentsBadge({
<>
-
-
-
-
-
+
+
+