claude-code - 💡(How to fix) Fix Cowork default animated background causes ~275x idle GPU power draw on M4 Pro [1 comments, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#51961Fetched 2026-04-23 07:40:17
View on GitHub
Comments
1
Participants
1
Timeline
5
Reactions
0
Participants
Timeline (top)
labeled ×4commented ×1

Error Message

Error Messages/Logs

Root Cause

The animation appears to run continuously regardless of focus state or idle state, which on battery meaningfully reduces runtime and causes fan ramp-up under any additional workload because GPU thermal headroom is consumed by the background effect.

RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

The default animated background in Cowork keeps the GPU at ~51% active residency and ~2,180 mW sustained power draw while the app is idle (no task running, no user input). With Cowork closed, baseline GPU draw is ~8 mW — a ~275x increase just from having Cowork open with its default background.

The animation appears to run continuously regardless of focus state or idle state, which on battery meaningfully reduces runtime and causes fan ramp-up under any additional workload because GPU thermal headroom is consumed by the background effect.

Per-process attribution during the issue (from powermetrics --samplers gpu_power,tasks):

  • Claude Helper (PID 78895): 433–463 CPU ms/s sustained (~45% of one core, continuous)
  • Claude Helper (Renderer) (PID 78916): 192–215 CPU ms/s at ~90% user time
  • WindowServer: 193–264 CPU ms/s (abnormally high, indicating heavy compositing from the animation)
  • Claude (main): 41–63 CPU ms/s

After fully quitting Claude Desktop, WindowServer dropped to a normal 30–100 CPU ms/s and GPU activity collapsed to baseline.

Measured results (5 samples, 2s each):

MetricCowork open + idleCowork closed (baseline)Delta
GPU active residency~51% avg~1.3% avg~40x
GPU power~2,180 mW avg~8 mW avg~275x
Peak frequency hit1,578 MHz338 MHz (lowest P-state)

What Should Happen?

When Cowork is open but idle, GPU active residency should remain under ~5% and power draw under ~100 mW.

Specifically, the animation should:

  • Pause when the window is unfocused or occluded (NSWindow occlusion state on macOS)
  • Pause or slow when the Cowork session is idle with no active task
  • Cap to a lower framerate (e.g., 30fps) instead of running at display refresh rate
  • Respect the macOS system-wide Reduce Motion accessibility setting
  • Offer a static background option in settings for users who prefer lower power draw

Error Messages/Logs

Steps to Reproduce

  1. Launch Claude Desktop on macOS (M-series Mac)
  2. Open the Cowork tab with the default animated background
  3. Leave the app idle in the foreground (no active task, no user input)
  4. In Terminal, run: sudo powermetrics --samplers gpu_power,tasks -i 2000 -n 5
  5. Observe GPU active residency at ~40–60% and GPU Power at ~1,500–2,600 mW
  6. Fully quit Claude Desktop (Cmd+Q, confirm no Claude processes in Activity Monitor)
  7. Wait ~10 seconds, then run the same powermetrics command
  8. Observe GPU active residency drops to under ~2% and GPU Power to under ~20 mW

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

No response

Claude Code Version

N/A — this bug is in Claude Desktop app (Cowork), not Claude Code. Claude Desktop version: 1.3883.0

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Environment:

  • Device: MacBook Pro, M4 Pro (Mac16,8)
  • CPU: 12-core (8 Performance + 4 Efficiency)
  • RAM: 24 GB
  • OS: macOS 26.4.1 (build 25E253)
  • Display: Built-in Liquid Retina XDR, 3024×1964
  • Claude Desktop version: 1.3883.0
  • Reduce Motion: off (system default)
  • Power state during test: AC connected, no workload changes between samples

Impact:

  • Significantly reduced battery runtime when Cowork is open
  • Fan ramp-up under any additional workload due to consumed thermal headroom
  • Sustained ~2W draw from a decorative background is disproportionate to feature value

Raw powermetrics samples available on request.

extent analysis

TL;DR

The issue can be mitigated by optimizing the animated background in Cowork to pause when idle or unfocused, capping its framerate, and respecting the Reduce Motion accessibility setting.

Guidance

  • Investigate the animation implementation to identify why it continues to run when the app is idle or unfocused, and modify it to pause under these conditions.
  • Implement a framerate cap (e.g., 30fps) for the animation to reduce GPU usage.
  • Add support for the macOS Reduce Motion accessibility setting to allow users to disable animations and reduce power draw.
  • Consider offering a static background option in settings for users who prefer lower power consumption.

Example

No specific code example can be provided without knowing the implementation details of the animated background, but the solution would involve modifying the animation loop to check for idle or unfocused states and adjust its behavior accordingly.

Notes

The exact implementation details of the fix will depend on the specific technologies and frameworks used in the Cowork app. Additionally, the issue may be related to how the animation is composited by WindowServer, so investigating and optimizing this aspect may also be necessary.

Recommendation

Apply a workaround by modifying the animation to pause when idle or unfocused and capping its framerate, as this directly addresses the high GPU usage and power draw caused by the continuous animation.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING