# Install mago with Homebrew, Nix, winget

Toolchain for PHP to help developers write better code. Version 1.45.0 via Homebrew; verified 2026-07-24. Also installable with nix: nix profile install nixpkgs#mago.

## Install

```sh
sudo av install brew:mago
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install mago
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#mago
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ma/mago/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

### Windows

- winget (92%):

```sh
winget install --id CarthageSoftware.Mago -e
```

  Evidence: Windows Package Manager source index: CarthageSoftware.Mago from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:mago
- **Package manager:** Homebrew
- **Version:** 1.45.0
- **Source summary:** Toolchain for PHP to help developers write better code
- **Homepage:** <https://github.com/carthage-software/mago>
- **Repository:** <https://github.com/carthage-software/mago>
- **Last updated:** 2026-07-24T06:46:50Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- mago (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.45.0
## Project history and usage

Mago is a Rust-written PHP toolchain that combines static analysis, linting, formatting, and guard-style checks in one binary. It targets PHP projects that want faster local and CI feedback without installing a PHP runtime for the tool itself.

### Project history

The public GitHub repository was created in October 2024. The documentation brands Mago as an oxidized PHP toolchain and describes three core tools in one binary: analyzer, linter, and formatter.

By 2025 the project had a long beta release train toward 1.0, and by mid-2026 the documentation showed a latest 1.42.0 version. The docs also show configuration discovery, schema publishing for editors, project version pinning, self-update behavior, and WebAssembly playground support.

### Adoption history

Mago's adoption is still young, but its packaging story is already broad for a PHP developer tool. Official docs list installation through the Carthage shell installer, Composer, Homebrew, Cargo, and Docker, while the supplied Homebrew input also lists Nix and winget packages.

The project has several thousand GitHub stars and more than a hundred forks, which is notable for a relatively new PHP toolchain and reflects interest in Rust-based replacements or complements for PHPStan, Psalm, PHP-CS-Fixer, and formatters.

### How it is used

The standard workflow is to install Mago, run `mago init` in a PHP project, and then run `mago analyze`, `mago lint`, or `mago fmt`. The official docs say initialization detects project layout and writes `mago.toml`.

Mago discovers configuration from the workspace, `$XDG_CONFIG_HOME`, `~/.config`, and the home directory, looking for `mago` and `mago.dist` files in TOML, YAML, YML, or JSON formats. It also publishes JSON schemas so editors and CI can validate configuration.

### Why package nerds care

Mago is package-nerd significant because it compresses several familiar PHP QA tools into one Rust binary. That changes packaging ergonomics: package managers can offer static analysis, linting, formatting, shell completions, schemas, and update workflows as a single install.

Its version-pinning and schema model are especially relevant to maintainers because code-formatting and lint behavior must be reproducible across local machines, CI, and editor integrations.

### Timeline

- 2024: Public GitHub repository created.
- 2025: 1.0.0 beta releases published.
- 2026: Documentation shows the 1.42.0 stable line.
- 2026: Benchmarks and playground are promoted in official docs.

### Related projects

- PHPStan, Psalm, Phan, PHP-CS-Fixer, and Pretty PHP are adjacent PHP analysis, linting, and formatting tools referenced or benchmarked against in Mago's documentation.
- Composer, Homebrew, Cargo, Docker, Nix, and winget are relevant distribution channels for the toolchain.

### Sources

- <https://github.com/carthage-software/mago>
- <https://github.com/carthage-software/mago/releases>
- <https://mago.carthage.software/latest/en/>
- <https://mago.carthage.software/latest/en/guide/configuration/>
- source_facts.package-manager
- source_facts.repo


## Security Notes

No matching local secret-handling manifest was found for mago. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

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.


## Configuration files

- Unix: mago.toml
- Windows: mago.toml
## Other Package-Manager Records

- Nix - mago: normalized package name match | nixpkgs package indexes: pkgs/by-name/ma/mago/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- winget - CarthageSoftware.Mago: normalized package name match | Windows Package Manager source index: CarthageSoftware.Mago from https://cdn.winget.microsoft.com/cache/source.msix


## Combined YAML source

View the package source record on GitHub. [combined/mago.yml](https://github.com/mxcl/pkgdb/blob/main/combined/mago.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated configuration and credential file locations
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
