Desktop app: messages don't render on send until after delay (possible startup migration blocking UI)
Description
After sending a message in Claude Desktop, the message does not appear in the chat UI. It is actually sent (the response eventually appears), but the rendered chat view doesn't update. This affects all chats, not just new ones.
After the app has been open for some amount of time (minutes), the issue resolves itself and messages render normally again. This suggests the renderer/UI thread is blocked by a startup task (possibly IndexedDB migration or reindexing).
Environment
- macOS (Darwin 25.3.0), MacBook Pro M1 Max
- Claude Desktop — latest (1.1.9493 was the last update prompt)
- Data directory size: ~13GB
- Claude Code CLI works fine in parallel — issue is Desktop-only
Reproduction
- Quit Claude Desktop fully (Cmd+Q)
- Relaunch
- Open any chat (new or existing)
- Type a message and press Enter
- Message disappears / does not render in the chat view
- Tab away from the app and back — sometimes the message appears, sometimes not
- After several minutes of the app being open, rendering starts working normally
What I've tried (none fixed it)
- Relaunching multiple times
- Fresh download and install from claude.ai/download (app binary replaced, data preserved)
- Clearing Electron renderer caches:
Cache,Code Cache,GPUCache,DawnGraphiteCache,DawnWebGPUCache,fcache,Session Storage - The app was previously stuck in an update loop (showing "Updated to 1.1.9493 / Relaunch to apply" on every restart)
- Original install may have been done agentically/via script, which could have left non-standard state
Hypothesis
The ~13GB data directory likely contains a large IndexedDB or other data store. On startup, the app may be performing a migration or reindexing operation that blocks the Electron renderer thread, causing the UI to not update until the operation completes. This would explain why it "fixes itself" after the app has been open for a few minutes.
Expected behavior
Messages should render immediately upon sending, regardless of any background startup tasks.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