CopyCat

skill
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • rm -rf — Recursive force deletion command in Scripts/build-app.sh
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Press ⌘V to paste screenshots into your terminal — CopyCat saves the image and types the file path so Claude Code or Codex CLI can read it. Works locally and over SSH.

README.md

CopyCat

CopyCat makes ⌘V work for screenshots in your terminal. It saves the clipboard image to disk and types the file path so CLI tools like Claude Code can read it. The same flow works over SSH — paste a screenshot into a remote terminal as easily as a local one.

macOS 14.0+ Swift 6.0+ License MIT GitHub release Claudex

Getting Started · Features · Configuration

CopyCat screenshot

Claude Code reading a pasted screenshot path

Getting Started

  1. Download CopyCat
  2. Open the DMG and drag the app to your Applications folder
  3. Launch CopyCat (look for the paw icon in the menu bar)
  4. Grant Accessibility permission when prompted — required for ⌘V interception
  5. Copy any image, then press ⌘V in your terminal — the file path is typed for you

To paste into remote terminals over SSH, click the menu bar icon → Settings… → General → Enable SSH paste, then add hosts in the SSH hosts tab. If Tailscale is installed, peers show up for one-click add.

Other install methods

Homebrew

brew install --cask andyhtran/tap/copycat

To upgrade to the latest release:

brew update && brew install --cask copycat

Build from source

Requires macOS 14+ (Sonoma) and Swift 6+.

git clone https://github.com/andyhtran/CopyCat.git
cd CopyCat
just dev

Features

  • Paste-as-path — copy any image, press ⌘V in a terminal, the file path is typed
  • Works over SSH — push the same screenshot to remote hosts so ⌘V works in a remote shell too
  • Tailscale-aware — if Tailscale is installed, peers show up for one-click add; otherwise add hostnames manually
  • Configurable apps — defaults to common terminals (Ghostty, iTerm2, Terminal, WezTerm, Alacritty, kitty, Warp); add your own
  • Cache pruning — keeps the most recent N screenshots on disk; older ones get pruned automatically
  • On-device — no telemetry; nothing leaves your machine except SSH connections you explicitly configure

Configuration

Everything is configured in the CopyCat menu bar → Settings…:

  • General — launch at login, local paste toggle, SSH toggle, SSH hotkey, cache directory, retention
  • Apps — bundle IDs of apps where paste is intercepted
  • SSH hosts — remote hosts; if Tailscale is installed, peers list with one-click add. Hosts are SSH'd as the current user (ssh hostname) — your ~/.ssh/config and key auth apply.

FAQ

Local paste types /Users/you/.cache/copycat/…, but SSH types ~/.cache/copycat/…. Why the difference?

Local paste uses the absolute path because it works in every paste target — shells, REPLs, GUI dialogs, config files, sudo'd shells, IDE prompts, browsers. Tilde only expands inside a shell.

SSH paste has to use ~/ because the remote home dir is unknown. Your remote user might be a different name, on Linux (/home/you), or in a different layout entirely. Tilde gets expanded by the remote shell to whatever's correct on that host.

What happens with multiple SSH hosts?

Each screenshot is sent to every enabled host you've configured. With one host it's just SSH paste; with multiple it broadcasts (fans out) to all of them. Toggle individual hosts on/off in the menu bar to control which ones receive a given screenshot.

Why does CopyCat use ~/.cache/copycat/ instead of ~/Library/Caches/?

So the same path resolves on both your Mac and remote Linux/NixOS hosts. SSH paste types ~/.cache/copycat/screenshot.jpg into the terminal — that path needs to work on both sides without platform detection or separate configuration. The cache directory is configurable in Settings if you prefer a different location.

What's the simplest setup?

Leave SSH off. CopyCat then only intercepts ⌘V locally — no SSH, no remote hosts, no Tailscale needed. Turn SSH on when you want to paste into a remote shell.

Uninstall

pkill -x CopyCat
rm -rf "/Applications/CopyCat.app" "/Applications/CopyCat Dev.app"
defaults delete com.copycat.macos.app   # or your COPYCAT_BUNDLE_ID
# Then in System Settings → Privacy → Accessibility, remove the entry.

License

MIT

Yorumlar (0)

Sonuc bulunamadi