[BUG] Desktop (macOS): Code session silently loses computer use if created during a GrowthBook refresh
What's Wrong?
In the Claude desktop app (Code tab), a session can permanently lose computer use when it is created, or its MCP server list is rebuilt, in the same second the app refreshes its GrowthBook feature flags. Computer use is enabled in Settings and works in every other session, but the affected session never receives the computer-use server. The model has no desktop-control tools, and nothing tells the user why.
For the affected session, every [replaceRemoteMcpServers] Calling SDK with N total servers entry in ~/Library/Logs/Claude/main.log omits 'computer-use' (12 of 12 rebuilds). Sessions started before it, and two started later in the same folder (19 and 51 minutes later), include it every time.
It has happened twice on this machine, both times exactly at a GrowthBook refresh:
| When | What was missing | GrowthBook reload |
|---|---|---|
| 2026-09-22 22:58:32 | Session created: computer-use absent from the start and never restored | [growthbook] loaded 369 features (2 changed) at 22:58:32 |
| 2026-09-18 17:40:22 | Server list rebuilt mid-session in an existing session: computer-use dropped and never restored | reloads at 17:40:21 and 17:40:22 |
Likely cause, from the bundled app code: $R() returns false unless QR() (GrowthBook fresh for computer use) is true. isComputerUseEnabled, isComputerUseRegisterable and iz({requireFreshGrowthBook: true}) therefore fail during the window in which the roughly 30-minute GrowthBook refresh is in flight. The result is captured when the session's servers are built and never re-evaluated after the flags become fresh again.
What Should Happen?
When computer use is enabled, every Code session should get the computer-use server. A transient "GrowthBook not fresh" state should either wait for the refresh, fall back to the last known value, or re-register computer use once the flags are fresh, rather than silently dropping it for the life of the session.
Error Messages/Logs
2026-09-22 22:58:32 [info] Starting local session <session> in <cwd>
2026-09-22 22:58:32 [info] [growthbook] loaded 369 features (2 changed)
2026-09-22 22:58:32 [info] [CCD] [replaceRemoteMcpServers] Calling SDK with 24 total servers (no 'computer-use')
2026-09-22 22:58:45 [warn] [event-loop-stall] main process blocked for 11261ms [likely sleep: duration_heuristic]
2026-09-22 22:58:45 [warn] [RemotePluginManager] Failed to fetch enabled state; defaulting to all-enabled This operation was aborted
...
2026-09-22 23:17:43 [info] Starting local session <another session> in <same cwd> -> 'computer-use' present
Earlier in the same app run, computer use initialised normally at app start ([chicago] GrowthBook chicago_config: raw={... "enabled":true ...}).
Steps to Reproduce
- Enable computer use in the Claude desktop app on macOS.
- Start a new Code session at the moment the app refreshes GrowthBook (about every 30 minutes; visible as
[growthbook] loaded N featuresin main.log). Waking the Mac from sleep around the refresh may widen the window. - In that session, check the available tools, or read the session's
Calling SDK with N total serverslog entries.computer-useis absent for the whole session, while new sessions started a minute later have it.
Claude Model
Opus 5.5 (not model-specific)
Is this a regression?
I don't know
Claude Code Version
2.1.280 (Claude Code), bundled with Claude desktop 2.2553.13
Platform
Anthropic API (Claude subscription, desktop app)
Operating System
macOS 27.0 (26A428), Apple silicon
Terminal/Shell
Claude desktop app, Code tab
Additional Information
Workaround: start a new session. This is related to, but different from, #92214 (background computer use disabled on macOS 27) and #94673 (GrowthBook reloads hiding the Code tab on Linux).