[BUG] Claude Desktop for Linux holds a 'Capturing' idle inhibitor indefinitely — screen never blanks until the app quits
Note: this report is about Claude Desktop for Linux, not the Claude Code CLI. Filing here since there is no public tracker for Claude Desktop and other Desktop issues live in this repo.
What's Wrong?
Claude Desktop registers a session-manager idle inhibitor (reason Capturing) and never withdraws it, so the display never blanks or sleeps while the app is running. Quitting the app releases it immediately, which suggests a leaked client-held inhibit rather than intentional behaviour.
What the inhibitor looks like
$ gdbus call --session --dest org.gnome.SessionManager \
--object-path /org/gnome/SessionManager --method org.gnome.SessionManager.GetInhibitors
# per inhibitor: GetAppId / GetFlags / GetReason ->
app='/usr/bin/claude-desktop' flags=8 reason='Capturing'
flags=8 is the idle-inhibit bit, i.e. an explicit "do not blank the screen" request.
What Should Happen?
- The
Capturinginhibit should be released when whatever motivated it ends. - Or: a user-visible toggle and/or a maximum duration for it.
- Also: a more specific reason string, so users can attribute the wake-lock to a feature.
Error Messages/Logs
Observed timeline (2026-07-31), from a monitor logging inhibitor changes and idle time:
16:24:00 inhibitor appears: claude-desktop (Capturing)
16:39:35 system idle 5 min (no input from here on)
17:04:35 system idle 30 min -> blank threshold passed, screens stayed ON
17:34:35 system idle 60 min
18:34:35 system idle 120 min
19:48:30 idle reset after 11634 s (3 h 14) - user returned, screens still lit
19:52:45 inhibitor released <- exactly when Claude Desktop was quit
Total unbroken hold: 3 h 28, of which 3 h 14 with zero user input. A second occurrence on 2026-07-28 lasted ~84 minutes.
Steps to Reproduce
- Run Claude Desktop on a desktop implementing
org.gnome.SessionManager(Cinnamon/GNOME). - Use it normally; at some point the
Capturinginhibitor appears (no deliberate screen-capture action was taken in either observed case). - Leave the machine untouched past the display-blank timeout.
- The screen never blanks;
GetInhibitorsshows the inhibitor with flags=8. - Quit Claude Desktop -> inhibitor disappears, blanking resumes normally.
Ruled out
(with evidence, in case these come up first)
- Not the desktop's power daemon failing: blanking works normally once the inhibitor is gone.
- Not X DPMS/screensaver timers being altered: those are 0 by design on this desktop.
- Not phantom input: the XScreenSaver idle counter rose monotonically to 3 h 14.
- Not an
org.freedesktop.ScreenSaverlock: it is specifically the session-manager channel.
Impact
Displays never blank while the app runs: wasted power, panel wear, and burn-in risk on machines left running overnight. It is also effectively invisible — no desktop UI attributes the inhibit to an app, so it took a purpose-built monitor to identify.
Environment
- Claude Desktop 1.24012.9 (official .deb from downloads.claude.ai/claude-desktop/apt/stable)
- Linux Mint 22.3 (Ubuntu 24.04 base), Cinnamon 6.6.9, X11
- Kernel 7.0.0-28-generic
- Display blank configured at 30 min (
sleep-display-ac = 1800)