v2.0.6 — Background Window Capture
What's New
Background Window Capture
- Screenshots now capture windows even when they're behind other windows or in another Space
- Removed
optionOnScreenOnlyrestriction fromCGWindowListCopyWindowInfo - No need to focus an app before taking a screenshot (unless it's minimized)
Better Error Messages
- Specific error messages instead of generic "Screenshot capture failed"
- "Application has no open windows" when app has no windows
- "Screen Recording permission not granted" only when actually missing
- Window ID and app name included in error details
FocusManager Improvements
- Polling-based focus verification (up to 1s) instead of fixed sleeps
- More reliable focus confirmation
VisionPerception Retry Logic
- Vision capture now retries with app activation (matching screenshot behavior)
- Defense-in-depth for VLM grounding pipeline
Updated Agent Instructions (GHOST-MCP.md)
- Rule 8: Web App Interaction — use dom_id for Chrome/Electron apps
- Rule 9: Gmail/Email Pattern — URL-based compose for reliable email sending
- Rule 10: Coordinate Mapping — screenshot coords vs screen coords
- Rule 11: Vision Grounding Best Practices — always use crop_box
- Rule 12: Wait Between Actions — ghost_wait after clicks
Screenshot Response
- Now includes
window_framein response for coordinate mapping
Full Changelog: v2.0.5...v2.0.6