Installing Caret
Every channel that installs Caret, with the exact commands. Installers for all three platforms are built by CI from the release tag (RELEASING.md); after the first install, Caret updates itself from Settings → About.
What is published today
| Channel | Platform | Status |
|---|---|---|
| Install script | macOS | published |
| Homebrew cask | macOS | published, tap fast-editor/caret |
Direct downloads (.dmg, -setup.exe, .msi, .deb, .rpm, .AppImage) |
all | published on every release |
| In-app updater | all | published |
| Nix flake | macOS (Apple Silicon), Linux x86_64 | in this repository; works from main, not in nixpkgs |
| scoop | Windows | manifest in this repository; not yet in a bucket |
| winget | Windows | manifest in this repository; awaiting the first winget-pkgs submission |
AUR (caret-bin) |
Arch Linux | PKGBUILD in this repository; awaiting the first AUR publication |
The manifests live in packaging/ and flake.nix; a release workflow job keeps their
version and checksum fields current. Windows and Linux builds compile green but have had far less runtime testing
than macOS, and the Windows and Linux package manifests have not been exercised on a real machine yet. Please report
rough edges on GitHub.
macOS
Requires macOS 12 or later. Apple Silicon and Intel builds are both released.
Install script
curl -fsSL https://raw.githubusercontent.com/Fast-Editor/Caret/main/scripts/install.sh | shscripts/install.sh resolves the latest release, downloads the DMG for your CPU, copies
Caret.app into /Applications (or ~/Applications when /Applications is not writable and no password can be
asked; set CARET_INSTALL_DIR to choose) and removes the quarantine attribute, so there is no Gatekeeper dialog.
Homebrew
brew tap fast-editor/caret
brew trust fast-editor/caret # Homebrew 7 refuses untrusted third-party taps until you confirm once
brew install --cask caretHomebrew 7 or later no longer quarantines cask downloads, so the app opens straight away. The cask lives in the
Fast-Editor/homebrew-caret tap and is bumped after each release. Caret used to ship from the fast-editor/lynkr tap; that copy was removed so the short name caret stays unambiguous. If you installed it from there, run brew uninstall --cask caret once and install from fast-editor/caret (your ~/.caret settings and sessions are kept; only brew zap removes them).
DMG
Download Caret_X.Y.Z_aarch64.dmg (Apple Silicon) or Caret_X.Y.Z_x64.dmg (Intel) from the
latest release and drag Caret to Applications. Builds are
ad-hoc signed until a Developer ID is configured, so a browser-downloaded copy is quarantined and macOS reports
"Caret is damaged and can't be opened". Clear it once:
xattr -dr com.apple.quarantine /Applications/Caret.appor use System Settings → Privacy & Security → Open Anyway. Updates installed from inside the app are not quarantined.
Windows
Requires Windows 10 or later, x64. The installer is unsigned until a certificate is configured, so SmartScreen shows More info → Run anyway once.
winget
winget install FastEditor.CaretManifest awaiting first publication. The three manifest files (schema 1.6, package id FastEditor.Caret, x64 NSIS
installer, silent switch /S) are in packaging/winget/; the command works once they have
been merged into microsoft/winget-pkgs. Until then, install the manifests
directly from a checkout with winget install --manifest packaging/winget (needs winget settings --enable LocalManifestFiles).
scoop
scoop install https://raw.githubusercontent.com/Fast-Editor/Caret/main/packaging/scoop/caret.jsonInstalls from the manifest in this repository without adding a bucket. packaging/scoop/caret.json
runs the NSIS installer silently into scoop's app directory and carries checkver and autoupdate entries, so a
bucket that adopts it keeps itself current. Not yet in a scoop bucket.
Direct download
Caret_X.Y.Z_x64-setup.exe (NSIS, per-user, no admin rights) or Caret_X.Y.Z_x64_en-US.msi from the
latest release. Both installers register the app so the
in-app updater can replace it.
Linux
Requires WebKitGTK 4.1 and GTK 3; sandboxing of agent commands uses bubblewrap when it is installed.
Debian, Ubuntu, Fedora, AppImage
sudo apt install ./Caret_X.Y.Z_amd64.deb # Debian, Ubuntu
sudo dnf install ./Caret-X.Y.Z-1.x86_64.rpm # Fedora, RHEL
chmod +x Caret_X.Y.Z_amd64.AppImage && ./Caret_X.Y.Z_amd64.AppImageThe files are on the latest release. The .deb installs
/usr/bin/caret, a desktop entry and icons. All three formats ship with updater signatures.
AUR
yay -S caret-bin # or paru -S caret-binAwaiting first publication. packaging/aur/PKGBUILD and .SRCINFO build caret-bin
from the released .deb (provides=('caret'), depends on webkit2gtk-4.1, gtk3, libappindicator-gtk3). Until the
package exists on the AUR, build it from a checkout:
cd packaging/aur && makepkg -siNix flake
nix run github:Fast-Editor/Caret # run without installing
nix profile install github:Fast-Editor/Caret # install into your profileflake.nix exposes packages.aarch64-darwin.default (the DMG unpacked into $out/Applications,
plus a caret launcher in $out/bin) and packages.x86_64-linux.default (the AppImage wrapped with
appimageTools.wrapType2), each pinned to a release version and sha256. It is not in nixpkgs; it works from this
repository as soon as the flake is on main.
Direct downloads and checksums
Every release attaches SHA256SUMS.txt. Verify a download with:
curl -fsSLO https://github.com/Fast-Editor/Caret/releases/download/vX.Y.Z/SHA256SUMS.txt
shasum -a 256 -c SHA256SUMS.txt --ignore-missing # macOS; use sha256sum on LinuxUpdater artifacts (*.app.tar.gz, *.AppImage, *.deb, *.rpm, *-setup.exe, *.msi) also carry a minisign
.sig that the app checks against the public key compiled into it.
Updating
- In the app: Settings → About → Check for updates (also checked silently 15 s after launch in release builds). The update is downloaded by the app itself, verified and installed in place, then Caret relaunches.
- Homebrew:
brew upgrade --cask caret. - winget / scoop / AUR / Nix:
winget upgrade FastEditor.Caret,scoop update caret,yay -Syu, or rebuild from the flake after it has been bumped. The manifests are updated by the release workflow, so a package manager and the in-app updater always point at the same build.
Uninstalling
Remove /Applications/Caret.app (macOS), use Apps → Installed apps or winget uninstall FastEditor.Caret /
scoop uninstall caret (Windows), or your package manager (Linux). User data stays in ~/.caret/; delete it to start
over. See README.md for what lives there.