Installation
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
Section titled “Download”The current release is malac 1.0.1.
Windows is not supported yet. malac runs on macOS and Linux; the downloads below are for those.
macOS
For this computerA universal installer for Apple silicon and Intel Macs. It puts malac and malac-control in /usr/local/bin. The archives hold the same two binaries.
Linux
For this computerAn x86-64 archive with malac and malac-control: unpack it and put both on your PATH. The install script does that for you, and builds from source where no archive fits.
curl -fsSL https://raw.githubusercontent.com/lobirus/malac/main/install.sh | shVS Code extension
The malac web UI in an editor panel. The same .vsix works in VS Code and in VS Code–compatible editors such as Cursor, Windsurf and VSCodium. It is not on the Marketplace yet, so install the file.
code --install-extension malac-vscode-1.0.1.vsixOr in the editor: Extensions → … → Install from VSIX.
Windows is not supported yet.malac 1.0.1 on GitHub.Checksums: SHA256SUMS. Verify with shasum -a 256 -c SHA256SUMS in the download folder.
The VS Code page has more on the extension.
Install script
Section titled “Install script”curl -fsSL https://raw.githubusercontent.com/lobirus/malac/main/install.sh | shThe script downloads the latest GitHub release for your machine and verifies it against the release’s SHA256SUMS:
| Platform | Target | In v1.0.1 |
|---|---|---|
| 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
Section titled “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 shHomebrew
Section titled “Homebrew”brew tap lobirus/malac https://github.com/lobirus/malacbrew install lobirus/malac/malacThe 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
Section titled “Release archives and the macOS installer”Each release, v1.0.1 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.
From source
Section titled “From source”From a checkout of the repository:
cargo install --path crates/malac && cargo install --path crates/malac-controlThis needs Rust 1.86 or newer.
Check the install
Section titled “Check the install”malac --versionmalac-control --helpPlatform setup
Section titled “Platform setup”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.
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:
sudo apt-get install -y libxcb1-dev libxrandr-dev libdbus-1-dev pkg-configQuick start adds a provider and runs your first prompt.
malac is created by lobirus and released under the MIT license. About malac