🍺 BREW Explorer

← all formulae

clipper

brew install clipper v3.0.0 BSD-2-Clause

Share macOS clipboard with tmux and other local and remote apps

21
30-day installs · #6715
93
90-day · #5743
263
365-day · #6657
687
★ GitHub stars · updated 3mo ago

Build dependencies

go

GitHub topics

clipboard clipper go

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "go"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Share macOS clipboard with tmux and other local and remote apps",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:27+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "clipper",
  "github_default_branch": "main",
  "github_last_commit_at": "2026-04-28T11:34:33Z",
  "github_readme_excerpt": "![Clipper logo](https://raw.github.com/wincent/clipper/media/logo.png)\n\n# Overview\n\nClipper is a macOS \"launch agent\" \u0026mdash; or Linux daemon \u0026mdash; that runs in the background providing a service that exposes the local clipboard, and (optionally) the capacity to display desktop notifications, to tmux sessions and other processes running both locally and remotely.\n\n![Example topology](./media/diagram-light.png#gh-light-mode-only)\n![Example topology](./media/diagram-dark.png#gh-dark-mode-only)\n\nIn the above example, you start off in a shell on your local machine; from there you use `ssh` to a remote machine, where:\n\n1. You run `vim` (from a shell, inside `tmux`, which itself runs in a shell).\n2. When you \"yank\" text in `vim`, it is fed into the `~/.clipper.sock` socket.\n3. Via a SSH `RemoteForward` connection, the yanked text arrives back to the Clipper process running on your local machine.\n4. The launch agent puts the text in your system clipboard.\n\nOnce everything is configured, all of this happens transparently; editing in `vim` on a remote machine feels exactly like doing it on your local machine. While the above example uses macOS, vim, and tmux, the same patterns apply to other platforms and tools.\n\n# At a glance\n\n## macOS installation (using Homebrew; for non-Homebrew installs see below)\n\n    brew install clipper # run this outside of a tmux session\n\n## Configuration for `~/.tmux.conf`\n\n### tmux 2.4 and later\n\n    # Bind \"Enter\" in copy mode to both copy and forward to Clipper:\n    bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel \"nc localhost 8377\"\n\n    # Or, if you are running on a platform where nc requires the `-N` switch (eg. Ubuntu):\n    bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel \"nc -N localhost 8377\"\n\n    # Or, if you are running Clipper on a UNIX domain socket:\n    bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel \"nc -U ~/.clipper.sock\"\n\n    # Or, if your version of netcat doesn\u0027t have socket sup",
  "github_repo": "wincent/clipper",
  "github_stars": 687,
  "github_topics": [
    "clipboard",
    "clipper",
    "go"
  ],
  "homepage": "https://github.com/wincent/clipper",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 21,
  "installs_365d": 263,
  "installs_90d": 93,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "BSD-2-Clause",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "clipper",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 6715,
  "rank_365d": 6657,
  "rank_90d": 5743,
  "raw_hash": "b649d6a11741b932",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/c/clipper.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "3.0.0",
  "versioned_formulae": [],
  "why_use_this": null
}