将CHATGPT/Codex 26.727.51351固定在MacOS Monterey 12上

2026年7月31日发布的Unified ChatGPT/Codex版本26.727.51351(构建版本6119)是最后一个经确认可在macOS Monterey 12上运行的Codex版本,而后续26.730.61309所有版本在Monterey上均无法正常工作,需要macOS 13或更高版本。我通过自己的测试(感谢Time Machine)发现了这一点,其他用户的报告也证实了这一点(参见GitHub openai/codex/issues/37019和37070)。

这很不幸,因为很多老款Mac电脑都只能使用Monterey操作系统。更糟糕的是,在Monterey系统上,ChatGPT/Codex会自动升级到26.730.61309以上的版本,导致自身无法启动。

从长远来看,解决方案似乎是在 Monterey 上使用 Codex CLI,而放弃桌面应用程序。

不过,短期内,如果您和我一样,希望26.727.51351在 Monterey Mac 上恢复到最后一个可用的版本,并尽可能长时间地锁定该版本,您可以从下面 codex 问题中发布的 CDN 链接下载此构建版本,并将其解压到您的目录中/Applications以覆盖不兼容的构建版本:

openai/codex#37019

然后提示您的agent输入持久版本 PIN 码(参见下方提示)。提示执行后,您可以退出并重新启动 ChatGPT/Codex,并确认"检查更新..."选项已从菜单中消失。

复制代码
I have an Intel Mac running macOS Monterey 12. I need ChatGPT/Codex version 26.727.51351, build 6119, to remain installed for as long as possible and never auto-upgrade itself.

Work autonomously and implement the pin end to end. Do not stop at instructions. Inspect before changing anything, preserve existing configuration, use narrowly scoped administrator authorization when required, and verify every important outcome.

Target state:

- `/Applications/ChatGPT.app` remains version 26.727.51351, build 6119.
- The app is Intel x64 and has a minimum macOS target of 12.0.
- The app's Sparkle updater is excluded before process startup.
- The protection survives logout, login, reboot, preference resets, and accidental updater activation.
- A clean, verified reinstall archive remains available if OpenAI removes or changes the download.
- Every protection is reversible and documented.

Implement these independent protection layers:

1/ Inspect the installed bundle first. Verify its version, build, architecture, minimum macOS version, bundle identifier, signature, and Gatekeeper status. Confirm the bundled code recognizes `CODEX_SPARKLE_ENABLED=false` as the updater kill switch. If the installed version is different, do not silently replace it while the agent is running.

2/ Create or carefully merge `/etc/codex/requirements.toml` so it contains:

[features]
in_app_updates = false

Preserve all unrelated existing TOML content. Install it as `root:wheel` with mode 0644.

3/ Set these preferences for bundle domain `com.openai.codex`:

SUEnableAutomaticChecks = false
SUAutomaticallyUpdate = false

Treat these as defense in depth because the app may overwrite them.

4/ Resolve the real current user's home directory from macOS account metadata. Do not trust, set, unset, or override `HOME`.

5/ Install a valid per-user LaunchAgent that runs at login and every 300 seconds. It must execute:

`/bin/launchctl setenv CODEX_SPARKLE_ENABLED false`

Load it into the current `gui/<uid>` launchd domain and set the variable immediately for the current login session. Verify that the job is loaded, exits successfully, and the GUI domain reports `CODEX_SPARKLE_ENABLED=false`.

6/ Check whether ChatGPT is configured as a login item. Disable only the exact ChatGPT login item if present so it cannot race the LaunchAgent. Never reset or alter unrelated login items.

7/ Check for an active Sparkle cache at:

`~/Library/Caches/com.openai.codex/org.sparkle-project.Sparkle`

If present, move it to a timestamped `.disabled-*` backup. Do not delete it. Confirm that no active ChatGPT Sparkle updater or staged installation remains. Distinguish unrelated applications' updater processes.

8/ Download and preserve this fixed OpenAI release:

