A macOS application that automatically captures screenshots and sends them with your questions to Claude AI for analysis.
- 🖼️ Auto Screen Capture - Automatically captures screenshots (excluding the app window) when sending messages
- 💬 Claude AI Integration - Uses Claude Sonnet 4.5 for intelligent responses with vision capabilities
- 🔒 Secure Storage - API keys stored safely in macOS Keychain
- 🎨 Clean Interface - Minimal chat UI with inline image display
- ⚙️ Customizable - Toggle auto-capture and configure window position
- 🪟 Side Window - 1/3 screen width window that positions on left or right
- macOS 12.3 or later (for ScreenCaptureKit)
- Xcode 14.0 or later
- Anthropic API key (get one here)
-
Open the project
open helper.xcodeproj
-
Add files to Xcode (if not already added)
- Right-click on
helperfolder in Project Navigator - Select "Add Files to 'helper'..."
- Add the
Core,Views, andViewModelsfolders - Ensure "Create groups" is selected and
helpertarget is checked
- Right-click on
-
Configure build settings
- Select
helpertarget → Build Settings - Change "macOS Deployment Target" to
12.3 - Set "Info.plist File" to
helper/Info.plist
- Select
-
Build and run
Cmd+B (Build) Cmd+R (Run) -
First launch
- Settings will open automatically
- Enter your Anthropic API key
- Grant screen recording permission when prompted
- Type your question in the text field
- Screenshot is automatically captured (if enabled)
- Message sent to Claude with the screenshot
- Response appears in the chat
- API Key - Your Anthropic API key (stored securely in Keychain)
- Auto-capture - Toggle automatic screenshot capture
- Window Position - Choose left or right side of screen
helper/
├── Core/
│ ├── Models/ # Data models (Message, AppSettings, APIError)
│ ├── Services/ # API and system services
│ │ ├── ClaudeAPIService.swift
│ │ ├── ScreenCaptureService.swift
│ │ └── KeychainService.swift
│ └── Utilities/ # Helper functions
├── Views/ # SwiftUI views
│ ├── ChatView.swift
│ ├── Components/ # Reusable UI components
│ └── Settings/ # Settings interface
└── ViewModels/ # Business logic
└── ChatViewModel.swift
- Model: Claude Sonnet 4.5 (
claude-sonnet-4-5-20250929) - API: Anthropic Messages API v1
- Image Format: JPEG at 80% quality, base64 encoded
- Max Tokens: 4096
- Context Window: 200K tokens
- Click "Open System Settings" in the error banner
- Go to Privacy & Security > Screen Recording
- Enable permission for Helper
- Restart the app
- 404: Check model name and API version
- 401: Verify your API key in Settings
- 429: Rate limit exceeded, wait a moment
Check Xcode console for detailed debug logs.
- Screenshots are sent to Anthropic's API for processing
- API key stored locally in macOS Keychain
- No chat history is persisted (cleared on each app restart)
- No telemetry or analytics
MIT
Built with Claude Code (Claude Opus 4.5)