[BUG] computer-use screenshot fails on macOS Tahoe 26.x — Swift continuation leak

Resolved 💬 5 comments Opened Mar 30, 2026 by dsur91 Closed Mar 30, 2026

Environment

  • macOS Tahoe 26.3 (Build 25D5112c)
  • Claude Code 2.1.87
  • Max plan, interactive session
  • Computer use enabled via /plugin

Bug

screenshot tool fails every time with:

  • "Screenshot capture returned nil (permission missing or SCContentFilter failure)"
  • Or: timeout after 30s
  • Terminal shows: SWIFT TASK CONTINUATION MISUSE: captureScreenWithExclusion(displayId:width:height:allowedBundleIds:jpegQuality:) leaked its continuation without resuming it

Permissions confirmed

  • Screen & System Audio Recording: Terminal ✅, node ✅, Claude ✅
  • Accessibility: granted

Proof: ScreenCaptureKit works on Tahoe

Compiled and ran this Swift test — works perfectly, captures 1680x1050:

import ScreenCaptureKit, AppKit
@main struct App {
    static func main() async {
        let content = try! await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)
        let display = content.displays.first!
        let filter = SCContentFilter(display: display, excludingWindows: [])
        let config = SCStreamConfiguration()
        config.width = display.width; config.height = display.height
        let image = try! await SCScreenshotManager.captureImage(contentFilter: filter, configuration: config)
        print("✅ Works! \(image.width)x\(image.height)")
    }
}

Conclusion

The ScreenCaptureKit API works fine on Tahoe. The bug is in computer_use.node — likely the withCheckedContinuation callback not being called on Tahoe, causing the continuation leak.

Other computer-use tools (request_access, open_application) work correctly. Only screenshot is affected.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