[BUG] Desktop local-agent (Claude Code): 900s session idle timeout tears down the computer-use connector and never re-registers it on resume

Resolved 💬 1 comment Opened Jun 1, 2026 by v0id-byte Closed Jul 4, 2026

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?

In the Claude desktop app's local-agent mode (Claude Code) on macOS, the per-session IdleManager disconnects a local session after a 15-minute idle period and tears down that session's connectors — including the computer-use connector. On reactivation the connector is NOT re-registered, there is no visible UI control to re-enable it, and the only recovery is a full app restart.

Effect: any computer-use task longer than the idle window silently breaks. It works for ~10 minutes, then the first time the session sits idle (a long analysis turn awaiting input, or the user reading/replying), the mcp__computer-use__* tools just vanish.

Environment: Claude desktop app com.anthropic.claudefordesktop v1.9659.2; Claude Code local-agent 2.1.156; macOS 15.7.3 (24G419), Apple Silicon, single display.

Related (same workflow): while computer-use drives another app that fully covers the Claude window, macOS marks it occluded and Chromium suspends rendering, so the UI freezes on a stale frame (input still works). Possibly worth a separate report.

What Should Happen?

Any one of these would fix it:

  1. On session resume from idle, automatically re-register/reconnect its connectors.
  2. Don't idle-disconnect a session that has an actively-used connector (e.g. computer-use used within the last N minutes).
  3. Make the 900s idle timeout configurable.
  4. Provide a reliable, visible "reconnect connector" control so an app restart isn't required.

(Related freeze: the app could pass --disable-backgrounding-occluded-windows / --disable-renderer-backgrounding / --disable-background-timer-throttling to its own renderer while automation is active, so its UI keeps painting.)

Error Messages/Logs

~/Library/Logs/Claude/main.log:

2026-06-01 16:06:41 [info] [IdleManager:session] Idle timeout reached, disconnecting local_db7f793c-...
2026-06-01 16:06:41 [info] [IdleManager:session] Starting idle timeout for local_db7f793c-...: 900s

The timeout appears hardcoded in the app bundle (app.asar), with no setting or env var to change it:

  this.idleManager = new PLe({ idleTimeoutMs: 900*1e3 })   // 900s

(The timer resets on message-sent / turn-complete / activity / visibility-change, so it only fires after a genuine ~15-min lull.)

Steps to Reproduce

  1. Open a Claude Code local-agent session in the desktop app on macOS.
  2. Use the computer-use connector (request_access, then screenshot/click/type). It works correctly.
  3. Let the session sit idle ~15 min with no completed turns (e.g. one long analysis turn ending awaiting user input, plus the user taking time to read/reply).
  4. The session is disconnected by the idle timeout.
  5. Reactivate the session and try computer-use again: the mcp__computer-use__* tools are gone, in-app reconnect does not restore them, and only a full quit + relaunch brings the connector back.

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

Unknown — I'm not aware of a version where this worked. Observed on v1.9659.2, and the same "works once then drops after a pause" behavior occurred in at least one earlier session. If a field is required, put 1.9659.2 (current) and note "no known good version."

Claude Code Version

Claude desktop app: com.anthropic.claudefordesktop v1.9659.2

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