claude-code - 💡(How to fix) Fix Routines UI should auto-allow MCP tools when MCP servers are connected

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Code Example

"allowed_tools": [
  "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch",
  "mcp__slackgustoofficialmcp__slack_read_channel",
  "mcp__slackgustoofficialmcp__slack_send_message"
]
RAW_BUFFERClick to expand / collapse

Problem

When setting up a routine (remote trigger) via the claude.ai web app or the Claude desktop app, you can connect MCP servers (e.g., Slack, GitHub). However, the routine's session_context.allowed_tools only includes basic tools (Bash, Read, Write, Edit, Glob, Grep, WebFetch, WebSearch) by default. The MCP tools from connected servers are not automatically added.

This means the agent cannot call any MCP tools at runtime — even though the MCP connection is visually present in the routine config. The only way to fix this is to call the trigger API directly and manually add each MCP tool name to the allowed_tools array, e.g.:

"allowed_tools": [
  "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch",
  "mcp__slackgustoofficialmcp__slack_read_channel",
  "mcp__slackgustoofficialmcp__slack_send_message"
]

There is no way to do this through either UI. A normal user setting up a routine with MCP would have no idea why their agent can't use the connected tools.

Affected surfaces

  • Claude.ai web app (claude.ai/code/routines)
  • Claude Desktop app (Schedule page)
  • Both create routines with MCP connections visible but tools not in allowed_tools

Expected behavior

When an MCP server is added to a routine, the routine should automatically allow all tools from that server (or expose a UI toggle to select which tools to allow). The allowed_tools array should be populated automatically based on connected MCP servers.

Actual behavior

MCP servers appear connected in the routine config, but their tools are not in allowed_tools. The agent reports "No [MCP] tools are connected" at runtime. The only fix is a manual API call to POST /v1/code/triggers/{id} with the correct tool names.

Steps to reproduce

  1. Create a routine via claude.ai/code/routines or Claude Desktop app's Schedule page
  2. Connect an MCP server (e.g., Slack via Runlayer)
  3. Set a prompt that uses MCP tools
  4. Run the routine
  5. Observe the agent cannot call MCP tools

Additional context

  • Discovered while setting up a daily Slack briefing routine
  • The mcp_connections array in the trigger config correctly lists the server URLs and connector UUIDs
  • The issue is specifically that session_context.allowed_tools doesn't include MCP tool names
  • Also: CLI support for routine management (/schedule) likely has the same gap
  • Feature request: expose allowed_tools configuration in the UI, or better yet, auto-populate it from connected MCP servers

extent analysis

TL;DR

To fix the issue, manually add the MCP tool names to the allowed_tools array via a POST /v1/code/triggers/{id} API call.

Guidance

  • Verify that the mcp_connections array in the trigger config correctly lists the server URLs and connector UUIDs to ensure the MCP server is properly connected.
  • Identify the specific MCP tool names that need to be added to the allowed_tools array, such as mcp__slackgustoofficialmcp__slack_read_channel and mcp__slackgustoofficialmcp__slack_send_message.
  • Use the POST /v1/code/triggers/{id} API to update the allowed_tools array with the required MCP tool names.
  • Test the routine again to ensure the agent can call the MCP tools.

Example

"allowed_tools": [
  "Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch",
  "mcp__slackgustoofficialmcp__slack_read_channel",
  "mcp__slackgustoofficialmcp__slack_send_message"
]

Notes

The current workaround requires manual intervention via an API call, which may not be user-friendly. A potential feature request is to expose the allowed_tools configuration in the UI or auto-populate it from connected MCP servers.

Recommendation

Apply workaround: manually add MCP tool names to the allowed_tools array via the API call, as there is no UI-based solution currently available.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

When an MCP server is added to a routine, the routine should automatically allow all tools from that server (or expose a UI toggle to select which tools to allow). The allowed_tools array should be populated automatically based on connected MCP servers.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix Routines UI should auto-allow MCP tools when MCP servers are connected