codexで「バイナリ ファイルはサポートされません」が出たらまず見るべき原因と回避策まとめ
CodexでPR作成やGitHub連携を進めているときに、突然「バイナリ ファイルはサポートされません」と表示されることがあります。特にREADME.md、pycache、画像・音声・動画、生成物ファイルなどが混ざっていると、どこが原因なのか分かりにくく、作業が止まりやすいエラーです。
この記事では、調査した情報をもとに、Codexでこのエラーが出たときに最初に確認すべきこと、README.mdが原因になるケース、__pycache__などの不要ファイル対策、GitHub連携の見直し、codexのインストール方法までまとめます。体験談ではなく、検索してきた人がそのまま切り分けに使えるように整理しています。
| この記事のポイント |
|---|
| ✅ 「バイナリ ファイルはサポートされません」の主な原因が分かる |
| ✅ README.mdや__pycache__が原因になり得る理由を確認できる |
| ✅ .gitignore・削除・再作成・GitHub再接続の順番が分かる |
| ✅ codexのインストール方法や初期準備の考え方も把握できる |
codexで「バイナリ ファイルはサポートされません」が出る原因と初動対応

- 最初の答えは「差分内にバイナリ扱いされたファイルがあるか確認すること」
- README.mdでもバイナリ扱いされる可能性があるため差し替えが有効
- __pycache__や生成物はGit管理から外すことが基本対応
- .gitignoreは追加だけでなく追跡済みファイルの解除まで必要
- GitHub連携の切断・再接続は最後の切り分け手段になる
- 拡張子と中身がズレているファイルは別ツールでもエラー要因になる
最初の答えは「差分内にバイナリ扱いされたファイルがあるか確認すること」

Codexで「バイナリ ファイルはサポートされません」と出た場合、最初に見るべきなのはCodexやGitHubに送ろうとしている差分の中に、バイナリ扱いされたファイルが入っていないかです。エラー文だけを見ると、画像・動画・音声ファイルのような分かりやすいバイナリファイルを想像しがちですが、調査した事例ではREADME.mdのようなテキストファイルが原因になったケースもありました。
ここで大事なのは、「拡張子が.mdだから安全」とは言い切れない点です。一般的にはMarkdownファイルはテキストですが、Gitや周辺ツールが何らかの理由でそのファイルをバイナリとして認識すると、Codex側のPR作成や差分処理で止まる可能性があります。原因は文字コード、不可視文字、生成時の扱い、Git内部の判定など複数考えられますが、公開されている情報だけでは断定まではできません。
特に、Codexが0からリポジトリを作成した直後、PR作成時にエラーが出る場合は、今回の差分に含まれるファイルを1つずつ疑うのが近道です。リポジトリ全体を疑うより、「直近で追加・変更されたファイル」「Codexが自動生成したファイル」「通常のテキストに見えるが差分表示できないファイル」から確認すると、切り分けがしやすくなります。
参考元では、Codexが生成したREADME.mdがGit上でバイナリファイルとして認識されていたことが原因とされています。
https://taisei.yokohama/codex-binary-file-not-supported-workaround
🔎 エラー発生時に最初に見る場所
| 確認対象 | 見る理由 | 優先度 |
|---|---|---|
| 直近で追加したファイル | エラーの直接原因になりやすい | 高 |
| README.md | テキストでもバイナリ扱いされた事例がある | 高 |
| pycache | Python実行で自動生成されやすい | 高 |
| 画像・動画・音声 | 本来の意味でのバイナリファイル | 中 |
| GitHub連携設定 | ファイル側で直らないときの切り分け | 中 |
✅ まずやることリスト
- ✅ Gitの差分に何が含まれているか確認する
- ✅ README.mdなどテキストファイルも疑う
- ✅ 不要な生成物が混ざっていないか見る
- ✅ .gitignoreだけでなく追跡済み状態も確認する
- ✅ それでも直らなければGitHub連携側も見直す
このエラーで焦りやすいのは、メッセージが短く、原因ファイルを明示してくれないことがあるためです。したがって、最初から「Codexが壊れている」と考えるより、PRに含めようとしている差分の中に、Codexが扱えないファイルが混ざっていると考える方が現実的です。
また、バイナリファイルとは、ざっくり言えば人間がそのまま読めるテキストではなく、アプリやプログラムが解釈する形式のファイルです。ただし今回のようなケースでは、実際にはテキストに見えるファイルでも、ツール側の判定でバイナリ扱いされることがあります。そのため、見た目だけで判断しないことが重要です。
切り分けの基本はシンプルです。怪しいファイルを一度差分から外し、PR作成やCodexの処理が通るかを見る。通れば、そのファイル周辺が原因です。通らなければ、次のファイル、またはGitHub連携設定を疑います。遠回りに見えますが、原因が表示されないタイプのエラーでは、この方法が最も分かりやすいです。
README.mdでもバイナリ扱いされる可能性があるため差し替えが有効

