[BUG] ExitPlanMode tool fails with "AbortError" - hangs indefinitely when MCP servers active

Resolved 💬 15 comments Opened Jan 21, 2026 by isaaclamnl Closed Jan 22, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

When Claude Code calls the ExitPlanMode tool to exit plan mode, it hangs indefinitely showing "Honking..." status in the UI, then fails with error:

Tool permission request failed: AbortError

Steps to Reproduce:

  1. Start Claude Code with MCP servers enabled (Chrome extension + Notion connector)
  2. Ask Claude to plan a multi-step task (this triggers plan mode)
  3. Claude successfully writes plan to ~/.claude/plans/*.md
  4. Claude calls ExitPlanMode tool
  5. UI shows "Honking..." status indefinitely
  6. Eventually fails with AbortError
  7. Only way to recover is killing the process (Ctrl+C or kill)

Process details showing the hung state:

--permission-mode plan --mcp-config {"mcpServers":{"Claude in Chrome":{"type":"sdk","name":"Claude in Chrome"},"mcp-registry":{"type":"sdk","name":"mcp-registry"},"ef89416a-...":{"type":"sdk","name":"..."}}}

The plan file is written successfully before the hang occurs. This appears to be a race condition or communication issue between the permission system and MCP servers.

What Should Happen?

ExitPlanMode should display an approval prompt in the UI, allowing the user to review and approve/reject the plan. After user confirmation, Claude Code should exit plan mode and proceed with implementation.

Error Messages/Logs

Tool permission request failed: AbortError

Steps to Reproduce

  1. Start Claude Code v2.1.8 with MCP servers enabled (Claude in Chrome extension + Notion connector are active)
  2. Ask Claude to plan a multi-step implementation task, e.g.: "Help me plan making these pages visually consistent"
  3. Claude enters plan mode and writes a plan to ~/.claude/plans/<random-name>.md
  4. Claude calls the ExitPlanMode tool to request user approval
  5. Observe: UI shows "Honking..." status and hangs indefinitely
  6. Wait ~30-60 seconds - eventually fails with AbortError
  7. Only recovery: Ctrl+C or kill <pid>

Workaround: Kill process and restart. Avoid tasks that trigger plan mode, or disable MCP servers.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.8

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

MCP Configuration from process:

{
  "mcpServers": {
    "Claude in Chrome": {"type": "sdk", "name": "Claude in Chrome"},
    "mcp-registry": {"type": "sdk", "name": "mcp-registry"},
    "ef89416a-1e16-4a1c-b8d0-156632e6d0da": {"type": "sdk", "name": "Notion connector"}
  }
}

Hypothesis: The ExitPlanMode tool triggers a permission prompt that requires UI interaction, but something in the MCP server communication chain is blocking or not forwarding the approval request correctly, causing the tool to hang until it times out with an AbortError.

Environment details:

  • macOS 26.2 (Build 25C56)
  • Chrome extension: Claude in Chrome (active)
  • Notion MCP connector (active)

View original on GitHub ↗

This issue has 15 comments on GitHub. Read the full discussion on GitHub ↗