# Install goimports with Homebrew

Go formatter that additionally inserts import statements. Version 0.48.0 via Homebrew; verified 2026-07-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
- **Version:** 0.48.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>
- **Last updated:** 2026-07-25T20:55:24-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- goimports (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.48.0
## 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

## Combined YAML source

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


## Sources

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