[BUG]
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?
The MCP servers panel is stuck loading. Let me check your config.
What Should Happen?
Claude Code has been troubleshooting this message and to no resolved it continues to spin.
<img width="502" height="182" alt="Image" src="https://github.com/user-attachments/assets/58397e9a-7ceb-4560-aa55-5a6f0eea9c50" />
Error Messages/Logs
Steps to Reproduce
Select for MCP top right and thats when it starts to spin
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
latest
Claude Code Version
latest
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
he MCP servers panel is stuck loading. Let me check your config.
Globpattern: ".claude/settings.json"
Found 1 file
Globpattern: "**/.mcp.json"
Found 1 file
Read [settings.json](vscode-webview://0ajgmlm505hifjk752caao5pkumr1pqngs8iofnusrfffu8tk5em/index.html?id=98cff277-1eb5-4482-b8e4-840f874ba903&parentId=1&origin=dd4e5f64-044c-43f2-b418-fd18a73e9f41&swVersion=4&extensionId=Anthropic.claude-code&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&session=079c750e-c9dd-4845-ae7d-8e84c574e46b#)
You have one MCP server configured: firecrawl. The hang is likely caused by that server failing to start. Let me test it.
Bash Test firecrawl-mcp startup
IN
timeout 10 npx -y firecrawl-mcp 2>&1 || echo "EXIT: $?"
OUT
(eval):1: command not found: timeout
EXIT: 127
Bash Test firecrawl-mcp startup with gtimeout
IN
gtimeout 10 npx -y firecrawl-mcp 2>&1; echo "EXIT: $?"
OUT
(eval):1: command not found: gtimeout
EXIT: 127
Bash Test if firecrawl-mcp hangs on startup
IN
npx -y firecrawl-mcp &
PID=$!
sleep 8
if kill -0 $PID 2>/dev/null; then
echo "Still running after 8s (hanging)"
kill $PID
else
echo "Exited on its own"
fi
OUT
Either FIRECRAWL_API_KEY or FIRECRAWL_API_URL must be provided
Exited on its own
Bash Test firecrawl-mcp with API key
IN
FIRECRAWL_API_KEY="fc-ee7cb33e07764b72894669b240e71da6" npx firecrawl-mcp &
PID=$!
sleep 8
if kill -0 $PID 2>/dev/null; then
echo "Still running after 8s (server is up)"
kill $PID
else
echo "Exited on its own"
fi
OUT
Exited on its own
Bash Run firecrawl-mcp and capture output
IN
FIRECRAWL_API_KEY="fc-ee7cb33e07764b72894669b240e71da6" npx firecrawl-mcp 2>&1; echo "EXIT CODE: $?"
OUT
EXIT CODE: 0
Bash Check firecrawl-mcp version
IN
npm list -g firecrawl-mcp 2>/dev/null; npx firecrawl-mcp --version 2>&1 || true
OUT
/opt/homebrew/lib
└── (empty)
Either FIRECRAWL_API_KEY or FIRECRAWL_API_URL must be provided
Globpattern: "[claude_desktop_config.json](vscode-webview://0ajgmlm505hifjk752caao5pkumr1pqngs8iofnusrfffu8tk5em/index.html?id=98cff277-1eb5-4482-b8e4-840f874ba903&parentId=1&origin=dd4e5f64-044c-43f2-b418-fd18a73e9f41&swVersion=4&extensionId=Anthropic.claude-code&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&session=079c750e-c9dd-4845-ae7d-8e84c574e46b#)"
Found 1 file
Read claude_desktop_config.json
Bash Find Claude Code logs
IN
ls ~/Library/Logs/Claude/ 2>/dev/null || ls ~/Library/Application\ Support/Claude/logs/ 2>/dev/null || echo "No log dir found"
OUT
claude.ai-web.log
cowork_vm_node.log
cowork_vm_swift.log
coworkd.log
main.log
ssh.log
swift.log
unknown-window.log
vzgvisor.log
Bash Search Claude logs for MCP/firecrawl errors
IN
grep -i "mcp\|firecrawl" ~/Library/Logs/Claude/main.log 2>/dev/null | tail -30
OUT
2026-04-06 19:49:15 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:49:15 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:50:01 [info] MCP Server connection requested for: mcp-registry
2026-04-06 19:50:01 [info] MCP Server connection requested for: Claude in Chrome
2026-04-06 19:51:05 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:05 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:51:25 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:25 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 20:13:58 [info] Running onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Running onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] [LocalMcpServerManager] Closing all (0 servers)
2026-04-06 20:13:58 [info] Running onQuitCleanup: direct-mcp-host-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: direct-mcp-host-shutdown
2026-04-07 02:19:45 [info] [office-addin] MCP Server created
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Chrome at /Users/empire/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Brave at /Users/empire/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Edge at /Users/empire/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Chromium at /Users/empire/Library/Application Support/Chromium/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Arc at /Users/empire/Library/Application Support/Arc/User Data/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Vivaldi at /Users/empire/Library/Application Support/Vivaldi/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Opera at /Users/empire/Library/Application Support/com.operasoftware.Opera/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Native host installation complete
2026-04-07 02:19:46 [info] [Claude in Chrome] MCP server registered
2026-04-07 02:19:48 [info] MCP Server connection requested for: mcp-registry
2026-04-07 02:19:48 [info] MCP Server connection requested for: Claude in Chrome
Bash Search for firecrawl specifically in logs
IN
grep -i "firecrawl\|4 total servers" ~/Library/Logs/Claude/main.log 2>/dev/null | tail -20
OUT
2026-04-06 15:43:10 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
2026-04-06 19:49:15 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
2026-04-06 19:51:05 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
2026-04-06 19:51:25 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
The issue is npx -y firecrawl-mcp — it downloads the package every time on startup, causing the hang. The fix is to install it globally so it starts instantly.
Bash Install firecrawl-mcp globally
IN
npm install -g firecrawl-mcp 2>&1
OUT
added 150 packages in 1s
59 packages are looking for funding
run npm fund for details
Bash Verify global install path
IN
which firecrawl-mcp
OUT
/opt/homebrew/bin/firecrawl-mcp
Now update the config to use the global binary directly instead of npx:
Edit [settings.json](vscode-webview://0ajgmlm505hifjk752caao5pkumr1pqngs8iofnusrfffu8tk5em/index.html?id=98cff277-1eb5-4482-b8e4-840f874ba903&parentId=1&origin=dd4e5f64-044c-43f2-b418-fd18a73e9f41&swVersion=4&extensionId=Anthropic.claude-code&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&session=079c750e-c9dd-4845-ae7d-8e84c574e46b#)
Modified
Done. firecrawl-mcp is now installed globally at /opt/homebrew/bin/firecrawl-mcp and the config points to it directly. Reload the MCP servers panel — it should connect immediately instead of spinning.
same issue
Bash Check current settings
IN
cat /Users/empire/.claude/settings.json
OUT
{
"mcpServers": {
"firecrawl": {
"command": "firecrawl-mcp",
"args": [],
"env": {
"FIRECRAWL_API_KEY": "fc-ee7cb33e07764b72894669b240e71da6"
}
}
}
}
Bash List claude config directory
IN
ls /Users/empire/.claude/
OUT
backups
cache
downloads
file-history
ide
mcp-needs-auth-cache.json
plans
plugins
projects
session-env
sessions
settings.json
shell-snapshots
Bash Check MCP auth cache
IN
cat /Users/empire/.claude/mcp-needs-auth-cache.json 2>/dev/null
OUT
{}
Bash Test firecrawl-mcp global binary startup
IN
FIRECRAWL_API_KEY="fc-ee7cb33e07764b72894669b240e71da6" firecrawl-mcp &
PID=$!
sleep 5
if kill -0 $PID 2>/dev/null; then
echo "Running OK after 5s"
kill $PID
else
echo "Crashed"
fi
OUT
Crashed
The server is crashing. Let me get the error output.
Bash Run firecrawl-mcp and capture stderr
IN
FIRECRAWL_API_KEY="fc-ee7cb33e07764b72894669b240e71da6" firecrawl-mcp 2>&1; echo "EXIT: $?"
OUT
EXIT: 0
Bash Send MCP initialize message to firecrawl-mcp
IN
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | FIRECRAWL_API_KEY="fc-ee7cb33e07764b72894669b240e71da6" firecrawl-mcp 2>&1; echo "EXIT: $?"
OUT
{"result":{"protocolVersion":"2024-11-05","capabilities":{"tools":{},"logging":{}},"serverInfo":{"name":"firecrawl-fastmcp","version":"3.0.0"}},"jsonrpc":"2.0","id":1}
EXIT: 0
The server itself works fine. The extension may need a window reload to pick up the config change, but let me also check if there are other MCP servers configured that might be hanging.
Bash Find all MCP server config files
IN
find /Users/empire/.claude -name "*.json" | xargs grep -l "mcpServers\|mcp_servers" 2>/dev/null
OUT
/Users/empire/.claude/settings.json
Bash Find VSCode user settings
IN
find /Users/empire/Library/Application\ Support/Code/User /Users/empire/.vscode -name "settings.json" 2>/dev/null | head -5
OUT
/Users/empire/Library/Application Support/Code/User/settings.json
Bash Check VSCode settings for MCP/Claude config
IN
grep -i "mcp\|claude" "/Users/empire/Library/Application Support/Code/User/settings.json" 2>/dev/null
OUT
(Bash completed with no output)
Bash Check Claude plugins directory
IN
ls /Users/empire/.claude/plugins/ 2>/dev/null
OUT
blocklist.json
Bash Check running MCP/Claude processes
IN
ps aux | grep -i "claude\|firecrawl\|mcp" | grep -v grep
OUT
empire 92181 23.9 1.3 142233768 113072 ?? S 2:51AM 0:12.94 /Users/empire/.antigravity/extensions/anthropic.claude-code-2.1.92-darwin-x64/resources/native-binary/claude --output-format stream-json --verbose --input-format stream-json --max-thinking-tokens 31999 --permission-prompt-tool stdio --resume 079c750e-c9dd-4845-ae7d-8e84c574e46b --setting-sources=user,project,local --permission-mode default --include-partial-messages --debug --debug-to-stderr --enable-auth-status --no-chrome --replay-user-messages
empire 90465 2.2 0.6 1904860576 52864 ?? S 2:19AM 1:13.32 /Applications/Claude.app/Contents/MacOS/Claude
empire 90496 0.0 0.1 493100608 10144 ?? S 2:19AM 0:00.41 /Applications/Claude.app/Contents/Frameworks/Claude Helper (Plugin).app/Contents/MacOS/Claude Helper (Plugin) --type=utility --utility-sub-type=video_capture.mojom.VideoCaptureService --lang=en-US --service-sandbox-type=none --message-loop-type-ui --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708995682289984
empire 90495 0.0 0.1 493057824 7504 ?? S 2:19AM 0:00.32 /Applications/Claude.app/Contents/Frameworks/Claude Helper.app/Contents/MacOS/Claude Helper --type=utility --utility-sub-type=audio.mojom.AudioService --lang=en-US --service-sandbox-type=audio --message-loop-type-ui --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708994745248135 --seatbelt-client=85
empire 90476 0.0 0.9 1904324896 72112 ?? S 2:19AM 0:25.42 /Applications/Claude.app/Contents/Frameworks/Claude Helper (Renderer).app/Contents/MacOS/Claude Helper (Renderer) --type=renderer --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --app-path=/Applications/Claude.app/Contents/Resources/app.asar --enable-sandbox --lang=en-US --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=7 --time-ticks-at-unix-epoch=-1775322319668392 --launch-time-ticks=224067161912 --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708992871164437 --desktop-features={"nativeQuickEntry":{"status":"supported"},"quickEntryDictation":{"status":"supported"},"customQuickEntryDictationShortcut":{"status":"supported"},"plushRaccoon":{"status":"unavailable"},"quietPenguin":{"status":"unavailable"},"chillingSlothFeat":{"status":"supported"},"chillingSlothEnterprise":{"status":"supported"},"chillingSlothLocal":{"status":"supported"},"yukonSilver":{"status":"supported"},"yukonSilverGems":{"status":"supported"},"yukonSilverGemsCache":{"status":"supported"},"wakeScheduler":{"status":"unavailable"},"operon":{"status":"unavailable"},"desktopTopBar":{"status":"supported"},"ccdPlugins":{"status":"supported"},"floatingAtoll":{"status":"unavailable"},"computerUse":{"status":"supported"}} --desktop-enterprise-config={"forceLoginOrgUUIDs":null,"disableEssentialTelemetry":false,"disableNonessentialTelemetry":false} --desktop-telemetry-config={"deploymentMode":"standard","appVersion":"1.569.0","cookielessOrigin":false} --seatbelt-client=19
empire 90475 0.0 0.1 1897538064 8208 ?? S 2:19AM 0:00.32 /Applications/Claude.app/Contents/Frameworks/Claude Helper (Renderer).app/Contents/MacOS/Claude Helper (Renderer) --type=renderer --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --app-path=/Applications/Claude.app/Contents/Resources/app.asar --enable-sandbox --lang=en-US --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=6 --time-ticks-at-unix-epoch=-1775322319668392 --launch-time-ticks=224066360953 --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708991934122588 --seatbelt-client=65
empire 90473 0.0 0.1 1897562032 8384 ?? S 2:19AM 0:00.52 /Applications/Claude.app/Contents/Frameworks/Claude Helper (Renderer).app/Contents/MacOS/Claude Helper (Renderer) --type=renderer --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --app-path=/Applications/Claude.app/Contents/Resources/app.asar --enable-sandbox --lang=en-US --num-raster-threads=4 --enable-zero-copy --enable-gpu-memory-buffer-compositor-resources --enable-main-frame-before-activation --renderer-client-id=4 --time-ticks-at-unix-epoch=-1775322319668392 --launch-time-ticks=224066344185 --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708990060038890 --seatbelt-client=65
empire 90471 0.0 0.3 493591744 28880 ?? S 2:19AM 0:03.76 /Applications/Claude.app/Contents/Frameworks/Claude Helper.app/Contents/MacOS/Claude Helper --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --user-data-dir=/Users/empire/Library/Application Support/Claude --standard-schemes=operon-artifact,cowork-artifact,app --secure-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --bypasscsp-schemes=operon-artifact,sentry-ipc --cors-schemes=app,sentry-ipc --fetch-schemes=operon-artifact,cowork-artifact,app,sentry-ipc --service-worker-schemes=app --streaming-schemes=operon-artifact --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708989122997041 --seatbelt-client=38
empire 90469 0.0 0.2 494370592 15280 ?? S 2:19AM 0:06.33 /Applications/Claude.app/Contents/Frameworks/Claude Helper.app/Contents/MacOS/Claude Helper --type=gpu-process --user-data-dir=/Users/empire/Library/Application Support/Claude --gpu-preferences=SAAAAAAAAAAgAQAEAAAAAAAAAAAAAGAAAwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --shared-files --field-trial-handle=1718379636,r,13557714794581470815,1124003500543708061,262144 --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,PdfUseShowSaveFilePicker,ScreenCaptureKitPickerScreen,ScreenCaptureKitStreamPickerSonoma --disable-features=LocalNetworkAccessChecks,MacWebContentsOcclusion,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TimeoutHangingVideoCaptureStarts,TraceSiteInstanceGetProcessCreation --variations-seed-version --trace-process-track-uuid=3190708988185955192 --seatbelt-client=33
empire 90468 0.0 0.0 492593488 2720 ?? S 2:19AM 0:00.02 /Applications/Claude.app/Contents/Frameworks/Electron Framework.framework/Helpers/chrome_crashpad_handler --no-rate-limit --monitor-self-annotation=ptype=crashpad-handler --database=/Users/empire/Library/Application Support/Claude/Crashpad --url=https://f.a.k/e --annotation=_productName=Claude --annotation=_version=1.569.0 --annotation=plat=OS X --annotation=prod=Electron --annotation=ver=40.8.5 --handshake-fd=18
Bash Check extension directory
IN
ls /Users/empire/.antigravity/extensions/anthropic.claude-code-2.1.92-darwin-x64/ 2>/dev/null | head -20
OUT
README.md
claude-code-settings.schema.json
extension.js
package.json
resources
webview
Bash Search logs for MCP errors
IN
find /Users/empire/Library/Logs -name "*.log" 2>/dev/null | xargs grep -l "mcp\|firecrawl" 2>/dev/null | head -5
OUT
/Users/empire/Library/Logs/Claude/main.log
Bash Get recent MCP log entries
IN
grep -i "mcp\|firecrawl" ~/Library/Logs/Claude/main.log | tail -40
OUT
2026-04-06 15:09:15 [info] MCP Server connection requested for: mcp-registry
2026-04-06 15:09:15 [info] MCP Server connection requested for: Claude in Chrome
2026-04-06 15:43:10 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 15:43:10 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 15:43:33 [info] [CCD start-timing] local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03 preflight=40ms worktree=91ms mcp=40ms query=2ms enqueue=10ms init=18499ms first_assistant=4761ms | ccd_overhead=173ms total_to_init=18682ms total_to_assistant=23443ms cache_hit=false worktree=false mcp_count=4
2026-04-06 18:13:18 [info] Emitted tool permission request 10ed1062-86d8-48a1-ac15-8d7e10f68751 for mcp__Claude_in_Chrome__tabs_context_mcp in session local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03
2026-04-06 18:13:18 [info] Received permission response for 10ed1062-86d8-48a1-ac15-8d7e10f68751: once (tool: mcp__Claude_in_Chrome__tabs_context_mcp)
2026-04-06 18:20:31 [info] Emitted tool permission request 4b56fefd-93cc-4552-a5a4-57e20d831fce for mcp__Claude_in_Chrome__tabs_context_mcp in session local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03
2026-04-06 18:20:32 [info] Received permission response for 4b56fefd-93cc-4552-a5a4-57e20d831fce: once (tool: mcp__Claude_in_Chrome__tabs_context_mcp)
2026-04-06 19:49:15 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:49:15 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:50:01 [info] MCP Server connection requested for: mcp-registry
2026-04-06 19:50:01 [info] MCP Server connection requested for: Claude in Chrome
2026-04-06 19:51:05 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:05 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:51:25 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:25 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 20:13:58 [info] Running onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Running onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] [LocalMcpServerManager] Closing all (0 servers)
2026-04-06 20:13:58 [info] Running onQuitCleanup: direct-mcp-host-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: direct-mcp-host-shutdown
2026-04-07 02:19:45 [info] [office-addin] MCP Server created
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Chrome at /Users/empire/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Brave at /Users/empire/Library/Application Support/BraveSoftware/Brave-Browser/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Edge at /Users/empire/Library/Application Support/Microsoft Edge/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Chromium at /Users/empire/Library/Application Support/Chromium/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Arc at /Users/empire/Library/Application Support/Arc/User Data/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Vivaldi at /Users/empire/Library/Application Support/Vivaldi/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Installed native host manifest for Opera at /Users/empire/Library/Application Support/com.operasoftware.Opera/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
2026-04-07 02:19:46 [info] [Chrome Extension MCP] Native host installation complete
2026-04-07 02:19:46 [info] [Claude in Chrome] MCP server registered
2026-04-07 02:19:48 [info] MCP Server connection requested for: mcp-registry
2026-04-07 02:19:48 [info] MCP Server connection requested for: Claude in Chrome
The config change won't take effect until the extension reloads. Try:
Cmd+Shift+P → "Developer: Reload Window"
If it's still spinning after that, check the extension output panel: Cmd+Shift+P → "Claude: Show Output" (or look in the Output panel dropdown for "Claude Code") and share any errors you see there.
i don't see these here
The extension path shows .antigravity — that looks like it might be the Claude desktop app's built-in IDE, not standard VSCode. What editor are you in when you see the "Manage MCP servers" panel?
agent
That's the Claude desktop app. To pick up the config change, you need to fully quit and relaunch the Claude app (Cmd+Q, then reopen it).
If it still spins after that, it may be a built-in issue with the desktop app's agent MCP panel unrelated to firecrawl. Do you see firecrawl listed at all, or is the whole panel just blank and spinning?
the whole panel is blank
Bash Search for MCP errors in Claude desktop logs
IN
grep -i "error\|fail\|timeout\|mcp" ~/Library/Logs/Claude/main.log | grep -v "Chrome\|office\|manifest\|seatbelt\|crashpad" | tail -40
OUT
2026-04-06 19:29:33 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:30:46 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:41:46 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:42:48 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:43:12 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:44:40 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 19:49:15 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:49:15 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:50:01 [info] MCP Server connection requested for: mcp-registry
2026-04-06 19:51:05 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:05 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:51:25 [info] [CCD] LocalSessions.replaceRemoteMcpServers: sessionId=local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03, serverCount=0
2026-04-06 19:51:25 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 4 total servers {
'mcp-registry',
2026-04-06 19:51:55 [info] [IdleManager:session] Starting idle timeout for local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03: 900s
2026-04-06 20:06:55 [info] [IdleManager:session] Idle timeout reached, disconnecting local_91c9c5c8-bee5-4b0d-9efa-fb5be741dc03
2026-04-06 20:13:58 [info] Running onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Running onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] [LocalMcpServerManager] Closing all (0 servers)
2026-04-06 20:13:58 [info] Running onQuitCleanup: direct-mcp-host-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: local-mcp-server-cleanup
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: mcp-shutdown
2026-04-06 20:13:58 [info] Successfully run onQuitCleanup: direct-mcp-host-shutdown
2026-04-07 02:19:45 [info] [IdleManager:session] Initialized with 900s timeout
2026-04-07 02:19:45 [info] [IdleManager:preview] Initialized with 1800s timeout
2026-04-07 02:19:47 [warn] [CCD] Shell environment extraction failed, using process.env: Error: Utility process exited with code: 1
2026-04-07 02:19:47 [error] Sentry caught: {
2026-04-07 02:19:48 [error] [detectedProjects] source failed: Error: Failed to spawn /usr/bin/sqlite3 (via disclaimer): /Applications/Claude.app/Contents/Helpers/disclaimer exited with code 14: Error: in prepare, unable to open database file (14)
2026-04-07 02:19:48 [info] MCP Server connection requested for: mcp-registry
2026-04-07 02:19:50 [error] [detectedProjects] source failed: Error: Failed to spawn /usr/bin/sqlite3 (via disclaimer): /Applications/Claude.app/Contents/Helpers/disclaimer exited with code 14: Error: in prepare, unable to open database file (14)
2026-04-07 02:49:50 [error] [detectedProjects] source failed: Error: Failed to spawn /usr/bin/sqlite3 (via disclaimer): /Applications/Claude.app/Contents/Helpers/disclaimer exited with code 14: Error: in prepare, unable to open database file (14)
2026-04-07 03:06:09 [info] Running onQuitCleanup: mcp-shutdown
2026-04-07 03:06:09 [info] Running onQuitCleanup: local-mcp-server-cleanup
2026-04-07 03:06:09 [info] [LocalMcpServerManager] Closing all (0 servers)
2026-04-07 03:06:09 [info] Running onQuitCleanup: direct-mcp-host-shutdown
2026-04-07 03:06:09 [info] Successfully run onQuitCleanup: local-mcp-server-cleanup
2026-04-07 03:06:09 [info] Successfully run onQuitCleanup: mcp-shutdown
2026-04-07 03:06:09 [info] Successfully run onQuitCleanup: direct-mcp-host-shutdown
Found two relevant errors in the logs:
[warn] Shell environment extraction failed, using process.env
[error] Failed to spawn /usr/bin/sqlite3 (via disclaimer): unable to open database file
The shell env failure means Claude can't read your PATH — which affects MCP server startup. The SQLite error is also preventing project detection.
Let me check if the shell env issue is the root cause:
Bash Check Claude app support directory permissions
IN
ls -la "/Users/empire/Library/Application Support/Claude/" | head -20
OUT
total 368
drwx------@ 38 empire staff 1216 Apr 7 03:06 .
drwx------+ 92 empire staff 2944 Apr 5 23:30 ..
drwx------@ 4 empire staff 128 Apr 3 15:47 Cache
drwx------@ 4 empire staff 128 Apr 3 15:47 Code Cache
-rw-------@ 1 empire staff 28672 Apr 7 03:06 Cookies
-rw-------@ 1 empire staff 0 Apr 7 03:06 Cookies-journal
drwx------@ 7 empire staff 224 Apr 3 15:47 Crashpad
-rw-------@ 1 empire staff 36864 Apr 6 20:14 DIPS
-rw-------@ 1 empire staff 24752 Apr 7 02:21 DIPS-wal
drwx------@ 7 empire staff 224 Apr 3 15:47 DawnGraphiteCache
drwx------@ 7 empire staff 224 Apr 3 15:47 DawnWebGPUCache
drwx------@ 7 empire staff 224 Apr 3 15:47 GPUCache
drwx------@ 4 empire staff 128 Apr 3 15:49 IndexedDB
drwx------@ 3 empire staff 96 Apr 3 15:47 Local Storage
-rw-------@ 1 empire staff 4288 Apr 7 03:06 Network Persistent State
-rw-------@ 1 empire staff 217 Apr 7 02:44 Preferences
drwx------@ 8 empire staff 256 Apr 7 02:19 Session Storage
drwx------@ 5 empire staff 160 Apr 3 15:47 Shared Dictionary
-rw-------@ 1 empire staff 4096 Apr 3 15:49 SharedStorage
Bash Test the disclaimer helper directly
IN
/Applications/Claude.app/Contents/Helpers/disclaimer 2>&1; echo "EXIT: $?"
OUT
Usage: disclaimer <command> [args...]
EXIT: 1
The shell environment failure means the app has a limited PATH — /opt/homebrew/bin (where firecrawl-mcp lives) isn't in it. Let me fix the config to use the full path:
Edit [settings.json](vscode-webview://0ajgmlm505hifjk752caao5pkumr1pqngs8iofnusrfffu8tk5em/index.html?id=98cff277-1eb5-4482-b8e4-840f874ba903&parentId=1&origin=dd4e5f64-044c-43f2-b418-fd18a73e9f41&swVersion=4&extensionId=Anthropic.claude-code&platform=electron&vscode-resource-base-authority=vscode-resource.vscode-cdn.net&parentOrigin=vscode-file%3A%2F%2Fvscode-app&session=079c750e-c9dd-4845-ae7d-8e84c574e46b#)
Modified
But honestly, the blank/spinning panel looks like it may be a separate issue in the Claude desktop app — the mcp-registry connection failure or the SQLite error might be what's preventing the panel from rendering at all, independent of firecrawl.
Try fully quitting Claude (Cmd+Q) and relaunching. If the panel is still blank after that, it's likely a bug in the app itself (v1.569.0) rather than your config — and worth reporting at github.com/anthropics/claude-code/issues.
settings.json
ok. i'm in antigravity while using claude code
Got it — antigravity is the Claude desktop app's built-in IDE. The MCP panel there reads from the same [.claude/settings.json](vscode-webview://0ajgmlm505hifjk752caao5pkumr1pqngs8iofnusrfffu8tk5em/.claude/settings.json) we already updated.
To pick up the changes, try clicking the refresh/retry button in the "Manage MCP servers" panel (the circular arrow icon next to "Refreshing..."). If that doesn't work, start a new Claude Code session — the MCP server will be initialized fresh with the corrected full path.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