ChatGPTアプリはElectronベースでした。
ただ、そう分かったのはpmsetに「Electron」と出たからではありません。
先日の記事では、Macがスリープしない原因をClaude Codeに調べてもらった過程を書きました。
そのときpmset -g assertionsに、気になる表示がありました。
ChatGPTの行にはnamed: "Electron"とあります。
アプリの実装方式も同じなのか、Codexに中身を確認してもらいました。
pid 27776(Claude): NoIdleSleepAssertion named: "Electron"
pid 587(ChatGPT): NoIdleSleepAssertion named: "Electron"
「ChatGPT」と「Electron」は別の欄だった
ClaudeとChatGPTで、プロセス名は別なのにアサーション名は同じです。pid 587(ChatGPT)は申告を出したプロセスです。named: "Electron"は申告につけた名前でした。
電源アサーションは、アプリなどがMacに「今はアイドルスリープしないで」と伝える申告です。NoIdleSleepAssertionは、その種類を表します。
AppleのAPIリファレンスにも、作成側が名前を指定するとあります。
アプリや、そのときの作業を説明する名前です。
pmsetの表示は、macOSがアプリの中身を調べて「これはElectron製だ」と判定した結果ではありません。
申告を作った側が、アサーション名として「Electron」という文字列を渡した結果です。
ChatGPTアプリの中身も確認した
このMacのChatGPT.appは、2026年9月29日時点でversion 26.924.22138でした。
見た目は1つの.appでも、中には実行ファイルや関連ファイルが入っています。Contents/Frameworksには、Codex Framework.frameworkとSparkle.frameworkがありました。
Electron Framework.frameworkは見当たりませんでした。
でも、ここだけ見て結論は出せません。
手がかりはFrameworksの外にありました。
アプリ全体を調べると、Contents/Resources/owl-electron-app.jsonが見つかりました。
このファイルにはpackagedFromとruntimeName: "owl"が記録されています。packagedFromの値にはElectronのビルド先が含まれていました。
Electronの公式ページも、ChatGPTとClaudeをElectronを使うアプリとして紹介しています。
このMacのアプリ情報とも一致します。
「Electron」表示だけでは分からない
ChatGPTアプリがElectronベースなのは確認できました。
ただし、pmsetのnamed: "Electron"だけで判断できたわけではありません。
まず表示名の意味を確かめます。
アプリの実装を知りたいときは、バンドル内のファイルと公式資料も見てみると、ログの表示と実体を分けて確認できます。