# Install goimports with Homebrew

Go formatter that additionally inserts import statements. Version 0.47.0 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:goimports
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install goimports
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:goimports
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/goimports>
- **Version:** 0.47.0
- **Source summary:** Go formatter that additionally inserts import statements
- **Homepage:** <https://pkg.go.dev/golang.org/x/tools/cmd/goimports>
- **Repository:** <https://github.com/golang/tools>
- **Upstream docs:** <https://github.com/golang/tools/tree/master/cmd/goimports>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/golang/tools/archive/refs/tags/v0.47.0.tar.gz>
- **Last updated:** 2026-06-25T21:14:54Z
- **Generated:** 2026-07-07T07:26:23+00:00

## Executables

- goimports (cli)
- goimports (alias)

## Dependencies

- go

## 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-07
- Package-manager version: 0.47.0
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/golang/tools
- Upstream latest detected: v0.47.0 (current)
## Project history and usage

goimports is a Go formatter command that also adds missing imports and removes unused imports. It is part of golang.org/x/tools, the official Go supplementary tools repository.

The command became one of the canonical editor-save tools in Go development because it turns source formatting and import maintenance into one operation.

### Project history

The cmd/goimports documentation carries a 2013 Go Authors copyright notice, and repository history records goimports moving into go.tools in December 2013. Soon after, the README was renamed to doc.go, making the command documentation part of the source package.

The implementation evolved alongside Go tooling: repository history shows work on package lookup, standard-library handling, cgo exports, vendor directory support, and module-era behavior. The command remains documented through both its source directory and pkg.go.dev.

### Adoption history

goimports was adopted through editors as much as through terminals. The official command docs include examples for Emacs and Vim, telling users to make goimports their format-on-save command.

Because it lives in x/tools rather than the core go command, goimports is a classic package-manager/editor dependency: small binary, official upstream, and installed wherever developers want import organization without manually editing import blocks.

### How it is used

The documented install path uses go install for golang.org/x/tools/cmd/goimports. In use, it formats code like gofmt and rewrites imports based on symbols in the file.

goimports respects $GOPATH/src/.goimportsignore, a line-oriented ignore file for directories that should not be scanned when resolving packages under GOPATH. That file is the only official fixed config-file location documented by the command.

### Why package nerds care

goimports matters because it is the bridge between Go's no-bikeshedding formatting culture and the messier reality of import discovery. It made save hooks feel magical without requiring a full IDE.

For packagers, it is an example of an official subcommand distributed from a larger module. The package name is the command, but the upstream repository and release cadence are tied to golang.org/x/tools.

### Timeline

- 2013: goimports moves into go.tools and command documentation becomes doc.go.
- 2014: Repository history records import lookup, standard-library, cgo, and golang.org/x path work.
- 2016: Vendor directory support lands in the imports package.
- 2016: .goimportsignore support is added for excluding GOPATH directories from scans.
- 2026: x/tools history continues to update imports behavior for module cache and tooling changes.

### Related projects

- gofmt is the formatter behavior goimports preserves while adding import management.
- golang.org/x/tools is the official repository that contains cmd/goimports and the imports package.
- gopls overlaps with goimports in editor workflows by providing language-server driven formatting and import organization.

### Sources

- <https://github.com/golang/tools>
- <https://github.com/golang/tools/tree/master/cmd/goimports>
- <https://pkg.go.dev/golang.org/x/tools/cmd/goimports>


## Security Notes

No matching local secret-handling manifest was found for goimports. 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: $GOPATH/src/.goimportsignore
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** goimports
- **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


## Related links

- [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.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Runtime dependency declared by Homebrew.
- [gopls](https://www.automicvault.com/pkg/brew/gopls/) - Shares the same upstream source repository.
- [gofumpt](https://www.automicvault.com/pkg/brew/gofumpt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go.
- [yamlfmt](https://www.automicvault.com/pkg/brew/yamlfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go.
- [gci](https://www.automicvault.com/pkg/brew/gci/) - Shares av.db curated category or tags: cli, developer-tools, formatter, go, imports.
- [jsonfmt](https://www.automicvault.com/pkg/brew/jsonfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [jsonpp](https://www.automicvault.com/pkg/brew/jsonpp/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [odinfmt](https://www.automicvault.com/pkg/brew/odinfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [pgformatter](https://www.automicvault.com/pkg/brew/pgformatter/) - Shares av.db curated category or tags: cli, developer-tools, formatter.
- [rubyfmt](https://www.automicvault.com/pkg/brew/rubyfmt/) - Shares av.db curated category or tags: cli, developer-tools, formatter.

## Combined YAML source

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