[BUG] Desktop 1.21459.0 (macOS): Extensions page fails with getInstalledExtensionsWithState TypeError: u._parse is not a function whenever any extension is installed
Open 💬 0 comments Opened Jul 15, 2026 by akmad
Environment
- Claude Desktop 1.21459.0 (auto-updated via Squirrel/ShipIt on 2026-07-15 ~11:45 local; ShipIt log shows "Installation completed successfully")
- macOS 26.5.2 (Darwin 25.5.0), Apple Silicon (arm64)
codesign --verify -v /Applications/Claude.app→valid on disk / satisfies its Designated Requirement
Symptom
Since the 1.21459.0 auto-update, Settings → Extensions either hangs at "Loading extensions..." or shows:
Error loading extensions
Error invoking remote method '$eipc_message$_…_$_claude.settings_$_Extensions_$_getInstalledExtensionsWithState': TypeError: u._parse is not a function
Renderer log (~/Library/Logs/Claude/claude.ai-web.log):
2026-07-15 13:00:25 [error] Uncaught (in promise) Error: Error invoking remote method '$eipc_message$_7e1d0999-1d7f-4b41-a6c4-a0f6f7b779d2_$_claude.settings_$_Extensions_$_getInstalledExtensionsWithState': TypeError: u._parse is not a function
Key repro finding
The page renders fine with zero extensions installed. Installing any extension from the Directory (tested: Filesystem 0.2.3, manifest_version 0.3) immediately reproduces the error — i.e. getInstalledExtensionsWithState throws parsing state that this same build just wrote. Uninstall is impossible at that point because the page no longer renders.
Steps to reproduce
- Claude Desktop 1.21459.0 with no extensions installed → Settings → Extensions renders (empty).
- Install "Filesystem" from the extension directory. Install completes; MCP server spawns fine (main.log shows
Secure MCP Filesystem Server running on stdio). - Reopen Settings → Extensions → "Error loading extensions … TypeError: u._parse is not a function" (or an indefinite "Loading extensions..." spinner).
Ruled out (all tried)
- Full OS reboot.
- App bundle corruption — codesign verifies clean.
- Stale JSON state — cleared
Claude Extensions/,Claude Extensions Settings/,extensions-installations.json,extensions-blocklist.jsonwith the app quit. - Stale renderer state — cleared
IndexedDB/https_claude.ai_0.indexeddb.*(per the state-survival behavior described in #67919). - System file-descriptor exhaustion (an unrelated local issue, fixed and verified before these repros;
kern.num_files~10k of 491k during all repro attempts).
The extension backend is healthy throughout — UtilityProcess spawns succeed, MCP servers run, "Extension update check completed" logs normally. Only the settings-page state enumeration path throws.
Notes
- Custom MCP servers configured in
claude_desktop_config.jsonare unaffected and keep working. - Possibly relevant: the 1.21459.0 auto-update installed while the machine was under temporary system-wide ENFILE pressure, but a codesign-clean bundle and the zero-state repro above point at the build itself rather than this machine's state.