[GH-ISSUE #16005] ollama launch claude-desktop configures non-existent npm package causing silent failure #87879

Closed
opened 2026-05-10 06:29:51 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @shayaansarfraz-crypto on GitHub (May 6, 2026).
Original GitHub issue: https://github.com/ollama/ollama/issues/16005

What is the issue?

ollama launch claude-desktop writes a configuration that references a non-existent npm package, causing the Claude Desktop integration to fail silently.

Environment:

  • OS: macOS
  • Ollama version: 0.23.1
  • Claude Desktop version: 1.6259.1(5095e7)

Steps to reproduce:

  1. Set valid OLLAMA_API_KEY for Ollama Cloud
  2. Run ollama launch claude-desktop --yes
  3. Check generated config at ~/Library/Application Support/Claude/claude_desktop_config.json
  4. Config references npx -y mcp-server-ollama
  5. Verify package doesn't exist: npx -y mcp-server-ollama returns npm 404

Expected behavior:

  • Claude Desktop should show Ollama Cloud models in dropdown
  • MCP server should successfully connect

Actual behavior:

  • Empty model dropdown (only "Legacy Model" visible)
  • MCP server silently fails to load (package doesn't exist)

Relevant log output

$ npx -y mcp-server-ollama
npm error 404 Not Found - GET https://registry.npmjs.org/mcp-server-ollama
npm error 404 The requested resource 'mcp-server-ollama@*' could not be found

OS

macOS

GPU

No response

CPU

No response

Ollama version

0.23.1

Originally created by @shayaansarfraz-crypto on GitHub (May 6, 2026). Original GitHub issue: https://github.com/ollama/ollama/issues/16005 ### What is the issue? `ollama launch claude-desktop` writes a configuration that references a non-existent npm package, causing the Claude Desktop integration to fail silently. **Environment:** - OS: macOS - Ollama version: 0.23.1 - Claude Desktop version: 1.6259.1(5095e7) **Steps to reproduce:** 1. Set valid `OLLAMA_API_KEY` for Ollama Cloud 2. Run `ollama launch claude-desktop --yes` 3. Check generated config at `~/Library/Application Support/Claude/claude_desktop_config.json` 4. Config references `npx -y mcp-server-ollama` 5. Verify package doesn't exist: `npx -y mcp-server-ollama` returns npm 404 **Expected behavior:** - Claude Desktop should show Ollama Cloud models in dropdown - MCP server should successfully connect **Actual behavior:** - Empty model dropdown (only "Legacy Model" visible) - MCP server silently fails to load (package doesn't exist) ### Relevant log output ```shell $ npx -y mcp-server-ollama npm error 404 Not Found - GET https://registry.npmjs.org/mcp-server-ollama npm error 404 The requested resource 'mcp-server-ollama@*' could not be found ``` ### OS macOS ### GPU _No response_ ### CPU _No response_ ### Ollama version 0.23.1
GiteaMirror added the bug label 2026-05-10 06:29:51 -05:00
Author
Owner

@vlados412 commented on GitHub (May 7, 2026):

+1 on macOS 1.6259.1 update

<!-- gh-comment-id:4398888977 --> @vlados412 commented on GitHub (May 7, 2026): +1 on macOS 1.6259.1 update
Author
Owner

@Nicholas-Kloster commented on GitHub (May 7, 2026):

Drive-by clarification from a parallel investigation, hopefully useful for triage rather than noisy.

I just walked the v0.23.1 source to verify the framing and the writer in cmd/launch/claude_desktop.go does not appear to author mcpServers entries:

  • The file is 888 lines (single commit https://github.com/ollama/ollama/blob/v0.23.1/cmd/launch/claude_desktop.go)
  • Zero references to mcp, mcpServers, npx, or npm in any form
  • The config-writer (writeClaudeDesktopGatewayProfile) only sets inferenceProvider, inferenceGatewayBaseUrl, inferenceGatewayApiKey, inferenceGatewayAuthScheme, and disableDeploymentModeChooser
  • The reader uses readClaudeDesktopJSONAllowMissing, the writer re-serializes via writeClaudeDesktopJSON, so unrecognized top-level keys (like mcpServers) are preserved as-is from whatever was there before

The most consistent explanation for what you saw is that an mcpServers.ollama -> npx -y mcp-server-ollama entry pre-existed in your config (likely from a community tutorial or an earlier MCP-bridge experiment), and Ollama's launcher preserved it when it added the gateway keys. So:

  • The silent failure you observed is real (mcp-server-ollama is unclaimed on the npm registry, npx -y returns 404)
  • The attribution probably belongs upstream of Ollama, to whichever tutorial or tool authored the mcpServers entry

Two adjacent points worth flagging while we're here:

  1. Several Ollama-namespaced MCP names are unclaimed on npm (mcp-server-ollama, @ollama/mcp-server, @modelcontextprotocol/server-ollama). Anyone who registers them gets npx -y execution as the operator user on every Claude Desktop instance with a tutorial-poisoned config. Worth defensive squatting if Ollama has cycles.

  2. The launcher's preservation behavior creates a misattribution surface, your issue is one example. Suggest either (a) printing a one-time warning during the launch flow listing any unrecognized top-level keys it found, or (b) migrating fully to the third-party-profile path (Claude-3p/) and stopping touching the user's primary config at all.

Full case study with the source-line citations + a coordinated disclosure to Ollama's security contact:
https://nuclide-research.com/cases/case-studies--commercial--vendor-ollama-launch-claude-desktop-2026-05-07/

Not trying to dunk on the report, the silent-failure observation was right, the attribution just has more layers than it first looks.

<!-- gh-comment-id:4399783851 --> @Nicholas-Kloster commented on GitHub (May 7, 2026): Drive-by clarification from a parallel investigation, hopefully useful for triage rather than noisy. I just walked the v0.23.1 source to verify the framing and the writer in `cmd/launch/claude_desktop.go` does not appear to author `mcpServers` entries: - The file is 888 lines (single commit https://github.com/ollama/ollama/blob/v0.23.1/cmd/launch/claude_desktop.go) - Zero references to `mcp`, `mcpServers`, `npx`, or `npm` in any form - The config-writer (`writeClaudeDesktopGatewayProfile`) only sets `inferenceProvider`, `inferenceGatewayBaseUrl`, `inferenceGatewayApiKey`, `inferenceGatewayAuthScheme`, and `disableDeploymentModeChooser` - The reader uses `readClaudeDesktopJSONAllowMissing`, the writer re-serializes via `writeClaudeDesktopJSON`, so unrecognized top-level keys (like `mcpServers`) are preserved as-is from whatever was there before The most consistent explanation for what you saw is that an `mcpServers.ollama -> npx -y mcp-server-ollama` entry pre-existed in your config (likely from a community tutorial or an earlier MCP-bridge experiment), and Ollama's launcher preserved it when it added the gateway keys. So: - The silent failure you observed is real (`mcp-server-ollama` is unclaimed on the npm registry, `npx -y` returns 404) - The attribution probably belongs upstream of Ollama, to whichever tutorial or tool authored the `mcpServers` entry Two adjacent points worth flagging while we're here: 1. Several Ollama-namespaced MCP names are unclaimed on npm (`mcp-server-ollama`, `@ollama/mcp-server`, `@modelcontextprotocol/server-ollama`). Anyone who registers them gets `npx -y` execution as the operator user on every Claude Desktop instance with a tutorial-poisoned config. Worth defensive squatting if Ollama has cycles. 2. The launcher's preservation behavior creates a misattribution surface, your issue is one example. Suggest either (a) printing a one-time warning during the launch flow listing any unrecognized top-level keys it found, or (b) migrating fully to the third-party-profile path (`Claude-3p/`) and stopping touching the user's primary config at all. Full case study with the source-line citations + a coordinated disclosure to Ollama's security contact: https://nuclide-research.com/cases/case-studies--commercial--vendor-ollama-launch-claude-desktop-2026-05-07/ Not trying to dunk on the report, the silent-failure observation was right, the attribution just has more layers than it first looks.
Author
Owner

@shayaansarfraz-crypto commented on GitHub (May 7, 2026):

Appreciate the reply man!

<!-- gh-comment-id:4400155275 --> @shayaansarfraz-crypto commented on GitHub (May 7, 2026): Appreciate the reply man!
Author
Owner

@ParthSareen commented on GitHub (May 8, 2026):

Hey folks, closing this out since we've removed the integration due to not being supported anymore.

<!-- gh-comment-id:4402924942 --> @ParthSareen commented on GitHub (May 8, 2026): Hey folks, closing this out since we've removed the integration due to not being supported anymore.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#87879