# Install mago with Homebrew, Nix, winget

Toolchain for PHP to help developers write better code. Version 1.43.0 via Homebrew; verified 2026-07-05.

## 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
- **Package manager page:** <https://formulae.brew.sh/formula/mago>
- **Version:** 1.43.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>
- **Upstream docs:** <https://mago.carthage.software/>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/carthage-software/mago/releases/download/1.43.0/source-code.tar.gz>
- **Last updated:** 2026-07-05T16:20:06Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- mago (cli)
- mago (alias)

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.43.0
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://github.com/carthage-software/mago
- info: No cached GitHub release or tag data was available.
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** mago
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## 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


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [psalm](https://www.automicvault.com/pkg/brew/psalm/) - Shares av.db curated category or tags: cli, developer-tools, php, static-analysis.
- [composer](https://www.automicvault.com/pkg/brew/composer/) - Shares av.db curated category or tags: cli, developer-tools, php.
- [ktlint](https://www.automicvault.com/pkg/brew/ktlint/) - Shares av.db curated category or tags: cli, developer-tools, formatter, linter, static-analysis.
- [phive](https://www.automicvault.com/pkg/brew/phive/) - Shares av.db curated category or tags: cli, developer-tools, php.
- [pickle](https://www.automicvault.com/pkg/brew/pickle/) - Shares av.db curated category or tags: cli, developer-tools, php.
- [pie](https://www.automicvault.com/pkg/brew/pie/) - Shares av.db curated category or tags: cli, developer-tools, php.
- [protolint](https://www.automicvault.com/pkg/brew/protolint/) - Shares av.db curated category or tags: cli, developer-tools, formatter, linter, static-analysis.
- [biome](https://www.automicvault.com/pkg/brew/biome/) - Shares av.db curated category or tags: cli, developer-tools, formatter, linter.
- [dscanner](https://www.automicvault.com/pkg/brew/dscanner/) - Local package facts share a topical domain. Shared terms: analysis, cli, code, developer, developer-tools.
- [errcheck](https://www.automicvault.com/pkg/brew/errcheck/) - Local package facts share a topical domain. Shared terms: analysis, cli, code, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/mago.yml](https://github.com/automic-vault/db/blob/main/combined/mago.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
