| name | peekaboo |
| description | macOS screen capture, UI automation, and AI vision. Use for screenshots, clicking, typing, window management, and automating any macOS app. |
Peekaboo
macOS CLI for screen capture, UI automation, and AI-powered vision analysis. Works with any application.
Install
brew install steipete/tap/peekaboo
Requires Screen Recording + Accessibility permissions (System Settings > Privacy & Security).
Screenshots
peekaboo image --mode screen --path ~/Desktop/screen.png
peekaboo image --mode window --app Safari --path screenshot.png
peekaboo list windows --app Safari
peekaboo image --mode window --window-id 12345 --path screenshot.png
peekaboo image --mode screen --retina --path screenshot.png
List Apps/Windows
peekaboo list apps
peekaboo list windows
peekaboo list windows --app Safari
peekaboo list screens
peekaboo list permissions
Click
peekaboo click --at 500,300
peekaboo see --app Safari --json | jq -r '.data.snapshot_id'
peekaboo click --on "Submit" --snapshot <snapshot_id>
peekaboo click --at 500,300 --button right
peekaboo click --at 500,300 --clicks 2
Type & Keyboard
peekaboo type --text "Hello world"
peekaboo press return
peekaboo press escape
peekaboo press tab
peekaboo hotkey cmd,c
peekaboo hotkey cmd,v
peekaboo hotkey cmd,shift,t
Scroll
peekaboo scroll --direction down --ticks 5
peekaboo scroll --direction up --ticks 3
Window Management
peekaboo window list
peekaboo window focus --app Safari
peekaboo window move --app Safari --x 100 --y 100
peekaboo window resize --app Safari --width 1200 --height 800
App Control
peekaboo app launch Safari
peekaboo app quit Safari
peekaboo app switch Safari
peekaboo app list
Menu Interaction
peekaboo menu list --app Safari
peekaboo menu click --app Safari --menu "File" --item "New Window"
AI Vision (requires API key)
peekaboo image --mode screen --analyze "What's on this screen?"
peekaboo see --app Safari --json
Configure AI providers:
export PEEKABOO_AI_PROVIDERS="openai/gpt-4o"
export OPENAI_API_KEY="your-key"
Natural Language Agent
peekaboo agent "Open Notes and create a new note titled TODO"
Common Patterns
Screenshot of frontmost window
peekaboo image --mode frontmost --path screenshot.png
Click button in dialog
peekaboo click --on "OK"
peekaboo click --on "Cancel"
Fill form field
peekaboo click --at 500,300
peekaboo type --text "my input" --clear
Wait between actions
peekaboo sleep --duration 1000
JSON Output
Add --json or -j for machine-readable output:
peekaboo list windows --app Safari --json
peekaboo see --app Safari --json