README.mdは、通常ならリポジトリの説明を書くためのテキストファイルです。ところが、調査した事例では、Codexが生成したREADME.mdがGit上でバイナリファイルとして認識され、PR作成時に「バイナリ ファイルはサポートされません」と表示されたとされています。これはかなり意外ですが、同じエラーで詰まっている人にとっては重要なヒントです。
このケースで有効だった対応は、Codexが生成したREADME.mdを削除し、手動作成したREADME.mdに差し替えることでした。つまり、README.mdの内容そのものが大きく複雑だったというより、生成されたファイルの状態やGit上の扱いに問題があった可能性があります。ただし、原因の細部は公開情報だけでは断定できないため、「同じような症状では試す価値がある回避策」と捉えるのがよさそうです。
README.mdを疑うべきタイミングは、リポジトリ作成直後や、Codexが初期ファイルをまとめて生成した直後です。特に、README.mdしか大きな変更がないのにPR作成で止まる場合は、最優先で確認する価値があります。ファイル名がREADME.mdだから除外して考えるのではなく、むしろ自動生成されたREADME.mdは一度疑うくらいが実務的です。
参考元では、README.mdを削除してプッシュし、手動作成したREADME.mdをプッシュすることでエラーが解消したと説明されています。
https://taisei.yokohama/codex-binary-file-not-supported-workaround
📝 README.mdが疑わしいときの対応表
| 状況 | 対応 | 補足 |
|---|---|---|
| Codex生成README.mdを含むとエラー | README.mdを一度外す | 原因切り分けに有効 |
| README.mdなしだとPRが通る | README.mdが原因候補 | 内容よりファイル状態の問題かもしれない |
| README.mdを手動作成したら通る | 差し替えで回避可能 | 再生成ではなく新規作成が安全 |
| 再作成しても直らない | 他ファイルも確認 | __pycache__なども疑う |
📌 README.md差し替え時の考え方
- ✅ まずREADME.mdを差分から外して試す
- ✅ 通った場合はREADME.mdを手動で作り直す
- ✅ 文字コードは一般的なUTF-8を選ぶ
- ✅ 不要な装飾や特殊文字は一旦入れない
- ✅ 問題が解消してから内容を整える
README.mdを差し替えるときは、最初から立派な説明文を作り込む必要はありません。まずは短い内容で作成し、PRやCodex側の処理が通るかを見る方がよいです。たとえば、プロジェクト名、概要、起動方法くらいの最小構成にして、問題が消えるか確認します。
もし短いREADME.mdで通るなら、元のREADME.mdに含まれていた何か、またはファイル生成時の状態が影響していた可能性があります。逆に、短いREADME.mdでも通らない場合は、README.md以外の差分やGitHub連携設定が原因かもしれません。ここで重要なのは、一気に全部直そうとしないことです。
なお、README.mdはGitHub上でも目立つファイルなので、削除したまま放置するより、手動で作り直す方が自然です。最初は簡単で構いません。Codexの処理が安定した後に、導入手順や使い方を追記していけば十分です。
__pycache__や生成物はGit管理から外すことが基本対応

Pythonで開発している場合、__pycache__というフォルダが自動生成されることがあります。これはPythonがプログラムを実行しやすくするために作るキャッシュで、通常は人間が編集するものではありません。中には.pycファイルなどが入り、これはテキストではなくバイナリに近い扱いになります。
調査したCodex利用記事でも、途中で__pycache__関連のファイルが残り、「バイナリファイルはサポートされません」系のエラーでPRが通らなくなったとされています。この場合、.gitignoreを作成するなどして対応したものの、すぐには解決しなかったようです。ここから分かるのは、.gitignoreに書いただけでは、すでにGit管理されているファイルは自動では消えないという点です。
__pycache__や.pycファイルは、リポジトリで共有する必要がないことが一般的です。むしろGitに入れると、環境差分や不要なバイナリ差分の原因になります。Codexに限らず、GitHub上の差分確認やレビューでも邪魔になりやすいファイルです。
参考元では、__pycache__関連ファイルが残り、バイナリファイル非対応エラーでPRが通らなくなったと説明されています。
https://note.com/sg_investech/n/n84e1a12d079d
🧹 Git管理から外すべき代表例
| ファイル・フォルダ | 何のためのものか | Git管理の必要性 |
|---|---|---|
| pycache/ | Pythonの実行キャッシュ | 基本不要 |
| *.pyc | Pythonのコンパイル済みファイル | 基本不要 |
| .venv/ | 仮想環境 | 基本不要 |
| node_modules/ | npm依存パッケージ | 基本不要 |
| dist/・build/ | 生成後の成果物 | プロジェクト次第 |
| .DS_Store | macOSの管理ファイル | 不要 |
🛠 .gitignoreに入れたい例
| 種類 | 例 |
|---|---|
| Pythonキャッシュ | __pycache__/ |
| Pythonバイナリ | *.pyc |
| 仮想環境 | .venv/ |
| ログ | *.log |
| 一時ファイル | tmp/ |
ただし、ここで注意したいのは、.gitignoreは未来の追加を防ぐ仕組みだということです。すでにGitに登録されている__pycache__や.pycは、.gitignoreに書いても追跡が続く場合があります。そのため、Gitの管理対象から外す操作が別途必要になることがあります。
一般的には、対象ファイルをGitの追跡から外し、ローカルには残すという方法を使います。コマンド名までは環境によって異なる説明になりやすいですが、考え方としては「ファイルそのものを消す」ではなく、「Gitの差分やコミット対象から外す」です。誤って必要なファイルまで削除しないよう、対象を確認してから進めるのが安全です。
CodexでPR作成をする場合は、PRに含まれる差分がきれいであるほどトラブルが減ります。__pycache__のような生成物は、エラー原因になるだけでなく、レビューする側にも不要な情報です。最初に.gitignoreを整えておくことは、Codex利用の安定性にもつながります。
.gitignoreは追加だけでなく追跡済みファイルの解除まで必要

