List an App's Linked Libraries with otool -L

otool reveals every framework and dylib a macOS executable depends on — the first stop for dyld 'library not loaded' errors.

macOSmach-ootooldyldLow risk
Run `otool -L <binary>` to print all shared libraries and frameworks the executable links against.

01Command

Command
$ otool -L /Applications/SomeApp.app/Contents/MacOS/binary

02What it does

otool -L lists each library a Mach-O binary requires, including the exact install paths and current-version numbers recorded at link time. When dyld refuses to launch an app with 'Library not loaded', this output shows the missing dependency and its expected path. Related forgotten flags: -hv prints the Mach-O header, -o dumps Objective-C classes and selectors, and -l walks the load commands in detail.

03Risk

RiskLow risk
RequirementsBuilt-in on macOS (Xcode Command Line Tools).

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • otool(1) — object file displaying tool
    manpagez · technical · 2026-09-17
    Evidence: Man page documents -L to print the shared libraries each object file uses, plus -hv for headers and -o for Objective-C segments.
  • otool(1) manual page (macOS)
    unix.com · technical · 2026-09-17
    Evidence: Man page mirror documenting otool -L and other Mach-O inspection options.

Last verified: 2026-09-17 · Category: Developer