enableMacosAI: Restoring Apple Intelligence Eligibility on Chinese-Region Macs
国行 Mac 一键开启完整 Apple 智能(端侧 + Private Cloud Compute 云端)· macOS 27 / Apple Silicon
At a glance
- What is it?
- enableMacosAI (RegionSpoof) is a macOS kernel extension for Apple Silicon that changes the IORegistry region from CH/A to LL/A at system startup, restoring Apple Intelligence eligibility on Chinese-region Macs running macOS 27. It addresses the eligibility layer only; network access for Private Cloud Compute requires additional proxy configuration.
- Who is it for?
- Apple Silicon Mac users with Chinese-region devices who want Apple Intelligence on macOS 27 will find enableMacosAI a technically precise solution to the eligibility problem. The kext targets the exact IORegistry property that eligibilityd reads, and the install.sh script handles the AMFI boot-arg removal that would otherwise break Private Cloud Compute.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 20 days ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The Eligibility Problem on Chinese-Region Macs
Apple Intelligence checks device eligibility through a system daemon called eligibilityd. On macOS 27, eligibilityd reads the IORegistry property region-info from the IOPlatformExpertDevice node in real time and recalculates eligibility with SwiftData on every query. When the device has a Chinese region code, the property reads CH/A, and Apple Intelligence is blocked at the eligibility gate.
Older approaches that modified plist files or locked them with chflags uchg no longer work on macOS 27 because eligibilityd no longer reads those cached values. The README states that eligibilityd bases its calculation on the IORegistry source and recalculates continuously, so patching any persistent plist has no effect.
enableMacosAI addresses this at the source. Its kernel extension (kext), named RegionSpoof, hooks the IOPlatformExpertDevice at startup and sets region-info to LL/A (the US region code). Because every process on the system reads this value from the same IORegistry location, all eligibility checks and model downloads see the US region without per-process injection.
How the Kernel Extension Works
The kext is built in C++ as an IOService subclass, defined in src/RegionSpoof.cpp. On start(), it calls setProperty("region-info", "LL/A") and setProperty("country-of-origin", "USA") on the IOPlatformExpertDevice node. The IOKitPersonalities in src/Info.plist match the IOPlatformExpertDevice class. Because the kext runs at kernel level, its property changes are visible to every process that queries IORegistry, including eligibilityd.
The kext targets arm64e exclusively, which means it requires Apple Silicon. The README notes that the compiled kext in the repository is ad-hoc signed, which is why SIP kext signing must be disabled for it to load. A LaunchDaemon defined in com.local.regionkext.plist loads the kext early at boot and refreshes the Apple Intelligence daemons after the region change is in place.
The repository also includes pcc-diagnose.sh, a read-only classifier that analyses Private Cloud Compute, relay, and attestation status from the last 30 minutes of system logs, and a perapp-zh/ directory with scripts for setting per-application Chinese language preferences without changing the global system language that eligibilityd monitors.
Installing enableMacosAI on macOS 27
The install.sh script handles the installation end to end. Run it with elevated privileges:
sudo ./install.shThe script checks SIP status, verifies Apple Silicon, removes the amfi_get_out_of_my_way=1 boot argument if present (which would break Private Cloud Compute), installs the kext to /Library/Extensions/, installs the LaunchDaemon, loads the kext, and refreshes the Apple Intelligence daemons. On first run, macOS will prompt for approval in System Settings under Privacy and Security; a restart is required after approval.
Several diagnostic subcommands are also available:
sudo ./install.sh status
sudo ./install.sh diagnose
sudo ./install.sh pcc
sudo ./install.sh uninstallTo verify the installation succeeded, check the region value and the GREYMATTER eligibility score:
ioreg -ard1 -c IOPlatformExpertDevice | plutil -p - | grep region-info
sudo /usr/libexec/PlistBuddy -c 'Print :OS_ELIGIBILITY_DOMAIN_GREYMATTER:os_eligibility_answer_t' \
/private/var/db/eligibilityd/eligibility.plistA correct install shows region-info as 0x4c4c2f41 (the hex encoding of LL/A) and GREYMATTER as 4 (eligible).
Prerequisites: What the Kext Cannot Fix Alone
The README is explicit that region is only one of approximately ten inputs to the GREYMATTER eligibility domain. After installing the kext, if GREYMATTER remains at 2, the problem is almost certainly one of the remaining inputs.
Two prerequisites stand out. First, the Apple ID media and purchases region must be set to a territory where Apple Intelligence is supported, not China/CN. The path in System Settings is your name, then Media and Purchases, then Manage, then Country/Region. Second, the system language and Siri language must both be set to a language Apple Intelligence supports. The most reliable combination is English (US) for both.
Changing the global language to Chinese will drop eligibility because eligibilityd reads the same AppleLanguages preference that controls the system interface, and Chinese is not in the eligibility language allowlist. The perapp-zh/ approach keeps the global language in English while setting Chinese on a per-application basis in each app's own preference domain, which eligibilityd does not read.
The README also notes that the COUNTRY_LOCATION eligibility input, which is determined by locationd based on Wi-Fi, IP, and location services, is not addressed by this kext. Users who remain blocked on the country location input need additional steps documented in community issues.
Private Cloud Compute and Proxy Requirements
Once on-device Apple Intelligence models are working, users often discover that cloud features (writing tools using higher-quality models, Image Playground, Reframe, and others) still fail. The README distinguishes clearly: on-device models functioning does not prove that Private Cloud Compute (PCC) is functioning.
PCC uses Apple's Private Relay infrastructure, which does not respond to standard system HTTP proxies. According to community testing documented in the README, PCC requires a TUN-mode or enhanced-mode proxy set to global mode. Surge users should enable enhanced mode and not enable the system proxy. The proxy must be running from the moment the device connects to the network after boot, before logging in and before using AI features.
The pcc subcommand analyses recent logs:
sudo ./install.sh pcc
sudo ./install.sh pcc --since 2hRepeated failed requests can trigger Apple's backend rate limiting. The README advises against retrying repeatedly; the error code 32033 in PCC logs indicates rate limiting.
Limitations and Risk Factors
The project does not have a documented open-source licence in the repository metadata (listed as unknown). Users who need licence clarity for deployment in institutional or commercial contexts should review the repository files directly.
Kernel extension signing in macOS is a security control. Disabling kext signing reduces the system's protection against malicious kernel code. The README recommends using csrutil enable --without kext in Recovery mode rather than a full csrutil disable, because the former disables only kext signing while leaving other SIP protections intact. If a future macOS update changes the KPI (Kernel Programming Interface) or the IOPlatformExpertDevice matching, the kext may need recompilation from source using the instructions in BUILD.md.
The README documents several known failure modes: if the kext fails to load because of signature issues, the region-info value reverts to CH/A; if the AMFI bypass boot argument is present, PCC will not work even with the kext loaded correctly; and Apple's server-side geofencing has changed between beta versions, which is outside the project's control.
Chinese Interface Without Losing AI Eligibility
Users who want Chinese language in the system interface while retaining Apple Intelligence eligibility can use the perapp-zh/ scripts included in the repository. The approach sets Chinese in each application's own preference domain rather than in the global AppleLanguages list. Applications read their own domain preference for language, but eligibilityd reads only the global domain.
The scripts cover Finder, built-in apps, widgets, and System Settings:
cd perapp-zh
./perapp-zh.sh dry-run
./perapp-zh.sh all
./perapp-zh.sh status
./perapp-zh.sh revertThe dry-run mode shows what would be changed without modifying anything. The revert command restores all original values. The README notes not to run these scripts with sudo, as they modify the current user's preference domains.
Editorial conclusion
Apple Silicon Mac users with Chinese-region devices who want Apple Intelligence on macOS 27 will find enableMacosAI a technically precise solution to the eligibility problem. The kext targets the exact IORegistry property that eligibilityd reads, and the install.sh script handles the AMFI boot-arg removal that would otherwise break Private Cloud Compute. Users should read the prerequisites carefully before installing: the Apple ID media region must be a supported territory, the system language must be Apple Intelligence-supported, and SIP kext signing must be disabled in Recovery mode. Users who need Private Cloud Compute features, such as cloud writing tools, will likely need a TUN-mode proxy in addition to this kext.
Frequently asked questions
How do I activate AI on my Mac if it is a Chinese-region device?
enableMacosAI installs a kernel extension that changes the IORegistry region property from CH/A to LL/A at startup. This passes Apple Intelligence's device region check. You also need to change your Apple ID media region to a supported territory and set the system and Siri language to an Apple Intelligence-supported language such as English (US).
Does enableMacosAI work on Intel Macs?
The README describes it as an Apple Silicon tool. The compiled kext is arm64e only. Intel Macs are not supported, and the eligibility requirements for Apple Intelligence themselves exclude Intel hardware.
What if GREYMATTER stays at 2 after installing the kext?
Region is only one of approximately ten eligibility inputs. If GREYMATTER remains at 2, check the Apple ID media region (must not be China/CN) and the system and Siri language (must be an Apple Intelligence-supported language). Run sudo ./install.sh diagnose and review the output to identify which specific input is failing.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/skyblue997-enablemacosai)