「.gitignoreに書いたのに、まだバイナリファイルのエラーが出る」という場合、よくある原因はすでにGitに追跡されているファイルが残っていることです。.gitignoreは、まだGitに入っていないファイルを無視するための設定です。すでにコミット対象になっているファイルには、そのままでは効かないことがあります。
たとえば、pycache/を.gitignoreに追加しても、過去に__pycache__内のファイルをGitに追加していた場合、そのファイルは差分に残り続ける可能性があります。この状態では、Codex側から見ても「まだバイナリファイルが差分に含まれている」と判断されるかもしれません。つまり、.gitignore追加だけで安心するのは少し危険です。
大切なのは、無視設定を追加することと、すでに追跡された不要ファイルをGit管理から外すことをセットで考えることです。初心者が詰まりやすいのは、この2つの違いです。ファイルを消したつもり、無視したつもりでも、Gitの履歴やインデックスには残っていることがあります。
🚦 .gitignore対応のチェック表
| チェック項目 | OKの状態 | NGの状態 |
|---|---|---|
| .gitignoreに記載 | __pycache__/などがある |
未記載 |
| Git差分 | 不要ファイルが表示されない | .pycが差分に出る |
| PR差分 | テキスト中心で確認できる | バイナリ差分が混ざる |
| 再実行後 | キャッシュが再追加されない | 実行のたびに復活する |
🔐 安全に進める順番
- ✅ まず差分に出ているファイルを確認する
- ✅ 不要な生成物を.gitignoreに追加する
- ✅ すでに追跡済みならGit管理から外す
- ✅ もう一度差分を確認する
- ✅ CodexやGitHubでPR作成を試す
ここで「削除」と「追跡解除」を混同しないことも重要です。たとえば、ローカルの実行に必要なファイルを物理的に削除してしまうと、アプリが動かなくなることがあります。一方で、Git管理から外すだけなら、ローカルにファイルを残しながら共有対象から外せます。どちらが必要かはファイルの種類で判断します。
__pycache__や.pycのようなキャッシュは、削除してもPython実行時に再生成されることが一般的です。そのため、ローカルから消しても大きな問題になりにくいですが、環境設定ファイルやデータファイルの場合は慎重に扱う必要があります。判断が難しいファイルは、まずファイル名と役割を調べるのが安全です。
Codexのエラーは、表面上は「バイナリファイルがサポートされない」という一文でも、実際にはGit管理の基本に関わる問題であることが少なくありません。特に、AIに任せてアプリを作っていると、生成物やキャッシュがいつの間にか混ざることがあります。PRに入れるべきファイルだけが入っている状態を作ることが、最も安定した対策です。
GitHub連携の切断・再接続は最後の切り分け手段になる

ファイル側を整理しても「バイナリ ファイルはサポートされません」が解消しない場合、GitHub連携の状態を見直すことがあります。調査した記事では、GitHubとの接続を一度切断し、再度設定・接続し直すことで解決したケースが紹介されていました。ただし、これは原因が明確に特定されたというより、試行錯誤の中で解消したという位置づけに近いです。
そのため、GitHub連携の再接続は最初にやるよりも、ファイル差分を確認し、README.mdや__pycache__などの原因候補を潰した後の手段として考える方がよいです。連携を切り直す作業は、設定や権限に影響する可能性があるため、むやみに繰り返すより、必要になった段階で行う方が安全です。
GitHub関連の問題では、リポジトリの再作成、Codexとの連携解除、再接続などが候補になります。しかし、リポジトリ削除や再作成は影響が大きいので、まずは小さな確認から始めるべきです。特に、既存のコードや履歴がある場合は、削除前にバックアップや影響範囲を確認する必要があります。
参考元では、GitHub関連の問題について「一回切断・削除→再度接続」で解決することもあると述べられています。
https://note.com/sg_investech/n/n84e1a12d079d
🔁 GitHub連携を見直す前の確認表
| 確認項目 | 先に見る理由 |
|---|---|
| 差分にバイナリが残っていないか | 原因がファイル側なら再接続不要 |
| README.mdを外すと通るか | 既知の回避例がある |
| __pycache__が残っていないか | Python開発で混ざりやすい |
| .gitignoreが効いているか | 再発防止に必要 |
| GitHub権限が有効か | 連携不調の可能性を見る |
🧭 対応の優先順位
| 優先度 | 対応 | 理由 |
|---|---|---|
| 1 | 差分確認 | 最小の切り分け |
| 2 | 不要ファイル除外 | 典型的な原因を排除 |
| 3 | README.md差し替え | 実例がある |
| 4 | .gitignore整理 | 再発防止 |
| 5 | GitHub再接続 | 設定側の切り分け |
GitHub連携の再接続を行う場合は、どのリポジトリを対象にするのか、どのアカウントで接続しているのか、既存PRやブランチに影響がないかを確認しておきます。特に仕事用・個人用アカウントを分けている場合、接続先が変わると別の問題が起きる可能性があります。
また、CodexがGitHubと連携してPRを作る流れでは、ファイルの内容だけでなく、差分表示・権限・ブランチ状態なども関係します。ファイル整理で直らない場合に連携再接続を試すのは自然ですが、原因ファイルを残したまま再接続しても再発する可能性があります。
まとめると、GitHub連携の再接続は「困ったら最初に押すリセットボタン」ではなく、「ファイル側の問題を整理したあとに試す設定側の切り分け」です。この順番を守るだけで、余計な混乱を減らせます。
拡張子と中身がズレているファイルは別ツールでもエラー要因になる

