| Crates.io | claude-utils |
| lib.rs | claude-utils |
| version | 0.2.0 |
| created_at | 2025-08-11 07:57:27.309011+00 |
| updated_at | 2025-08-27 10:54:58.204688+00 |
| description | Cross-platform companion toolkit for Anthropic's Claude Code CLI |
| homepage | https://github.com/josharsh/claude-utils |
| repository | https://github.com/josharsh/claude-utils |
| max_upload_size | |
| id | 1789724 |
| size | 290,159 |
Cross-platform companion toolkit for Anthropic's Claude Code CLI, featuring seamless clipboard integration.
Claude Code users cannot paste screenshots or images directly into the terminal using standard keyboard shortcuts (βV/Ctrl+V). Current workarounds require saving files and drag-dropping, breaking the keyboard-centric workflow.
Claude-Utils provides a transparent clipboard bridge that:
# Install from crates.io (recommended)
cargo install claude-utils
# macOS via Homebrew
brew tap josharsh/homebrew-claude-utils
brew install claude-utils
# Build from source
git clone https://github.com/josharsh/claude-utils
cd claude-utils
cargo build --release
claude-utils start
claude-utils start --watch
~/Desktop/claude-paste.pngThe magic: When you copy an image, claude-utils:
clipboard.get, clipboard.set--write flag for clipboard writes)# Start with watch mode (recommended!)
claude-utils start --watch
# Watch mode with custom options
claude-utils start --watch --symlink-dir ~/Documents --no-notifications
# Start with custom port
claude-utils start --port 8080
# Disable authentication (development only)
claude-utils start --no-auth
# Enable clipboard write operations
claude-utils start --write
# Custom staging directory
claude-utils start --staging-dir /path/to/staging
# Show authentication token
claude-utils token
# Quick clipboard operations
claude-utils clip get # Get clipboard as JSON
claude-utils clip get --format text # Get as plain text
claude-utils clip paste # Paste (outputs file path for images)
--watch # Enable clipboard watching
--symlink-dir PATH # Where to create symlinks (default: ~/Desktop)
--no-dual-format # Disable dual clipboard format (macOS)
--no-notifications # Disable system notifications
The server exposes these tools for Claude Code:
{
"tools": [
{
"name": "clipboard.get",
"description": "Get current clipboard content",
"input_schema": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": ["auto", "text", "image"]
}
}
}
},
{
"name": "clipboard.set",
"description": "Set clipboard content (requires --write flag)",
"input_schema": {
"type": "object",
"properties": {
"type": {"type": "string"},
"data": {"type": "string"}
}
}
}
]
}
Claude Code <---> MCP Client <---> claude-utils-clipd <---> System Clipboard
| |
JSON-RPC File Staging
+ SSE |
/tmp/claude-utils/
xclip or wl-clipboard packages# Prerequisites
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/josharsh/claude-utils
cd claude-utils
cargo build --release
# Binary will be at ./target/release/claude-utils
CLAUDE_UTILS_TOKEN environment variable is setclaude-utils tokencurl http://localhost:3830/healthclaude-utils clip get~/.claude-utils/auth.tokenContributions welcome! Please read our Contributing Guide.
MIT License - see LICENSE file.
Built with:
Made with β€οΈ for the Claude Code community