# Install counterfeiter with Homebrew

Tool for generating self-contained, type-safe test doubles in go. Version 6.12.2 via Homebrew; verified 2026-07-25.

## Install

```sh
sudo av install brew:counterfeiter
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install counterfeiter
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:counterfeiter
- **Package manager:** Homebrew
- **Version:** 6.12.2
- **Source summary:** Tool for generating self-contained, type-safe test doubles in go
- **Homepage:** <https://github.com/maxbrunsfeld/counterfeiter>
- **Repository:** <https://github.com/maxbrunsfeld/counterfeiter>
- **Last updated:** 2026-07-25T14:20:51-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- counterfeiter (alias)

## Install behavior

- Bottle: not available

## Freshness

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

counterfeiter is a Go code generator for creating self-contained, type-safe test doubles from interfaces.

### Project history

The public repository was created in 2014. Its README frames the project around a Go-specific testing problem: fake implementations are useful for unit tests but cannot be generated automatically at runtime in Go.

The project has continued through a v6 release line, with current documentation using Go modules and Go tool dependencies.

### Adoption history

counterfeiter's documented workflow follows Go ecosystem conventions: add it as a tool dependency, place `go:generate` or `counterfeiter:generate` directives near interfaces, and regenerate fakes with `go generate`.

The README notes that the project has largely been maintained by the community, which fits its role as a small but durable testing utility rather than a framework-owned generator.

### How it is used

Typical use is to generate fakes for interfaces in the same module or for third-party interfaces, then import the generated `foofakes` package in tests to inspect call counts, arguments, and stubbed return values.

### Why package nerds care

For package maintainers, counterfeiter is a good example of a Go CLI whose preferred installation changed with Go tooling: Homebrew can ship a binary, but the upstream docs now prefer module-pinned tool dependencies for reproducible generation.

### Timeline

- 2014: Public GitHub repository created.
- 2024: v6.8.x through v6.11.x releases published.
- 2026: v6.12.2 release published.

### Related projects

- go generate
- Go modules
- Go tool dependencies

### Sources

- <https://github.com/maxbrunsfeld/counterfeiter>
- <https://api.github.com/repos/maxbrunsfeld/counterfeiter>
- <https://github.com/maxbrunsfeld/counterfeiter/releases>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

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


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
