macOS
brew install unisonlocal Homebrew formula metadata
sudo port install unisonMacPorts ports tree · net/unison/Portfile · source: api.github.com
brew
File synchronization tool. Version 2.54.0 via Homebrew; verified 2026-05-01.
install
brew install unisonlocal Homebrew formula metadata
sudo port install unisonMacPorts ports tree · net/unison/Portfile · source: api.github.com
sudo apk add unisonAlpine Linux edge package indexes · unison · source: dl-cdn.alpinelinux.org
sudo apt install unisonDebian stable package indexes · unison · source: deb.debian.org
sudo dnf install unisonFedora Rawhide package metadata · unison · source: dl.fedoraproject.org
nix profile install nixpkgs#unisonnixpkgs package indexes · pkgs/by-name/un/unison/package.nix · source: api.github.com
sudo pacman -S unisonArch Linux sync databases · unison · source: geo.mirror.pkgbuild.com
sudo zypper install unisonopenSUSE Tumbleweed package metadata · unison · source: download.opensuse.org
choco install unisonChocolatey community package catalog · unison · source: community.chocolatey.org
scoop install main/unisonScoop official bucket manifest trees · bucket/unison.json · source: api.github.com
winget install --id bcpierce00.unison -eWindows Package Manager source index · bcpierce00.unison · source: cdn.winget.microsoft.com
overview
File synchronization tool
history
Unison is a long-running bidirectional file synchronizer for Unix-like systems, macOS, and Windows. It occupies a different niche from one-way mirroring tools: it lets two independently changed replicas converge while detecting conflicts, using a normal user account rather than a kernel filesystem or privileged service.
The original Unison web site at the University of Pennsylvania describes the tool as free software with a precise specification, support for Windows and many Unix variants, and transfer optimizations for small changes in large files. That site is now archival, and the project is hosted on GitHub.
Unison's implementation history matters to packagers because the executable, wire protocol, and archive format have historically been tied to OCaml details. The project addressed much of that pain in the 2.52 line by adding feature negotiation, a new OCaml-independent archive format, and a new wire protocol; later 2.53 releases continued modernizing build, GUI, Windows, extended attribute, and ACL support.
Unison has remained useful because it solved a stubborn workstation problem: keeping home directories, source trees, and personal data synchronized across laptops, servers, and operating systems without requiring a central always-on service. Its upstream README notes more than 25 years of use, and its package-manager footprint in the input spans Homebrew, Debian, Ubuntu, Fedora, Arch, Nix, MacPorts, Windows package managers, and others.
In package-manager culture, Unison also became a compatibility cautionary tale. Users often need compatible versions on both ends of a sync, so distribution lag, OCaml compiler changes, and remote-server availability can matter as much as the local binary itself.
Typical CLI usage is to synchronize two roots, either local paths or a local path and a remote path reached over ssh. The official manual emphasizes running the remote copy as the file owner, using ssh rather than insecure socket modes for ordinary remote synchronization, and reviewing conflicts before propagation.
Profiles stored as .prf files let users capture roots, paths, ignore rules, preferences, and repeat/watch behavior. For package users, the important executable split is the main unison CLI plus unison-fsmonitor, which supports watch-oriented workflows on platforms where it is available.
Unison is package-nerd interesting because it is both old and operationally picky: a small package upgrade can affect interoperability with a remote host, archive migration, GUI availability, and OCaml runtime compatibility. That makes it a favorite example when discussing why reproducible package sets, pinned versions, and cross-platform binary availability matter.
It also sits in the same practical toolbox as rsync while making a different tradeoff: rsync excels at one-way copy and deployment, while Unison tracks two replicas and asks the user to resolve real conflicts. That distinction keeps it relevant for dotfiles, laptops, research workstations, and mixed Unix/Windows environments.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
local files
These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.
Config paths the tool may read or write during local use.
~/Library/Application Support/Unison/*.prf~/.unison/*.prf~/.unison/*.prf%USERPROFILE%\.unison\*.prf%HOME%\.unison\*.prfC:\.unison\*.prfexecutables
| Command | Kind | Exposure | Note |
|---|---|---|---|
unison | cli | global executable | |
unison-fsmonitor | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/bcpierce00/unison
install metadata
| Package key | brew:unison |
|---|---|
| Version | 2.54.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/unison |
| Homepage | https://www.cis.upenn.edu/~bcpierce/unison/ |
| Repository | https://github.com/bcpierce00/unison |
| Upstream docs | https://github.com/bcpierce00/unison/wiki |
| License | GPL-3.0-or-later |
| Source archive | https://github.com/bcpierce00/unison/archive/refs/tags/v2.54.0.tar.gz |
| Last updated | 2026-05-01T04:33:37Z |
| Pulse | updated |
| Build dependencies | ocaml |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | unison |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
unison 2.53+1
file-synchronization tool for Unix and Windows
sudo apt install unisonunison
nix profile install nixpkgs#unisonunison 2.53+1
file-synchronization tool for Unix and Windows
sudo apt install unisonunison 2.54.0-r0
Efficient file-synchronization tool
https://www.cis.upenn.edu/~bcpierce/unison/
sudo apk add unisonunison-doc 2.54.0-r0
Efficient file-synchronization tool (documentation)
https://www.cis.upenn.edu/~bcpierce/unison/
sudo apk add unison-docunison 2.54.0-1.fc45
File Synchronizer
https://github.com/bcpierce00/unison
sudo dnf install unisonunison-doc 2.54.0-1.fc45
Unison File Synchronizer documentation
https://github.com/bcpierce00/unison
sudo dnf install unison-docunison-gtk 2.54.0-1.fc45
Unison File Synchronizer GTK interface
https://github.com/bcpierce00/unison
sudo dnf install unison-gtkunison 2.54.0-1
File-synchronization tool
https://github.com/bcpierce00/unison/
sudo pacman -S unisonunison 2.53.8-1.4
File synchronization tool
https://github.com/bcpierce00/unison
sudo zypper install unisonunison-text 2.53.8-1.4
File synchronization tool
https://github.com/bcpierce00/unison
sudo zypper install unison-textunison
sudo port install unisonunison
choco install unisonmain/unison
scoop install main/unisonbcpierce00.unison
winget install --id bcpierce00.unison -eunison-fsmonitor
nix profile install nixpkgs#unison-fsmonitorsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.