A tiny Go utility that scans a macOS Applications folder for Intel (x86_64) apps and optionally moves them into a separate folder. Useful on Apple Silicon to identify Intel-only apps still running via Rosetta, or to organize mixed/universal installs.
- Detects Mach-O CPU slices (Intel x86_64 and ARM64) directly via the standard library.
- Dry-run by default; requires an explicit flag to move anything.
- Filters Intel-only apps by default, with an option to include any app that contains an Intel slice.
- Simple, fast, no external dependencies.
- macOS (scans
.appbundles and Mach-O binaries). - Go
1.20+to build locally. - Permission to move apps in the chosen directory (you may be prompted for admin rights when moving from
/Applications).
Using Makefile:
make buildThis produces the binary at bin/intel-app-mover.
Or directly with Go:
mkdir -p bin
go build -buildvcs=false -o bin/intel-app-mover ./cmd/intel-app-moverbin/intel-app-mover [flags]
Flags:
-dirApplications directory to scan. Default:/Applications-executePerform moves (otherwise dry-run only)-vVerbose logging-destDestination folder for moved apps. Default:<dir>/intel-apps-intel-onlyMove only Intel-only apps (no ARM64 slice). Default:true
- Dry-run scan of
/Applications(default):bin/intel-app-mover
- Move Intel-only apps from
/Applicationsinto/Applications/intel-apps:bin/intel-app-mover -execute
- Include any app that contains an Intel slice (even if universal):
bin/intel-app-mover -execute -intel-only=false
- Scan a custom directory and choose a custom destination:
bin/intel-app-mover -dir ~/Applications -dest ~/Applications/intel-archive -execute
- Reads each top-level
.appbundle in-dirand extractsCFBundleExecutablefromContents/Info.plist. - Inspects the corresponding Mach-O binary to detect Intel and/or ARM64 CPU slices.
- Lists matching apps during dry-run; when
-executeis provided, moves them to-destviaos.Rename.
- Scans only the top-level of the specified directory (no recursion).
- Skips bundles missing
Info.plistor the expectedContents/MacOS/<executable>. - Moving apps out of
/Applicationscan impact auto-updaters or launch services; confirm with your environment. - You can undo a move by moving the
.appbundle back to its original location.
make build— compile tobin/intel-app-movermake fmt— format sourcesmake clean— remove build artifacts
GPL-3.0 — see LICENSE for full text.