Codexの話から少し広げると、「ファイル名の拡張子」と「実際の中身」がズレている場合、さまざまなツールでエラーが起きることがあります。調査したAdobe Auditionの事例では、拡張子はWAVのように見えるのに、実際の中身はAAC形式だったため、ファイルを正しく開けなかったと説明されています。
これはCodexのエラーと同じ原因だと断定はできません。ただし、ツールは拡張子だけでなく、ファイルの中身や形式も見て判断するという点では参考になります。つまり、README.mdのように見えるファイルでも、ツール側が「これは普通のテキストではない」と判断すれば、想定外のエラーにつながる可能性があります。
また、Microsoftのサポート情報でも、メディアファイルは拡張子だけでなく、適切なコーデックがインストールされているかどうかで再生可否が変わると説明されています。これも、拡張子だけではファイルの扱いを完全には判断できない例です。
Adobe Communityでは、拡張子と実際のコーデックのズレが原因だった例が紹介されています。
https://community.adobe.com/%E8%B3%AA%E5%95%8F-141/%E3%82%A8%E3%83%A9%E3%83%BC-%E3%81%93%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AFlibsndfile%E3%81%A7%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-355423
🧩 拡張子と中身のズレが起こす問題
| 例 | 見た目 | 実際の問題 |
|---|---|---|
| README.md | Markdownに見える | Gitがバイナリ扱いする可能性 |
| .wav | 音声ファイルに見える | 中身が別コーデックの場合がある |
| .mp4 | 動画に見える | コーデック不足で再生できない場合がある |
| .csv | テキストに見える | 文字コードや区切り文字で読み込み失敗 |
| .json | 構造化データに見える | 不正な文字でパース失敗 |
🎯 Codexで応用できる見方
- ✅ 拡張子だけで安全と判断しない
- ✅ 自動生成ファイルは一度疑う
- ✅ 差分表示できないファイルを優先確認する
- ✅ テキストエディタで開けるか確認する
- ✅ 必要なら作り直す
MicrosoftのWindows Media Playerに関する資料では、対応しているファイル種類が細かく整理されていますが、同時にコーデックの有無で扱える形式が変わることも示されています。これはメディア分野の話ですが、Codexのエラーを考えるときにも「拡張子=中身」と単純に考えない方がよいという示唆になります。
Microsoftサポートでは、Windows Media Playerで扱えるファイル種類やコーデックの影響が説明されています。
https://support.microsoft.com/ja-jp/topic/windows-media-player-%E3%81%A7%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E7%A8%AE%E9%A1%9E-32d9998e-dc8f-af54-7ba1-e996f74375d9
Codexの場合、PRや差分を作るためには、対象ファイルを読み取り、変更内容を理解する必要があります。そこでバイナリ扱いのファイルが混ざると、差分として扱えずに止まることがあります。これはGitのレビュー体験としても自然で、バイナリファイルは行単位の差分が分かりにくいためです。
結局のところ、このエラーへの姿勢は「バイナリファイルを完全に悪者にする」ではありません。画像や動画が必要なプロジェクトもあります。ただし、CodexのPR作成やコードレビューの差分には、必要なものだけを入れ、不要な生成物や判定が怪しいファイルを外すことが重要です。
codexの「バイナリ ファイルはサポートされません」を防ぐ運用と関連知識

- codexのインストール方法は公式手順とGitHub準備を分けて考えること
- 企画書をまとめて渡すとCodexの迷走を減らしやすい
- 金融・市場データ系アプリではライセンス確認が必要
- SnowflakeのCOPYやSTAGEの考え方はファイル形式理解に役立つ
- Qt WebEngineのコーデック情報から対応形式の限界を学べる
- トラブル時は「ファイル・Git・連携」の3層で切り分けること
- 総括:codex バイナリ ファイルはサポートされませんのまとめ
codexのインストール方法は公式手順とGitHub準備を分けて考えること

