---
name: "llvm-install-name-tool"
section: "1"
platform: "linux"
package: "llvm"
version: "23.1.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/llvm-install-name-tool"
---

# llvm-install-name-tool(1)

LLVM tool for manipulating install-names and rpaths

## NAME

llvm-install-name-tool - LLVM tool for manipulating install-names and rpaths

## SYNOPSIS

**llvm-install-name-tool** \[*options*\] *input*

## DESCRIPTION

**llvm-install-name-tool** is a tool to manipulate dynamic shared library install names and rpaths listed in a Mach-O binary.

For most scenarios, it works as a drop-in replacement for Apple's **install\_name\_tool**.

## OPTIONS

At least one of the following options are required, and some options can be combined with other options. Options **-add\_rpath**, **-delete\_rpath**, and **-rpath** can be combined in an invocation only if they do not share the same *\<rpath\>* value.

- **-add\_rpath \<rpath\>**

  Add an rpath named **\<rpath\>** to the specified binary. Can be specified multiple times to add multiple rpaths. Throws an error if **\<rpath\>** is already listed in the binary.

- **-change \<old\_install\_name\> \<new\_install\_name\>**

  Change an install name **\<old\_install\_name\>** to **\<new\_install\_name\>** in the specified binary. Can be specified multiple times to change multiple dependent shared library install names. Option is ignored if **\<old\_install\_name\>** is not listed in the specified binary.

- **-delete\_rpath \<rpath\>**

  Delete an rpath named **\<rpath\>** from the specified binary. Can be specified multiple times to delete multiple rpaths. Throws an error if **\<rpath\>** is not listed in the binary.

- **-delete\_all\_rpaths**

  Deletes all rpaths from the binary.

- **--help, -h**

  Print a summary of command line options.

- **-id \<name\>**

  Change shared library's identification name under LC\_ID\_DYLIB to **\<name\>** in the specified binary. If specified multiple times, only the last **-id** option is selected. Option is ignored if the specified Mach-O binary is not a dynamic shared library.

- **-o \<file\>, --output \<file\>**

  Write the modified binary to **\<file\>** instead of updating the input file in place.

- **-rpath \<old\_rpath\> \<new\_rpath\>**

  Change an rpath named **\<old\_rpath\>** to **\<new\_rpath\>** in the specified binary. Can be specified multiple times to change multiple rpaths. Throws an error if **\<old\_rpath\>** is not listed in the binary or **\<new\_rpath\>** is already listed in the binary.

- **--version, -V**

  Display the version of the **llvm-install-name-tool** executable.

## EXIT STATUS

**llvm-install-name-tool** exits with a non-zero exit code if there is an error. Otherwise, it exits with code 0.

## BUGS

To report bugs, please visit \<\<https://github.com/llvm/llvm-project/labels/tools:llvm-objcopy/strip/\>\>.

## SEE ALSO

**[llvm-objcopy(1)](/llvm-objcopy/1.md) \<llvm-objcopy.html\>**

## Author

Maintained by the LLVM Team (https://llvm.org/).

## Copyright

2003-2026, LLVM Project
