[BUG] Routines: MCP connector tool calls fail with "requires approval" despite connectors being added to routine
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?
Summary
When running a Routine in remote mode, MCP tool calls (Gmail, Google Calendar, Microsoft 365) fail with "Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval" — even though all three connectors are explicitly added to the routine with the "no approval needed" banner confirmed.
Environment
- Claude Code web (code.claude.com)
- Routine type: Remote / scheduled
- Trigger: Weekdays at 8:30 AM EDT
- Connectors: Gmail, Google Calendar, Microsoft 365
Steps to reproduce
- Create a Routine with Gmail, Google Calendar, and Microsoft 365 connectors added
- Confirm the yellow banner says "Claude can use all tools from these connectors without asking for permission during runs"
- Trigger a run (manual or scheduled)
- All MCP tool calls fail with approval error
What I tried
- settings.json at ~/.claude/settings.json with all MCP tools allowlisted
- CLAUDE_PERMISSION_MODE=bypassPermissions in cloud environment variables
- Reconnecting all integrations
- Running manually and approving each tool call
Expected behavior
Connectors added to a Routine should run without approval prompts during remote execution.
Actual behavior
Every MCP tool call returns "MCP tool call requires approval" at the server level before Claude Code's own permission logic is even reached.
Related issues
- #10801 — Critical: No way to bypass MCP tool approval prompts in VSCode extension
What Should Happen?
Connectors added to a Routine should run without approval prompts during remote execution.
Error Messages/Logs
Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval
Steps to Reproduce
- Create a Routine at code.claude.com with Gmail, Google Calendar, and Microsoft 365 connectors added
- Confirm the banner says "Claude can use all tools from these connectors without asking for permission during runs"
- Trigger a run (manual or scheduled)
- All MCP tool calls fail with approval error at the server level
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude 1.8089.1 (b98a06) 2026-05-19T18:28:48.000Z
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
19 Comments
Found 1 possible duplicate issue:
This issue will be automatically closed as a duplicate in 3 days.
🤖 Generated with Claude Code
Yep I started having the same issue
Following.
Facing Same Issue
Note:- It was working 8hrs back.
Same issues occured. Playmcp, gmail, notion all connectors are not woking.
It worked this morning(about 10 hrs ago)
Yep, remote routine cannot read or write to Google calendar.
Same here for Google Calendar
It was working perfectly before and recently this issue started.
Same Problem here =(
facing the same problem
Same issue here. Three scheduled routines with Slack connector all started failing today with "MCP tool call requires approval" on every Slack tool call. Routines ran successfully May 13–20 before breaking simultaneously.
Slack connector works fine in Claude.ai chat on the same account at the same time. Team plan (org-level connectors). No configuration changes made. Removing/re-adding the connector on the routine didn't help.
Same issue here, it worked a few days ago
Same issue here! Worked fine yesterday.
same issue Still blocked it happen only on routine —
every Atlassian MCP call (getJiraIssue, getAccessibleAtlassianResources, atlassianUserInfo) returns MCP tool call requires approval. The connector itself is rejecting requests, so no retry I run from here will change the outcome.Confirming this on a Team plan account with a remote routine that aggregates Meta Ads (via Pipeboard Meta Ads connector), reads/writes Notion pages and comments, and queries Amplitude.
Symptom: every MCP tool call —
notion-fetch,notion-get-comments,notion-update-page,notion-create-comment,get_insights,query_dataset— returnsStreamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval. Same routine fired successfully on 2026-05-20 before the regression.Things tried (none worked):
permitted_toolsexplicitly per tool name on eachmcp_connectionsentry via the API (POST /v1/code/triggers/<id>)allowed_toolsdown to["Bash","Read","Glob","Grep","TodoWrite"]to match another known-working routine on the same accountpreset:defaultshim the UI auto-injects on editRemoteTrigger action=run— same errorCritical signal: the same connector UUIDs (Notion 638cb7aa-..., Pipeboard 9d24bd3c-..., Amplitude 628463a5-...) work perfectly from a local Claude Code session right now. OAuth scopes and the underlying MCP servers are healthy — the failure is specifically in the routine execution layer's approval gate.
Use case impact: breaks an unattended Meta Ads performance dashboard that updates a Notion page every 4 hours with current spend, CTR, audience/placement breakdowns, and inline replies to user comments left on the doc. Working around it manually from chat sessions, which defeats the unattended purpose.
Happy to share the routine config privately if it helps repro.
Same issue; G Cal/ Notion/ Todoist MCPs not called
Dupe of #61015
Same issue here. The MCP connections to Linear and Gmail aren’t working either.
Adding repro data — same account, two routines, two distinct failure modes that confirm the regression and isolate variables.
| Routine | Connectors attached (UI + API both confirm) | Session sees MCP tools? | Failure mode |
|---|---|---|---|
| Morning Brief | Notion only | Yes | Every call returns
MCP tool call requires approval(matches #61027) || Nightly Sweep | Notion + Gmail | No — zero
mcp__*tools in registry |ToolSearch select:and keyword fallback both returnNo matching deferred tools found|Trigger record API response (
POST /v1/code/triggers/<id>) includes for nightly:UI also shows both toggles enabled in the resumed-session connector popover (screenshot available on request).
User-side fixes that did NOT work for nightly (5 independent paths, all dead end):
RemoteTrigger update(preserves model/connectors/cron)UI shows connectors toggled ON in the resumed-session view; runtime reports zero tools.
Diagnostic output from a clean run (Opus 4.7, prompt instructs ToolSearch select + keyword fallback after sub-agent warm-up):
Key signal from the dual-routine A/B: same account, same MCP backend, same Notion connector. Morning Brief (Notion-only, last updated 2026-05-20) gets tools-present-but-approval-blocked. Nightly Sweep (Notion + Gmail, last updated 2026-05-21) gets zero tools. The differentiator is either (a) Gmail being in the connector list breaks binding, or (b) routines re-saved after 2026-05-19 land in the zero-tools state. Either would be a useful narrowing.
Affected build: 2026-05-19 Claude Code routine harness onward, per timing on this account. Cross-references #61027 (approval-block path), #53489 (routine vs interactive binding pathway), #51736 (post-v2.1.116 ToolSearch returning "No matching deferred tools found").
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.