「codex のインストール方法は?」と調べている人は、おそらくCodexを使い始める段階で、GitHub連携やリポジトリ準備も含めて知りたいはずです。今回のエラーはインストールそのものではなく、主にPR作成やGitHub連携時に出るものですが、初期準備の段階でファイル管理を整えておくと予防につながります。
調査したCodex利用記事では、GitHubアカウントとの連携を確立し、README.mdのみの新しいリポジトリを作成しておく流れが紹介されていました。つまり、Codexを使う前提として、単にツールを入れるだけでなく、作業対象のGitHubリポジトリを用意することが重要になります。
ここで注意したいのは、README.mdのみのリポジトリを作ること自体はよくある準備ですが、先ほど見たようにREADME.mdが原因になるケースもある点です。初期README.mdはGitHub側で作る、または手動でシンプルに作るなど、安定しやすい方法を選ぶとよいかもしれません。
Codex利用記事では、GitHub連携やREADME.mdのみの新規リポジトリ作成が準備として紹介されています。
https://note.com/sg_investech/n/n84e1a12d079d
🚀 Codex利用前の準備マトリクス
| 準備項目 | 目的 | エラー予防との関係 |
|---|---|---|
| GitHubアカウント連携 | PR作成やコード管理 | 連携不備を減らす |
| 新規リポジトリ作成 | 作業場所を用意 | 差分を整理しやすい |
| README.md作成 | プロジェクト説明 | 自動生成ファイルの扱いに注意 |
| .gitignore作成 | 不要ファイル除外 | バイナリ混入を防ぐ |
| ローカル動作確認 | 実行可否を見る | 不要生成物の発生を把握 |
✅ 初期設定で意識したいこと
- ✅ リポジトリは空に近い状態から始める
- ✅ README.mdはシンプルに作る
- ✅ Pythonなら最初に.gitignoreを用意する
- ✅ 生成物をコミットしないルールを決める
- ✅ PR作成前に差分を確認する
codexのインストール方法そのものは、利用している環境や提供形態によって変わる可能性があります。そのため、ここでは断定的な手順ではなく、検索意図に近い「使い始める前に何を準備すべきか」を中心に整理しています。実際のインストール手順は、利用中のCodex環境や公式案内に合わせて確認してください。
ただし、どの環境でも共通して言えるのは、Codexはコードを生成するだけでなく、GitHub上の差分やPRと関わる場面が多いということです。したがって、最初からGitの管理対象をきれいにしておくことは、後のエラーをかなり減らします。
特にPythonアプリを作るなら、pycache、.venv、ログファイルなどは最初から除外しておくのが無難です。ReactやNode系ならnode_modulesやdist、buildなどに注意します。Codexに作業を任せるほど、生成されるファイルも増えやすいので、初期の.gitignore設計が大切です。
企画書をまとめて渡すとCodexの迷走を減らしやすい

Codexでアプリを作るとき、仕様を少しずつ五月雨式に伝えると、途中で意図がズレたり、前に直したはずの箇所が戻ったりすることがあります。調査した記事でも、細かい会話の多数回のやり取りより、ChatGPTなどで包括的な企画書を作り、それをCodexに渡す方がよいとされています。
この考え方は、「バイナリ ファイルはサポートされません」の対策にもつながります。なぜなら、仕様や作業範囲が曖昧だと、Codexが不要なファイルを生成したり、リポジトリ構成が散らかったりする可能性があるからです。もちろんCodexの動作を完全に制御できるわけではありませんが、最初に方針を明確にしておくことで、余計な差分を減らしやすくなります。
たとえば、「PythonでFlaskアプリを作る」「生成物はGit管理しない」「__pycache__や仮想環境は.gitignoreに入れる」「README.mdは簡潔に作る」といったルールを最初の依頼に含めると、後から整理する手間が減ります。これはエンジニアでなくても使える実践的な工夫です。
Codex利用記事では、仕様を小分けにせず、まとめた企画書を渡すことがTipsとして紹介されています。
https://note.com/sg_investech/n/n84e1a12d079d
📄 Codexに渡す企画書に入れたい項目
| 項目 | 書く内容 | 効果 |
|---|---|---|
| 目的 | 何を作るか | 迷走を減らす |
| 技術 | Flask、Reactなど | 不要な構成を避ける |
| 画面 | 必要なページや機能 | 作業範囲を明確化 |
| データ | 入力・出力の形式 | ファイル混乱を防ぐ |
| Git管理 | 除外するファイル | バイナリ混入を予防 |
| 完了条件 | 何が動けばOKか | 修正ループを短くする |
🧠 依頼文に入れるとよい一文例
- ✅ 生成キャッシュや仮想環境はGit管理しないでください
- ✅ .gitignoreを最初に作成してください
- ✅ README.mdはシンプルなUTF-8テキストで作成してください
- ✅ 画像・動画・バイナリファイルは必要な場合だけ追加してください
- ✅ PRに含める差分を最小限にしてください
もちろん、企画書をまとめてもエラーがゼロになるわけではありません。AIがコードを作る以上、実際に動かして初めて分かる問題もあります。調査記事でも、最初から完全にイメージ通りにはならず、ローカルで動かして修正を繰り返す必要があったとされています。
重要なのは、修正を繰り返すときも、毎回場当たり的に指示を出すのではなく、現在の目的・既知の問題・直したい範囲をまとめて伝えることです。たとえば「PR作成時にバイナリファイル非対応エラーが出るため、Git管理対象を確認し、不要な生成物を除外してください」と依頼すれば、Codexも作業の焦点を合わせやすくなります。
Codexは便利ですが、指示が散らかると出力も散らかりやすくなります。逆に、依頼文の中で「何を作るか」と「何を作らないか」を明確にすると、ファイル構成も安定しやすくなります。エラー対策としても、企画書型の依頼は有効です。
金融・市場データ系アプリではライセンス確認が必要

