[BUG] MCP tool calls in CCR Routines fail with "requires approval" — no approval UI shown, reconnect does not resolve
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?
MCP tool calls made inside a Claude Code Routine (automated, non-interactive CCR session) consistently fail with:
Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval
The Anthropic CCR proxy (api.anthropic.com/v2/ccr-sessions/{id}/mcp) returns this error on every call.
Since Routines have no interactive user present, no approval UI can appear — and indeed none appears. Disconnecting and reconnecting the MCP connectors (Heptabase) does not resolve the issue. The MCP config file (/tmp/mcp-config-{session_id}.json) is correctly generated with valid server IDs and proxy URLs.
What Should Happen?
MCP connectors that have been authorized in claude.ai settings should work in Routines without requiring per-call interactive approval. This was the behavior until recently.
Error Messages/Logs
Steps to Reproduce
- In claude.ai/code, configure a Routine that calls MCP tools (e.g. Heptabase get_journal_range, Notion notion-create-pages)
- Ensure the MCP connectors are connected (OAuth authorized) in claude.ai settings
- Trigger the Routine
- Observe that every MCP tool call fails with MCP tool call requires approval
- No approval UI appears anywhere in the browser
- Disconnecting and reconnecting the MCP connector does not fix the issue
- The same MCP tools work correctly in local Claude Code CLI with the same OAuth-authorized connections
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.146
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
_No response_
This issue has 12 comments on GitHub. Read the full discussion on GitHub ↗