Skip to content

Installation

Bálint Horváth edited this page Oct 25, 2026 · 5 revisions

Installation

Install malac with the install script, Homebrew, a release archive or the macOS installer, or build it from source.

malac ships as two binaries: malac, the agent, and malac-control, the computer and browser control service. Every install method below installs both.

macOS is the primary platform and Linux is supported. Windows is not supported yet.

Download

The current release is malac {version}.

The VS Code page has more on the extension.

Install script

curl -fsSL https://raw.githubusercontent.com/lobirus/malac/main/install.sh | sh

The script downloads the latest GitHub release for your machine and verifies it against the release's SHA256SUMS:

Platform Target In {tag}
macOS, Apple silicon aarch64-apple-darwin prebuilt
macOS, Intel x86_64-apple-darwin prebuilt
Linux, x86-64 x86_64-unknown-linux-gnu prebuilt

When the release has no archive for your machine (another CPU or system), the script builds malac from source instead. That needs Rust 1.86 or newer from rustup.rs or brew install rust, and git. A source build takes a few minutes.

The binaries go to ~/.local/bin. If that directory is not on your PATH, the script tells you what to add to your shell profile:

export PATH="$HOME/.local/bin:$PATH"

Installer options

Set these environment variables for the sh side of the pipe:

Variable Default Effect
MALAC_INSTALL_DIR ~/.local/bin Where the binaries go
MALAC_VERSION latest Release tag to install, for example v0.2.0
MALAC_FROM_SOURCE unset Set to 1 to always build from source
MALAC_REF main Branch or tag to build from source
MALAC_SOURCE unset Build this local checkout instead of cloning, for example .
MALAC_RELEASES GitHub releases Release download base URL, for mirrors

For example, to install a specific version into /opt/malac/bin:

curl -fsSL https://raw.githubusercontent.com/lobirus/malac/main/install.sh \
  | MALAC_VERSION=v0.2.0 MALAC_INSTALL_DIR=/opt/malac/bin sh

Homebrew

brew tap lobirus/malac https://github.com/lobirus/malac
brew install lobirus/malac/malac

The formula builds the tagged release from source with Homebrew's Rust; brew install --HEAD lobirus/malac/malac builds the main branch instead. Homebrew installs are updated with brew upgrade lobirus/malac/malac, not with malac update.

Release archives and the macOS installer

Each release, {tag} included, contains these files:

File Contents
malac-<version>-aarch64-apple-darwin.tar.gz macOS, Apple silicon
malac-<version>-x86_64-apple-darwin.tar.gz macOS, Intel
malac-<version>-macos.pkg Universal macOS installer; puts both binaries in /usr/local/bin
malac-<version>-x86_64-unknown-linux-gnu.tar.gz Linux, x86-64
malac-vscode-<version>.vsix The VS Code extension
SHA256SUMS Checksums of every file

To check a download, put SHA256SUMS in the same folder and run shasum -a 256 -c SHA256SUMS; files you did not download are reported as missing.

Each archive contains malac and malac-control. Unpack it and put both binaries in the same directory on your PATH; malac looks for malac-control next to itself first.

Note

Unsigned packages If a .pkg is not signed, Gatekeeper blocks it on first open. Right-click the file and choose Open. Because /usr/local/bin is not writable by your user, a .pkg install updates with the next installer or with sudo malac update.

From source

From a checkout of the repository:

cargo install --path crates/malac && cargo install --path crates/malac-control

This needs Rust 1.86 or newer.

Check the install

malac --version
malac-control --help

Platform setup

macOS

Desktop control needs two privacy permissions. macOS grants them to the app that started `malac-control`, usually your terminal. In **System Settings → Privacy & Security**, grant your terminal app:

- **Screen & System Audio Recording** (called **Screen Recording** before macOS 15)
- **Accessibility**

Then restart the terminal. Alternatively, run `malac-control serve` in a terminal that already has both; malac connects to it automatically. Browser control needs neither permission.

Linux

The release archive targets x86-64 Linux with glibc, and the install script uses it. On other machines the script builds from source: install Rust 1.86 or newer and `git` first. A source build of `malac-control` needs the X11 and D-Bus development headers, for example on Debian or Ubuntu:

```bash
sudo apt-get install -y libxcb1-dev libxrandr-dev libdbus-1-dev pkg-config
```

Next

Quick start adds a provider and runs your first prompt.

Clone this wiki locally