調査したCodex利用記事では、金融市場ダッシュボードの作成例が紹介されていました。株式、金利、為替、コモディティなどを一覧表示するアプリは、Codexで作る題材として分かりやすい一方、データの利用条件には注意が必要です。
特に、マーケットデータを無料取得したり、スクレイピングしたりする場合、商用利用や再配布が許されているかはサービスごとに異なります。個人利用なら問題が小さい場合もありますが、公開アプリや有料サービスにするなら、データライセンスを確認する必要があります。これはCodexのエラーとは別問題ですが、実際にアプリを作る人には重要です。
Codexはコードを書く手助けをしてくれますが、データの権利関係まで自動で正しく判断してくれるとは限りません。特に金融・投資系は、数値の正確性、更新頻度、出典、免責表示なども関係します。記事中の例でも、AIが作成した市況サマリーについて正確性を保証しない旨が明記されていました。
金融市場ダッシュボードの記事では、マーケットデータのライセンス等に注意する必要があると述べられています。
https://note.com/sg_investech/n/n84e1a12d079d
💹 金融系アプリで注意するポイント
| 注意点 | 理由 |
|---|---|
| データライセンス | 商用利用が制限される場合がある |
| スクレイピング可否 | 利用規約違反になる可能性がある |
| 数値の正確性 | 投資判断に影響する可能性がある |
| 欠損値補完 | 土日祝日などでデータが抜ける |
| 免責表示 | 誤解を避けるために必要 |
⚠️ Codexに任せすぎない方がよい領域
- ✅ 金融商品の売買判断
- ✅ データ提供元の利用規約判断
- ✅ ライセンスの法的解釈
- ✅ 投資助言に見える文章生成
- ✅ 正確性が必要な数値の最終確認
これは、Codexでアプリを作ること自体を否定する話ではありません。むしろ、定型的にデータを取得し、グラフ化し、一覧表示するような作業は、アプリ化の効果が出やすい領域です。ただし、公開範囲や収益化を考える場合は、技術以外の確認が必要になります。
また、金融データには土日祝日の欠損、タイムゾーン、終値の扱い、指数とETFの違いなど、ドメイン知識が必要な部分があります。Codexに「いい感じに作って」と頼むだけでは、計算方法が意図と違うこともあります。仕様書に「欠損値は前営業日で補完する」など、具体的に書くとズレを減らせます。
「バイナリ ファイルはサポートされません」のような技術エラーを解消しても、アプリの中身が事業や業務に耐えるとは限りません。特に金融・医療・法律などの領域では、Codexを使う前に、どこまでをAIに任せ、どこから人間が確認するかを決めておくことが大切です。
SnowflakeのCOPYやSTAGEの考え方はファイル形式理解に役立つ

