# Install mcfly with Homebrew, apk, MacPorts, Nix, pacman, scoop, winget, zypper

Fly through your shell history. Version 0.9.4 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:mcfly
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install mcfly
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install mcfly
```

  Evidence: MacPorts ports tree: sysutils/mcfly/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add mcfly
```

  Evidence: Alpine Linux edge package indexes: mcfly from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Nix (92%):

```sh
nix profile install nixpkgs#mcfly
```

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

- pacman (92%):

```sh
sudo pacman -S mcfly
```

  Evidence: Arch Linux sync databases: mcfly from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install mcfly
```

  Evidence: openSUSE Tumbleweed package metadata: mcfly from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/mcfly
```

  Evidence: Scoop official bucket manifest trees: bucket/mcfly.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id AndrewCantino.McFly -e
```

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

## Package facts

- **Package key:** brew:mcfly
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/mcfly>
- **Version:** 0.9.4
- **Source summary:** Fly through your shell history
- **Homepage:** <https://github.com/cantino/mcfly>
- **Repository:** <https://github.com/cantino/mcfly>
- **Upstream docs:** <https://github.com/cantino/mcfly#readme>
- **License:** MIT
- **Source archive:** <https://github.com/cantino/mcfly/archive/refs/tags/v0.9.4.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mcfly (cli)
- mcfly (alias)

## Build dependencies

- 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: 0.9.4
- Local data: ok
- Upstream repository: https://github.com/cantino/mcfly
- Upstream latest detected: v0.9.4 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

McFly is a shell-history replacement for reverse search, designed to make Ctrl-R results context-aware instead of purely chronological. The project describes itself as an upgraded Ctrl-R that considers the current directory, command exit status, timestamps, and prior shell history.

### Project history

The official GitHub repository was created in July 2018, and the first listed GitHub release, v0.1.0, was published on 2018-10-12. It is written in Rust and integrates with Bash, Zsh, Fish, and PowerShell rather than replacing the shell itself.

McFly's README emphasizes reversibility: it augments shell history in a SQLite database while maintaining the normal shell history file, so users can stop using McFly without losing the conventional history path. That design choice helped it fit into conservative shell setups.

### Adoption history

The supplied package-manager facts list McFly across Homebrew, MacPorts, Alpine, Arch, Nix, Scoop, WinGet, and openSUSE/Zypper, showing broad packaging across Unix-like and Windows-adjacent ecosystems.

The README documents Homebrew, MacPorts, WinGet, install-script, manual release, source, and Zinit installation paths. It also includes release-process notes for Homebrew, reflecting long-running package-manager maintenance rather than a one-off binary upload.

### How it is used

Typical use is rebinding Ctrl-R in a shell startup file so McFly opens a full-screen history search UI. The tool stores enhanced history metadata in an OS-specific SQLite database and can dump history to stdout for scripting or inspection.

McFly's settings are mostly environment-variable based, with color settings stored in a config.toml under the McFly data directory. The README documents the macOS application-support path, Linux XDG data path, and a legacy ~/.mcfly fallback.

### Why package nerds care

McFly is package-nerd interesting because it modernized an old shell muscle-memory path without requiring a new shell or large framework. It is a Rust CLI with many package-manager entries, a small executable surface, and visible cross-shell integration details.

Its use of SQLite for enriched history also makes it part of the broader trend of CLIs turning plain-text shell workflows into indexed local databases while preserving escape hatches back to ordinary files.

### Timeline

- 2018-07: GitHub repository created.
- 2018-10: v0.1.0 published on GitHub releases.
- 2023-2025: Continued 0.8 and 0.9 release series.
- 2025-12: v0.9.4 published on GitHub releases.

### Related projects

- Related shell-history tools include fzf-based Ctrl-R bindings, atuin, hstr, and shell-native history search. McFly's official positioning is specifically an intelligent replacement for Ctrl-R rather than a full shell environment.

### Sources

- <https://github.com/cantino/mcfly>
- <https://github.com/cantino/mcfly#readme>
- <https://github.com/cantino/mcfly/releases>
- source_facts.package-manager


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal


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

- Linux: $XDG_DATA_DIR/mcfly/config.toml, ~/.local/share/mcfly/config.toml, ~/.mcfly/config.toml
- macOS: ~/Library/Application Support/McFly/config.toml, ~/.mcfly/config.toml
## Source Database Details

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

## Other Package-Manager Records

- Nix - mcfly: normalized package name match | nixpkgs package indexes: pkgs/by-name/mc/mcfly/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - mcfly - 0.9.4-r0: normalized package name match | Alpine Linux edge package indexes: mcfly from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fly through your shell history | https://github.com/cantino/mcfly
- apk - mcfly-bash-completion - 0.9.4-r0: normalized package name match | Alpine Linux edge package indexes: mcfly-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Bash completions for mcfly | https://github.com/cantino/mcfly
- apk - mcfly-fish-completion - 0.9.4-r0: normalized package name match | Alpine Linux edge package indexes: mcfly-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Fish completions for mcfly | https://github.com/cantino/mcfly
- apk - mcfly-zsh-completion - 0.9.4-r0: normalized package name match | Alpine Linux edge package indexes: mcfly-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Zsh completions for mcfly | https://github.com/cantino/mcfly
- pacman - mcfly - 0.9.4-2: normalized package name match | Arch Linux sync databases: mcfly from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Fly through your shell history | https://github.com/cantino/mcfly
- zypper - mcfly - 0.9.4-1.3: normalized package name match | openSUSE Tumbleweed package metadata: mcfly from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Shell history helper | https://github.com/cantino/mcfly
- MacPorts - mcfly: normalized package name match | MacPorts ports tree: sysutils/mcfly/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/mcfly: normalized package name match | Scoop official bucket manifest trees: bucket/mcfly.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - AndrewCantino.McFly: normalized package name match | Windows Package Manager source index: AndrewCantino.McFly 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.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [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.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [sheldon](https://www.automicvault.com/pkg/brew/sheldon/) - Shares av.db curated category or tags: bash, cli, developer-tools, shell, zsh.
- [fizsh](https://www.automicvault.com/pkg/brew/fizsh/) - Shares av.db curated category or tags: cli, developer-tools, history-search, shell, zsh.
- [powerline-go](https://www.automicvault.com/pkg/brew/powerline-go/) - Shares av.db curated category or tags: bash, cli, developer-tools, shell, zsh.
- [shellcheck](https://www.automicvault.com/pkg/brew/shellcheck/) - Shares av.db curated category or tags: bash, cli, developer-tools, shell.
- [shfmt](https://www.automicvault.com/pkg/brew/shfmt/) - Shares av.db curated category or tags: bash, cli, developer-tools, shell.
- [shml](https://www.automicvault.com/pkg/brew/shml/) - Shares av.db curated category or tags: bash, cli, developer-tools, shell.
- [zoxide](https://www.automicvault.com/pkg/brew/zoxide/) - Shares av.db curated category or tags: cli, developer-tools, rust, shell.
- [zplug](https://www.automicvault.com/pkg/brew/zplug/) - Shares av.db curated category or tags: cli, developer-tools, shell, zsh.
- [jump](https://www.automicvault.com/pkg/brew/jump/) - Local package facts share a topical domain. Shared terms: bash, cli, developer, developer-tools, search.

## Combined YAML source

View the package source record on GitHub. [combined/mcfly.yml](https://github.com/automic-vault/db/blob/main/combined/mcfly.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
