Platforms
greppy runs its two embedded models on the GPU. Production inference runs over Metal on macOS and over CUDA on Linux. The release targets follow from that.
| Platform | Inference | Daemon transport | Browser tool | Optional workspace acceleration |
|---|---|---|---|---|
| macOS, Apple Silicon | Metal | Unix-domain socket | yes, beta | FSKit extension, macOS 15.4+ |
| Linux x86_64 | NVIDIA CUDA | Unix-domain socket | yes, beta | FUSE3 provider |
Windows is not a release target. You can build the CLI there as a debug build from source; the browser tool and the agent workspace provider do not exist on Windows. macOS on Intel and Linux on ARM64 are not release targets either; the installer refuses them.
Packages
v0.4.1 ships as a .pkg for macOS on Apple Silicon and as a .deb and an .rpm for Linux x86_64. Alongside them come a SHA-256 file and an SBOM per package, the build environments, the model provenance report, the Qwen model's training evidence and the checksum list.
$ gh release view v0.4.1 --repo metric-space-ai/greppy --json assets --jq '.assets[].name'
build-environment-linux-x86_64.json
build-environment-macos-arm64.json
greppy-linux-x86_64.deb
greppy-linux-x86_64.deb.sha256
greppy-linux-x86_64.deb.spdx.json
greppy-linux-x86_64.rpm
greppy-linux-x86_64.rpm.sha256
greppy-linux-x86_64.rpm.spdx.json
greppy-macos-arm64.pkg
greppy-macos-arm64.pkg.sha256
greppy-macos-arm64.pkg.spdx.json
greppy-qwen35-training-evidence.tar.gz
greppy-qwen35-training-evidence.tar.gz.sha256
model-redistribution-report.json
RELEASE-ASSETS.json
SHA256SUMS
| Package | Size | Contents |
|---|---|---|
greppy-macos-arm64.pkg |
844 MB | /Applications/GreppyWorkspaceFS.app with CLI, browser runtime and FSKit extension; /usr/local/bin/greppy points to the CLI inside the app. Signed with Developer ID, notarized, notarization ticket stapled. |
greppy-linux-x86_64.deb |
887 MB | /usr/bin/greppy; under /usr/lib/greppy/bin/ the CLI, the FUSE3 provider greppy-workspace-provider and the browser runtime; the systemd user unit greppy-workspace-provider.service. Depends on fuse3. |
greppy-linux-x86_64.rpm |
946 MB | the same release as an RPM for Linux x86_64 |
Every CLI carries both models with their tokenizers, and greppy downloads nothing at runtime. That is why the CLI file of the macOS installation is 974 MB. The installer picks the package for your platform and checks it against SHA256SUMS; Security and verification shows how you check a package yourself.
Choose the inference backend
greppy picks the platform's backend automatically. You pin it with the global option --device or with GREPPY_DEVICE:
greppy doctor --json --device metal
GREPPY_DEVICE=cuda:1 greppy index .
| Value | Backend |
|---|---|
auto |
picks the backend automatically (default) |
metal |
Metal on Apple Silicon |
cuda[:INDEX] |
CUDA, optionally on a specific GPU |
cpu |
blocked in release builds, ends with exit 73 |
greppy doctor shows the selected backend, all backends with their state and the two inference daemons. greppy doctor --json also names the SHA-256 of both embedded models.
$ greppy doctor
status: ok
…
embedding_complete: true
inference: preference=auto explicit=false selected=metal device=metal:0000000100000471
backend cuda compiled=false available=false score=0 abi=1 reason=CUDA backend is not compiled for this platform
backend metal compiled=true available=true score=300 abi=1
device metal:0000000100000471 Apple M5 memory_free=26800144384 memory_total=26800603136
backend cpu compiled=true available=true score=100 abi=1
device cpu:0 aarch64 memory_total=34359738368
daemon embedding state=ready endpoint=/tmp/greppy-daemon-501/embedding-29a0b2f328340be0f959015526e5022b.sock
daemon summary state=ready endpoint=/tmp/greppy-daemon-501/summary-54edb0d71ff2d80862083125f394706b.sock
project: serde
schema: 17/17 current
integrity: ok
freshness: fresh
generation: 1
stats: files=339 nodes=4573 edges=9427
…
An explicitly chosen backend that is unavailable fails with a diagnostic instead of silently falling back to another device. On the Mac, greppy doctor --device cuda ends with exit 73 and status: unhealthy; every inference daemon reports explicit inference backend `cuda` is unavailable: CUDA backend is not compiled for this platform.
$ greppy doctor --device cuda
status: unhealthy
…
inference: preference=cuda explicit=true selected=none device=none
backend cuda compiled=false available=false score=0 abi=1 reason=CUDA backend is not compiled for this platform
…
$ greppy doctor --device cpu
status: unhealthy
…
inference: preference=cpu explicit=true selected=cpu device=cpu:0
…
daemon embedding state=faulted error=invalid request: CPU inference is disabled in product builds; use the platform GPU by removing --device cpu or --no-gpu and unsetting GREPPY_DEVICE=cpu or GREPPY_NO_GPU
daemon summary state=faulted error=invalid request: CPU inference is disabled in product builds; use the platform GPU by removing --device cpu or --no-gpu and unsetting GREPPY_DEVICE=cpu or GREPPY_NO_GPU
…
GPU drivers
greppy installs no drivers, toolkits or other software. On Linux, the NVIDIA driver must already be installed; the installer warns when libcuda.so.1 is missing. Name your GPU and driver version when you report a problem.
Build from source
Product builds need compiled GPU backends for both embedded models. Supported build targets are Apple Silicon with Metal and Linux x86_64 with CUDA including nvcc; the platform's backend is active automatically. A build needs Rust ≥ 1.95, a C toolchain, jq and curl, and downloads about 780 MB of model files, each checked against its pinned SHA-256. See Quickstart.
Features per platform
| Feature | macOS | Linux |
|---|---|---|
Code navigation, search, read, edit, bash-smart |
yes | yes |
Built-in agent greppy -p (beta) |
yes | yes |
Interactive agent, sessions, agent serve (beta) |
yes | yes |
| Agent sandbox for tool subprocesses | Seatbelt | Landlock |
Browser tool greppy web (beta) |
yes | yes |
The agent workspace provider (FSKit from macOS 15.4, FUSE3 on Linux) is optional acceleration. The agent works the same without an active provider.
$ greppy workspace status
agent workspace ready (ordinary backend; provider inactive); 0 workspace(s), 0 chunks, 0 physical bytes
Get help
Open a GitHub issue with:
greppy --versionand the exact release checksum;- operating system, CPU, GPU and driver version;
greppy doctor --json, with private paths redacted;- the command, its exit code and, when possible, a minimal reproducible repository.
You report security vulnerabilities privately; see Security and verification.