[BUG] Linear MCP tools appear as "deferred" and fail to work reliably across sessions despite server showing Connected
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?
Linear MCP tools (mcp__linear__*) don't work in Claude Code sessions even though the server reports as Connected.
Two specific failures:
- Tools are "deferred" at session start — schemas not loaded
At the start of every session, Linear tools only appear in the <system-reminder> block as deferred tools, meaning their parameter schemas aren't loaded and they cannot be called directly. Claude must internally call a ToolSearch workaround to load schemas before the tools are usable. This extra step is not required for the GitHub MCP server, which is configured identically.
- Permission prompts fire despite tools being explicitly allowed
Even after schemas are loaded via ToolSearch, calling a Linear tool (e.g. mcp__linear__linear_get_user_issues) triggers a permission prompt — despite the tool being listed in .claude/settings.local.json under permissions.allow. The equivalent GitHub tools do not trigger prompts.
Bonus failure: Claude gave false reassurance across multiple sessions
Across multiple sessions where Linear didn't work, Claude said "Linear will work when you start a new session." This was wrong each time and should not have been said.
What Should Happen?
Linear MCP tools should be available at session start with no extra steps, the same way GitHub MCP tools are.
Tools listed in permissions.allow should not trigger permission prompts.
Error Messages/Logs
claude mcp list output:
linear: npx -y linear-mcp-server - ✓ Connected
github: npx -y @modelcontextprotocol/server-github - ✓ Connected
claude mcp get linear output:
linear:
Scope: User config (available in all your projects)
Status: ✓ Connected
Type: stdio
Command: npx
Args: -y linear-mcp-server
Environment:
LINEAR_API_KEY=<redacted>
.claude/settings.local.json permissions (project-level):
{
"permissions": {
"allow": [
"mcp__linear__linear_get_user_issues",
"mcp__linear__linear_search_issues",
"mcp__linear__linear_create_issue",
"mcp__linear__linear_update_issue",
"mcp__linear__linear_add_comment"
]
}
}
System reminder shown at session start (Linear tools deferred, GitHub tools are not):
The following deferred tools are now available via ToolSearch. Their schemas are NOT loaded:
mcp__linear__linear_add_comment
mcp__linear__linear_create_issue
mcp__linear__linear_get_user_issues
mcp__linear__linear_search_issues
mcp__linear__linear_update_issue
Steps to Reproduce
Add Linear MCP server at user scope:
claude mcp add linear -s user --env LINEAR_API_KEY=<key> -- npx -y linear-mcp-server
Verify it shows Connected: claude mcp list
Add Linear tool permissions to .claude/settings.local.json:
{ "permissions": { "allow": ["mcp__linear__linear_get_user_issues"] } }
Start a new Claude Code session in any project.
Observe: mcp__linear__* tools appear only in the deferred tools system-reminder, not as directly callable.
Ask Claude to fetch your Linear issues.
Observe: Claude must call ToolSearch internally to load schemas (extra step not needed for GitHub MCP).
After ToolSearch, Claude attempts mcp__linear__linear_get_user_issues.
Observe: Permission prompt fires despite the tool being in permissions.allow.
Contrast: Repeat steps 4–9 with any mcp__github__* tool — no deferred state, no unexpected permission prompt.
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.119
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
PowerShell
Additional Information
Maybe this is a really simple fix, but Claude should be able to tell me how to fix it.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