https://persistent.oaistatic.com/codex-app-prod/ChatGPT-darwin-x64-26.727.51351.zip

Expected SHA-256:

94120e6ff4f0da1224283cf90bdc51f3c352c0538c617f68747c39fcf6ef8ce7

Store it under the user's Documents directory in a clearly named software archive. Test the ZIP, extract it into a temporary directory, and verify version 26.727.51351, build 6119, x86_64 architecture, macOS 12.0 minimum, Apple code signature, and notarization. Compare the installed main executable with the archived executable.

9/ If signature verification fails only because an extraction tool added `com.apple.FinderInfo` or resource-fork metadata, remove only the offending metadata from the exact app bundle and verify again. Do not modify executables, `Info.plist`, `app.asar`, Sparkle binaries, or signed resources.

10/ After verification, apply the reversible user-immutable flag to the top-level installed bundle:

`chflags uchg /Applications/ChatGPT.app`

Do not use the system-immutable flag and do not recursively lock every bundled file. Verify that the top-level app shows `uchg`. This is the hard barrier that should prevent Sparkle or Finder from replacing the app until someone deliberately runs `chflags nouchg`.

11/ Make the recovery ZIP read-only and user-immutable. Add a plain-text README beside it containing the verified release details, checksum, active protections, reinstall steps, and exact commands for intentionally removing the pin.

Safety requirements:

- Do not quit or restart the ChatGPT process hosting this task.
- Do not delete or overwrite an existing app, policy, archive, LaunchAgent, or cache without first resolving its exact identity and preserving relevant content.
- Do not modify the app to fake its version or minimum OS.
- Do not block OpenAI domains globally.
- Do not alter Codex CLI, IDE extensions, unrelated apps, or unrelated login items.
- Do not claim success from an "Update" button disappearing. Use configuration, launchd state, filesystem flags, signatures, hashes, caches, processes, and launch logs as evidence.

Before finishing, verify and report:

- Installed version and build.
- Architecture and minimum macOS version.
- Deep code-signature result.
- Gatekeeper/notarization result.
- Requirements policy content and ownership.
- Both Sparkle preferences.
- LaunchAgent path, load status, last exit status, and 300-second interval.
- `CODEX_SPARKLE_ENABLED=false` in the GUI launchd domain.
- No active ChatGPT Sparkle cache or updater.
- `uchg` on `/Applications/ChatGPT.app`.
- Recovery ZIP path, size, SHA-256, integrity, signature, and immutable status.
- Every file or system setting changed.
- Exact reversal commands.

The currently running app cannot inherit a newly created environment variable. End by asking me to fully quit ChatGPT with Cmd+Q and reopen it once. Explain how to confirm that the next launch reports `enableSparkle=false` and `enableUpdater=false`.

Be honest that this prevents local self-updating but cannot guarantee indefinite compatibility with OpenAI's future server-side changes.
相关推荐
服务器硬件项目经理1 小时前
《超节点修仙录》· 第一卷·炼气期【第04话】 超节点 vs 普通服务器——不就是多插了几张卡吗?
运维·服务器·人工智能·嵌入式硬件·深度学习·机器学习
9i编程1 小时前
用 Codex 改代码,依据是什么?
人工智能·openai·ai编程
aixingkong9211 小时前
华为灵衢超节点参考架构白皮书深度解读
大数据·人工智能·华为
送外卖的工程师1 小时前
STM32图书馆环境监测系统(机智云)
人工智能·语音识别
tellmewhoisi1 小时前
深度学习28:PyTorch:参数更新方法(AdaGrad和RMSProp)
人工智能·pytorch·深度学习
杜哥无敌1 小时前
Obsidian Copilot V4 与 Miyo 架构解析:语义检索、向量模型配置与最佳实践
人工智能
Zhao-Jichao1 小时前
AI Prompting for Everyone 课程笔记 - 04 联网搜索资源 Web Search Sources
人工智能·笔记
呆呆敲代码的小Y1 小时前
企业 AI 读文档,难在哪里?从一张跨页表格说起
人工智能·产品