[BUG] Scheduled routines fail all MCP connector calls with "MCP tool call requires approval"
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: A scheduled routine has the Gmail connector attached. The routine's Connectors UI states "Claude can use all tools from these connectors — including writes — without asking for permission during runs." However, every routine run — including a fresh manual "Run now" — fails every Gmail MCP tool call with: Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval
The identical prompt run in a normal interactive Claude Code session works perfectly, with no approval prompt at all (the Gmail connector is authorized account-wide). No interactive approval prompt is ever shown in the routine session, so the call can never be approved.
Environment: Claude Code on the web, routine session, CLAUDE_CODE_ENTRYPOINT=remote_trigger
Repo: hfck9qf27f-droid/claude-routines · Session: cse_019kjsjBmW1bYfcb9D6M1FLw
Expected: Routine runs can call connector tools without approval, per the UI. Actual: All connector calls blocked; routine cannot complete.
----------
A scheduled routine ("Claude Code on the web" routine) with a Gmail MCP connector
attached fails on every run. Every Gmail tool call is blocked with:
Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval
This happens on both scheduled runs and manual "Run now" triggers. No interactive
approval prompt is ever shown in the routine session, so the call can never be
approved and the routine cannot complete.
The Gmail connector is correctly attached to the routine (Connectors tab), and the
routine UI explicitly states: "Claude can use all tools from these connectors —
including writes — without asking for permission during runs." The actual behavior
contradicts this.
The identical prompt run in a normal interactive Claude Code session works perfectly,
with no approval prompt at all — the Gmail connector is authorized account-wide.
Allowlisting the mcp__Gmail__* tools in .claude/settings.json (permissions.allow)
does not bypass the block, so it originates above Claude Code's permission layer.
Environment: Claude Code on the web, routine session, CLAUDE_CODE_ENTRYPOINT=remote_trigger.
What Should Happen?
Routine runs should be able to call tools from an attached MCP connector without an
approval prompt, exactly as the routine's Connectors UI promises ("without asking for
permission during runs"). The routine should be able to read Gmail and complete its
task unattended, the same way the identical prompt succeeds in an interactive session.
Error Messages/Logs
Steps to Reproduce
- Create a Claude Code on the web routine with any prompt that uses Gmail.
- Attach the Gmail connector to the routine under the Connectors tab.
- Trigger the routine, either on schedule or via "Run now".
- Observe that every Gmail MCP tool call fails with:
"Streamable HTTP error: Error POSTing to endpoint: MCP tool call requires approval"
- Run the same prompt in a normal interactive session — it succeeds with no prompt.
Claude Model
Opus
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
Windows
Terminal/Shell
Other
Additional Information
_No response_
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