2 releases
Uses new Rust 2024
| 0.1.1 | Oct 18, 2025 |
|---|---|
| 0.1.0 | Oct 18, 2025 |
#31 in macOS and iOS APIs
240 downloads per month
170KB
2.5K
SLoC
Paparazzi
A lightweight CLI tool for instant screenshots to Claude Code with zero friction.
Overview
Paparazzi is a macOS-native command-line tool that captures screenshots and sends them directly to Claude Code with minimal setup. Built with Rust for optimal performance, it integrates deeply with macOS APIs to provide seamless screenshot capture and communication with Claude Code terminals.
Features
- Instant Capture: Screenshot and paste to Claude Code in one command
- Native macOS Integration: Built with Core Graphics for optimal performance
- Privacy Focused: All processing happens locally, screenshots never leave your machine
- Keyboard Driven: Configurable shortcuts, never leave your terminal
- Background Service: Run as a daemon with hotkey support
- Flexible Configuration: Customizable hotkeys and logging levels
- Zero Dependencies: No external screenshot tools required
Installation
Via Cargo (Recommended)
cargo install paparazzi
From GitHub Releases
macOS Apple Silicon
curl -L https://github.com/benodiwal/paparazzi/releases/latest/download/paparazzi-aarch64-apple-darwin -o paparazzi
chmod +x paparazzi
sudo mv paparazzi /usr/local/bin/
macOS Intel
curl -L https://github.com/benodiwal/paparazzi/releases/latest/download/paparazzi-x86_64-apple-darwin -o paparazzi
chmod +x paparazzi
sudo mv paparazzi /usr/local/bin/
From Source
git clone https://github.com/benodiwal/paparazzi.git
cd paparazzi
cargo build --release
The binary will be available at target/release/paparazzi.
Prerequisites
- macOS (currently supported platform)
- Claude Code installed and running
- Terminal access
- Screen recording permissions (macOS will prompt automatically)
Quick Start
- Install Paparazzi using one of the methods above
- Start the service:
paparazzi run - Use the default hotkey (Ctrl+Shift+S) to capture screenshots
- Screenshots will be sent directly to your active Claude Code session
Usage
Basic Commands
Start Service
paparazzi run
Starts the hotkey listener service in foreground mode.
Background Mode
paparazzi run --background
Runs the service in background mode as a daemon.
Stop Service
paparazzi stop
Stops the background daemon service.
Check Status
paparazzi status
Displays daemon status and system information.
View Logs
paparazzi logs
Shows daemon logs and activity.
Hotkey Configuration
Configure Custom Hotkeys
paparazzi hotkeys --modifiers "ctrl+shift" --key s
View Current Configuration
paparazzi hotkeys --list
Available Modifiers
ctrl- Control keyshift- Shift keyaltoroption- Alt/Option keycmdorsuper- Command/Super key
Available Keys
- Letters:
a-z - Numbers:
0-9 - Special keys:
space,enter,tab,escape
Logging Configuration
Set Logging Level
paparazzi logging --level all
Available Log Levels
off- No logging outputinfo- Show only informational messagessuccess- Show only success messageserror- Show only error messageswarning- Show only warning messagesall- Show all log messages (default)
View Current Log Level
paparazzi logging --show
Other Commands
Version Information
paparazzi version
Help
paparazzi help
How It Works
Paparazzi is built with Rust and integrates deeply with macOS native APIs:
- Core Graphics Integration - Uses native macOS screenshot APIs for optimal performance
- Global Hotkey Manager - Registers system-wide keyboard shortcuts
- IPC Communication - Communicates directly with Claude Code's stdin
- Terminal Detection - Automatically finds and connects to Claude Code sessions
Workflow
- User presses configured hotkey
- Paparazzi captures screenshot using Core Graphics
- Image is temporarily saved to secure location
- Path is sent to Claude Code with analysis prompt
- Claude Code receives and processes the image
Configuration
Configuration files are stored in ~/.paparazzi/:
hotkey_config.json- Hotkey settingslog_config.json- Logging configurationdaemon.pid- Daemon process ID (when running)
Troubleshooting
Permission Issues
If screenshots aren't working, ensure Paparazzi has screen recording permissions:
- Go to System Preferences → Security & Privacy → Privacy
- Select "Screen Recording" from the left sidebar
- Add your terminal app (Terminal, iTerm2, etc.)
- Restart Paparazzi
Hotkey Not Working
- Check if another app is using the same hotkey
- Verify the hotkey configuration with
paparazzi hotkeys --list - Try a different key combination
- Restart the service with
paparazzi run
Claude Code Not Receiving Images
- Ensure Claude Code is running and active
- Check that Paparazzi has the correct Claude Code session
- Verify terminal permissions
- Check logs with
paparazzi logs
Development
Prerequisites
- Rust 1.70+ (latest stable recommended)
- macOS development environment
- Xcode command line tools
Building from Source
git clone https://github.com/benodiwal/paparazzi.git
cd paparazzi
cargo build
Running Tests
cargo test
Code Formatting
cargo fmt
Linting
cargo clippy
Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Development Workflow
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests (
cargo test) - Run formatting (
cargo fmt) - Run linting (
cargo clippy) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built for the Claude Code community
- Inspired by the need for frictionless screenshot sharing
- Thanks to all contributors and users providing feedback
Support
If you encounter any issues or have questions:
- Check the troubleshooting section
- Search existing GitHub issues
- Create a new issue with detailed information about your problem
Roadmap
- Custom keyboard shortcuts
- Annotation tools before sending
- Multi-monitor improvements
- Video capture support
- Clipboard history integration
For more detailed documentation, visit our documentation site.
Dependencies
~15–55MB
~838K SLoC