Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
May 8, 2023 23:35
August 2, 2018 16:45
November 1, 2017 11:47
July 21, 2018 20:03
May 19, 2023 01:48
September 29, 2022 16:03
January 28, 2018 00:41
July 4, 2022 22:24


Build Status Scan Status

An open source kernel extension bringing a platform for arbitrary kext, library, and program patching throughout the system for macOS.


  • Generic kext patcher
  • Generic process patcher (64-bit with basic 32-bit functionality)
  • Generic framework/library patcher (64-bit with basic 32-bit functionality)
  • Provides a unified plugin API


You should install this kext along with the plugin kexts depending on it.
The prebuilt binaries are available on releases page.
Several existing plugins possibly with code samples are available on known plugins page. To compile a plugin copy the debug version of Lilu.kext into its directory.


  • Add -liludbg to enable debug printing (available in DEBUG binaries).
  • Add -liludbgall to enable debug printing in Lilu and all loaded plugins (available in DEBUG binaries).
  • Add -liluoff to disable Lilu.
  • Add -liluuseroff to disable Lilu user patcher (for e.g. dyld_shared_cache manipulations).
  • Add -liluslow to enable legacy user patcher.
  • Add -lilulowmem to disable kernel unpack (disables Lilu in recovery mode).
  • Add -lilubeta to enable Lilu on unsupported OS versions (macOS 13 and below are enabled by default).
  • Add -lilubetaall to enable Lilu and all loaded plugins on unsupported os versions (use very carefully).
  • Add -liluforce to enable Lilu regardless of the mode, OS, installer, or recovery.
  • Add liludelay=1000 to enable 1 second delay after each print for troubleshooting.
  • Add lilucpu=N to let Lilu and plugins assume Nth CPUInfo::CpuGeneration.
  • Add liludump=N to let Lilu DEBUG version dump log to /var/log/Lilu_VERSION_KERN_MAJOR.KERN_MINOR.txt after N seconds


Most of the plugins cease to function in safe (-x) mode.
By default Lilu itself does not function in single-user (-s) mode, unless -liluforce is present.


InsanelyMac topic in English
AppleLife topic in Russian


For the contributors with programming skills the headers are filled with AppleDOC comments.
Earlier code changes could be tracked in AppleALC project.
Writing and supporting code is fun but it takes time. Please provide most descriptive bugreports or pull requests.