最近、Mac で新しい ChatGPT デスクトップアプリを使っているとき、かなり困る問題に遭遇しました。左側の Codex タブをクリックすると、画面全体が何度も再読み込みされているように点滅し始め、どのボタンもクリックできなくなりました。
発生していた症状は次のとおりです。
- Chat やほかのページは正常に開ける
- Codex のホーム画面に入った瞬間から点滅が始まる
- 個別のプロジェクトを開く前に操作不能になる
- ChatGPT を再インストールしても改善しない
- Mac を再起動しても改善しない
- GPU レンダリングを無効にしても改善しない
- ローカル設定を移動すると点滅は止まるが、以前のプロジェクトやタスクの多くが表示されなくなる
何度か切り分けた結果、私は次のように推測しました。Codex のローカルデータ自体は残っているものの、ログイン認証の状態に不整合が起きており、クライアントが読み込み、認証失敗、再読み込みを繰り返して点滅ループになっているのではないか。
これは公式に確認された原因ではなく、観察した現象からの推測です。ただし、この方向で対処したところ、既存のローカルデータを残したまま正常な状態に戻せました。
1. 最初に Codex のローカルデータをバックアップする
何かを変更する前に、ローカルの ~/.codex ディレクトリをバックアップしておくことをおすすめします。
このディレクトリには、次のような情報が含まれている可能性があります。
- ローカルのプロジェクト記録
- 過去の会話
- タスク情報
- Codex の設定
- プロジェクトのパスやインデックス
最初からディレクトリ全体を削除しないでください。
まず ChatGPT を完全に終了します。
osascript -e 'quit app "ChatGPT"'
次にターミナルで以下を実行します。
tar --no-xattrs \
--exclude='.codex/ipc' \
-czf ~/Desktop/codex_backup.tar.gz \
-C ~ .codex
これでデスクトップに次の圧縮ファイルが作成されます。
codex_backup.tar.gz
.codex/ipc を除外しているのは、このディレクトリに ipc.sock のような実行時の socket ファイルが含まれる場合があるためです。この種の一時通信ファイルは正常に圧縮できないことがあり、プロジェクトやタスクのデータでもないため、バックアップする必要はありません。
バックアップ後は、次のコマンドで圧縮ファイルを正常に読み取れるか確認します。
tar -tzf ~/Desktop/codex_backup.tar.gz >/dev/null && echo "Backup OK"
ターミナルに次のように表示されれば、
Backup OK
圧縮ファイルを読み取れています。これを確認してから次へ進みます。
2. ~/.codex 全体を削除しない
切り分けの途中で、私は .codex ディレクトリ全体を一時的に移動してみました。
mv ~/.codex ~/.codex_backup
ChatGPT を再び起動すると、新しい空の .codex ディレクトリが自動的に作成されます。その結果は次のとおりでした。
- Codex 画面の点滅は止まった
- 以前のプロジェクト、タスク、履歴の多くが表示されなくなった
古いディレクトリを元に戻すと、
- プロジェクトとタスクが再び表示された
- 点滅も再発した
この結果から、問題が古いディレクトリ内の何らかの状態と関係していることは分かりました。しかし、ローカル記録にも影響するため、ディレクトリ全体を削除するのは理想的な解決策ではありません。
そこで方針を変えました。.codex 内のプロジェクトとタスクのデータは残し、ログイン認証の状態だけを更新するという考え方です。
ディレクトリを移動して切り分ける場合は、先に ChatGPT を完全に終了し、
~/.codex_backupというパスがすでに存在しないことも確認してください。圧縮バックアップを作る前にこの操作を行うことはおすすめしません。
3. Codex CLI がインストールされているか確認する
ターミナルで次を実行します。
which codex
次のようなパスが返れば、
/opt/homebrew/bin/codex
または、
/Users/ユーザー名/.nvm/versions/node/.../bin/codex
Codex CLI はインストールされています。
バージョンも確認できます。
codex --version
現在のログイン状態は次のコマンドで確認します。
codex login status
次のように表示されれば、
Logged in using ChatGPT
CLI は ChatGPT アカウントでログイン済みです。ただし、ここでログイン済みと表示されていても、認証状態に不整合があるように見える場合は、一度ログアウトして再ログインする価値があります。
4. Codex からログアウトして再ログインする
最終的に私の環境で効果があったのは、この操作でした。
まず次を実行します。
codex logout
続いて、もう一度ログインします。
codex login
ターミナルの案内に従ってブラウザを開き、ChatGPT アカウントにログインします。完了後、もう一度状態を確認します。
codex login status
次の表示が出れば、
Logged in using ChatGPT
再ログインは成功です。
その後、ChatGPT を開き直します。
open -a "ChatGPT"
もう一度 Codex 画面を開きます。私の環境では、元の .codex データを残したまま正常に戻りました。
- 以前のプロジェクトとタスクが残っている
- Codex 画面が点滅しなくなった
- すべてのボタンをクリックできる
- アカウントの切り替えも正常に動作する
5. 試したが効果のなかった方法
有効な方法にたどり着くまでに、いくつかの一般的な対処も試しました。
ChatGPT の再インストール
私の環境では効果がありませんでした。
再インストールで置き換わるのは通常アプリ本体だけで、ユーザーディレクトリ内の ~/.codex は削除されません。そのため、新しくインストールしたアプリも古い設定、状態、認証情報を読み込む可能性があります。
Mac の再起動
これも効果がありませんでした。
原因が永続化されたローカル状態や認証情報にある場合、OS を再起動してもそれらのファイルは変わりません。
GPU の無効化
次のコマンドを試しました。
open -a "ChatGPT" --args --disable-gpu
それでも画面は点滅し続けました。少なくとも私のケースでは、単純なハードウェアアクセラレーションやグラフィック描画の問題ではありませんでした。
config.toml だけを一時的に変更
設定ファイルを一時的に別名へ変更する方法も試しました。
mv ~/.codex/config.toml ~/.codex/config.toml.bak
これは設定ファイル単体の異常を切り分けるには役立ちますが、私の問題を完全には解決しませんでした。点滅は config.toml だけが原因ではなかったようです。
.codex 全体を削除
新しい .codex で起動すると画面は操作できるようになりましたが、ローカルのプロジェクトやタスクの多くが一時的に表示されなくなりました。
検証済みのバックアップがない限り、この方法はおすすめしません。バックアップがあっても、まずは影響範囲の小さい再ログインから試すほうが安全です。
6. 最終的な解決手順
全体の流れは次の五つにまとめられます。
手順 1:ChatGPT を終了する
osascript -e 'quit app "ChatGPT"'
手順 2:Codex のローカルデータをバックアップする
tar --no-xattrs \
--exclude='.codex/ipc' \
-czf ~/Desktop/codex_backup.tar.gz \
-C ~ .codex
手順 3:バックアップを検証する
tar -tzf ~/Desktop/codex_backup.tar.gz >/dev/null && echo "Backup OK"
Backup OK が表示されたことを確認してから続けます。
手順 4:Codex に再ログインする
codex logout
codex login
手順 5:ChatGPT を開き直す
open -a "ChatGPT"
7. まとめ
今回のポイントは、アプリを再インストールすることでも、ローカルデータをすべて削除することでもありませんでした。私のケースでは、次の方法が適切でした。
~/.codexを完全にバックアップする- 既存のプロジェクトとタスクのデータを残す
- Codex からログアウトして再ログインする
- 無効または不整合になった認証状態をクライアントに更新させる
実際に問題を解決したのは、次の二つのコマンドです。
codex logout
codex login
同時に、元の次のディレクトリは残しました。
~/.codex
Codex 画面が点滅し続けてクリックできない、再インストールや GPU の無効化でも改善しない、新しい .codex なら動くものの以前のプロジェクトが消える、といった症状が重なっている場合は、まずこの方法を試す価値があります。
変更を行う前に、ローカルの .codex データを必ずバックアップし、プロジェクトやタスクの記録を復元できる状態にしておいてください。
この記事を楽しんでいただけましたか?
役に立った場合は、私の活動を支援することをご検討ください。