HTTP MCP servers (plugin and user-scoped) don't register tools in --print mode (v2.1.85)

Resolved 💬 2 comments Opened Mar 27, 2026 by eropple Closed Mar 27, 2026

Description

HTTP-based MCP servers don't register their tools as deferred tools when running in --print (-p) mode, even when configured at user scope in settings.json. The same tools are available immediately in interactive mode.

This is not resolved by the v2.1.84 fix for "claude.ai MCP connectors" (#36060), and contradicts the workaround described in #26364 (adding the server to user config).

This report uses a publicly available MCP server (Atlassian plugin) for reproducibility. I have also observed the same behavior with a private HTTP MCP server that I cannot share in a repro.

EDIT: Both MCP servers do use OAuth2 for authentication; that may be related?

Environment

  • Claude Code: v2.1.85
  • OS: Ubuntu 25.10, Linux 6.17.0-19-generic (bare metal, x86_64)

Configuration

The server is registered in two places:

1. User settings (~/.claude/settings.json, scope: user):

{
  "mcpServers": {
    "plugin_atlassian_atlassian": {
      "type": "http",
      "url": "https://mcp.atlassian.com/v1/mcp"
    }
  }
}

2. Plugin .mcp.json (~/.claude/plugins/cache/claude-plugins-official/atlassian/385c1469c567/.mcp.json):

{
  "mcpServers": {
    "atlassian": {
      "type": "http",
      "url": "https://mcp.atlassian.com/v1/mcp"
    }
  }
}

claude mcp list confirms the server is connected:

plugin:atlassian:atlassian: https://mcp.atlassian.com/v1/mcp (HTTP) - ✓ Connected

Reproduction

In -p mode (broken):

claude -p "Use ToolSearch to find mcp__plugin_atlassian_atlassian__getJiraIssue"

Result: Tool not found. No mcp__plugin_atlassian_atlassian__* tools appear in the deferred tools list.

In interactive mode (works):

claude

Result: All mcp__plugin_atlassian_atlassian__* tools appear in the deferred tools system-reminder and are callable via ToolSearch.

Expected behavior

HTTP MCP server tools should be available in --print mode, same as interactive mode.

Notes

  • This worked in versions prior to ~v2.1.79.
  • The v2.1.84 fix ("Fixed claude.ai MCP connectors not being available in single-turn --print mode") did not resolve this.
  • The workaround from #26364 (registering the server at user scope instead of dynamic) does not help — the server is already at user scope in settings.json and still fails.

Related issues

  • #26364 — closed as "not planned"; workaround (user-scope registration) does not resolve this case
  • #34131 — closed as duplicate of #26364
  • #36060 — closed; fix in v2.1.84 only covers first-party claude.ai connectors

View original on GitHub ↗

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