SnowflakeのCREATE STAGEやCOPY INTOのドキュメントは、Codexのエラーそのものを説明しているものではありません。ただし、ファイルを扱うシステムでは、ファイル形式・保存場所・読み込み方法・エンコード・圧縮形式などが明確に分かれていることを理解する助けになります。
Snowflakeでは、データファイルを内部ステージや外部ステージに置き、COPY INTOでテーブルに読み込みます。その際、CSV、JSON、AVRO、ORC、PARQUET、XMLなど、ファイル形式を指定します。つまり、システムがファイルを正しく扱うには、「どこにあるか」だけでなく「何の形式か」も重要です。
Codexのバイナリエラーでも、同じように「ファイルが存在する」だけでは不十分です。CodexやGitHubが差分として扱える形式か、人間がレビューできるテキストか、不要な生成物ではないかを確認する必要があります。Snowflakeの資料はデータ基盤向けですが、ファイル形式を軽く見ないという意味で参考になります。
SnowflakeのCREATE STAGEでは、内部・外部ステージやCSV/JSON/PARQUETなどのファイル形式が整理されています。
https://docs.snowflake.com/ja/sql-reference/sql/create-stage
🗂 ファイル扱いで見るべき観点
| 観点 | Codex/GitHub | Snowflake |
|---|---|---|
| 保存場所 | リポジトリ・ブランチ | 内部/外部ステージ |
| ファイル形式 | テキスト/バイナリ | CSV/JSON/PARQUETなど |
| 読み込み方法 | 差分・PR | COPY INTO |
| 除外設定 | .gitignore | PATTERN/FILESなど |
| エラー要因 | バイナリ混入 | 形式不一致・認証・圧縮 |
🧾 Snowflakeから学べる整理の仕方
- ✅ ファイルの置き場所を決める
- ✅ ファイル形式を明示する
- ✅ 読み込む対象を絞る
- ✅ 不要なファイルを混ぜない
- ✅ エラー時は形式と場所を分けて確認する
SnowflakeのCOPY INTOでは、FILE_FORMATやPATTERN、FILESなどを指定して、読み込むファイルを制御できます。これはGitやCodexでいうと、.gitignoreやコミット対象の選別に近い考え方です。対象を絞れば、余計なファイルが処理に混ざるリスクを下げられます。
SnowflakeのCOPY INTOでは、ファイル形式、対象ファイル、パターン指定などが説明されています。
https://docs.snowflake.com/ja/sql-reference/sql/copy-into-table
もちろん、CodexでSnowflakeの設定を使うわけではありません。しかし、ファイルを扱うどのシステムでも、形式の明示と対象範囲の整理は重要です。CodexでPRエラーが出る人は、コードそのものより「どのファイルをAIとGitHubに渡しているか」を見直すと解決に近づくことがあります。
この視点を持つと、エラー対応が少し楽になります。「Codexが悪い」「GitHubが悪い」と大きく捉えるのではなく、「処理対象に不適切なファイルが混ざったのではないか」と考えられるからです。これは、プログラミングに慣れていない人でも使える切り分け方です。
Qt WebEngineのコーデック情報から対応形式の限界を学べる

Qt WebEngineのドキュメントでは、MP4やH.264、MP3などのコーデック対応について説明されています。特に、独自コーデックを有効にしないと一部のメディア形式がサポートされない場合があることが示されています。これはCodexとは別分野ですが、「ツールには対応できる形式とできない形式がある」という基本を理解するのに役立ちます。
Codexで「バイナリ ファイルはサポートされません」と出るのも、ある意味では対応形式の限界です。Codexはコードやテキスト差分を扱うのが得意ですが、すべてのバイナリファイルを差分として理解・レビューできるわけではありません。画像や音声、コンパイル済みファイルなどは、人間にも差分が分かりにくいものです。
Qt WebEngineの資料では、コーデックやDRM、ハードウェアアクセラレーションなど、多くの機能が条件付きでサポートされることが説明されています。ここから分かるのは、「サポートされません」という表示は、必ずしも故障ではなく、設計上の制限や設定不足を表している場合があるということです。
Qt WebEngineの資料では、MP4やH.264など一部形式がコーデック設定に依存すると説明されています。
https://doc.qt.io/qt-6/ja/qtwebengine-features.html
🎞 対応形式の考え方
| 分野 | サポートされない例 | 対応の方向 |
|---|---|---|
| Codex | バイナリ差分 | 対象から外す・テキスト化する |
| GitHub | 大きなバイナリ差分 | Git LFSなどを検討 |
| Qt WebEngine | コーデック未対応動画 | コーデック設定を確認 |
| Adobe Audition | 拡張子と中身のズレ | 正しい形式に変換 |
| Windows Media Player | コーデック不足 | 対応コーデックを用意 |
🧭 Codexでの実践に置き換えると
- ✅ コードや設定ファイルはテキストで管理する
- ✅ 画像などの素材は必要最小限にする
- ✅ キャッシュやビルド成果物は除外する
- ✅ 大きいファイルは別管理を検討する
- ✅ 差分レビューできる状態を保つ
バイナリファイルが必要なプロジェクトもあります。たとえば、Webサイトなら画像、動画アプリならサンプル動画、機械学習ならモデルファイルが必要になるかもしれません。ただし、それらをCodexの差分処理に含めるべきかは別問題です。必要なら別の保存方法や管理方法を検討する方がよい場合があります。
Codexは、テキストとして読めるコード、設定、ドキュメントの編集に向いています。一方で、バイナリファイルの中身を行単位で比較したり、意味のある差分としてレビューしたりするのは苦手な領域です。したがって、PRに含めるものは、できるだけテキスト中心にするのが扱いやすいです。
「サポートされません」と出たら、ツールに無理をさせるより、入力を整える方が早いことがあります。Qt WebEngineのコーデック対応と同じように、Codexにも得意なファイル形式と不得意なファイル形式があると考えると、対策の方向が見えやすくなります。
トラブル時は「ファイル・Git・連携」の3層で切り分けること

Codexで「バイナリ ファイルはサポートされません」が出たときは、闇雲にリポジトリを作り直したり、GitHub連携を切ったりする前に、ファイル・Git・連携の3層で順番に切り分けるのがおすすめです。原因がファイルにあるのに連携設定をいじると、余計に状況が分かりにくくなります。
1層目はファイルです。README.md、pycache、画像、音声、動画、ビルド成果物など、差分に含まれているファイルを確認します。特に「テキストに見えるけれど差分表示できないファイル」は要注意です。
2層目はGitです。.gitignoreがあるか、追跡済みの不要ファイルが残っていないか、PRに含める差分が適切かを見ます。ここで不要ファイルを除外できれば、CodexやGitHub側のエラーが消える可能性があります。
3層目は連携です。GitHubとの接続、権限、リポジトリ設定、Codex側の接続状態などを確認します。ここは最後に見る方が、原因を見失いにくいです。
🧪 3層切り分け表
| 層 | 確認するもの | 主な対応 |
|---|---|---|
| ファイル | README.md、pycache、画像など | 削除・差し替え・形式確認 |
| Git | .gitignore、追跡状態、差分 | 管理対象から外す |
| 連携 | GitHub接続、権限、リポジトリ | 再接続・設定確認 |
🛟 迷ったときの順番
- ✅ 差分に含まれるファイル一覧を見る
- ✅ README.mdを一時的に外して試す
- ✅ __pycache__や.pycを除外する
- ✅ .gitignoreと追跡状態を確認する
- ✅ PR作成を再試行する
- ✅ 直らなければGitHub連携を見直す
この順番のよいところは、影響が小さい作業から始められることです。README.mdの差し替えや__pycache__の除外は比較的狭い対応です。一方、GitHub連携の削除やリポジトリ再作成は影響が大きくなりやすいので、後回しにした方が安全です。
また、エラー対応中は、作業ログを簡単に残しておくと便利です。「README.mdを外したら通った」「__pycache__を除外しても直らなかった」「GitHub再接続後に通った」など、試したことを記録すれば、次に同じ問題が起きたときに迷いません。
Codexは強力ですが、AIに任せるほど、人間側がファイル管理の基本を押さえておく価値が高まります。特にPR作成やレビューでは、差分のきれいさが作業効率に直結します。エラーが出たときは、まず差分を小さくし、原因候補を1つずつ減らすのが堅実です。
総括:codex バイナリ ファイルはサポートされませんのまとめ

最後に記事のポイントをまとめます。
- 「codex バイナリ ファイルはサポートされません」は、差分内にバイナリ扱いされたファイルがあるときに起きる可能性がある。
- README.mdのようなテキストファイルでも、Git上でバイナリ扱いされる事例がある。
- Codex生成のREADME.mdが疑わしい場合は、削除して手動作成版に差し替える対応が有効な場合がある。
- Python開発では__pycache__や.pycが混ざりやすく、Git管理から外すのが基本である。
- .gitignoreは追加するだけでなく、すでに追跡済みの不要ファイルを外す確認が必要である。
- GitHub連携の切断・再接続は、ファイル側を整理した後の切り分け手段である。
- 拡張子がテキストに見えても、中身やツール側の判定で扱えない場合がある。
- codexのインストール方法を調べる段階でも、GitHubリポジトリと.gitignoreの準備が重要である。
- Codexには小分けの指示より、企画書としてまとめた依頼を渡す方が迷走を減らしやすい。
- 金融・市場データ系アプリでは、データライセンスや数値の正確性確認が必要である。
- SnowflakeのCOPYやSTAGEの考え方は、ファイル形式と読み込み対象を分けて考える参考になる。
- Qt WebEngineやメディア系ツールの例からも、対応形式には限界があることが分かる。
- トラブル時は「ファイル・Git・連携」の3層で順番に確認するのが実務的である。
- Codexに渡す差分は、コード・設定・ドキュメント中心に整理するのが安定運用の基本である。
- https://taisei.yokohama/codex-binary-file-not-supported-workaround
- https://note.com/sg_investech/n/n84e1a12d079d
- https://www.reddit.com/r/OpenAI/comments/1qavii6/codex_cli_for_pro_subscribers_throws_an/?tl=ja
- https://community.adobe.com/%E8%B3%AA%E5%95%8F-141/%E3%82%A8%E3%83%A9%E3%83%BC-%E3%81%93%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AFlibsndfile%E3%81%A7%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-355423
- https://www.reddit.com/r/OpenAI/comments/1nhust6/ama_with_the_codex_team/?tl=ja
- https://doc.qt.io/qt-6/ja/qtwebengine-features.html
- https://help.webex.com/ja-jp/article/n959q76
- https://docs.snowflake.com/ja/sql-reference/sql/create-stage
- https://support.microsoft.com/ja-jp/topic/windows-media-player-%E3%81%A7%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E7%A8%AE%E9%A1%9E-32d9998e-dc8f-af54-7ba1-e996f74375d9
- https://docs.snowflake.com/ja/sql-reference/sql/copy-into-table
各サイト運営者様へ
有益な情報をご公開いただき、誠にありがとうございます。
感謝の意を込め、このリンクはSEO効果がある形で設置させていただいております。
※リンクには nofollow 属性を付与しておりませんので、一定のSEO効果が見込まれるなど、サイト運営者様にとってもメリットとなれば幸いです。
当サイトは、インターネット上に散在する有益な情報を収集し、要約・編集してわかりやすくお届けすることを目的としたメディアです。
引用や参照の方法に不備、あるいはご不快に感じられる点がございましたら、お問い合わせフォームよりご連絡ください。
今後とも、どうぞよろしくお願いいたします。
