【2026年8月時点】Gemini不具合:GitHubリポジトリ読み込み時のZIP解析エラーと検索ロックの原因・回避策
はじめに
Geminiの「コードをインポート」機能からGitHubリポジトリのURLを指定してコードを読み込ませようとした際、中身が正しく認識されずにエラーになったり、その後Web検索機能が一切使えなくなったりする現象に遭遇したことはないでしょうか?
日本のコミュニティではまだあまり言及されていませんが、海外の公式サポートフォーラムでは多くの開発者が直面している既知のバグです。
本記事では、公式フォーラムでの報告を基に、この不具合の内部的な原因と現状の回避策について整理します。
(※本記事の内容は2026年8月時点の仕様と不具合報告に基づいています)
バグの発生条件
以下の手順を踏んだ際に高確率で発生します。
- Geminiのメニューから「コードをインポート」を開き、GitHubリポジトリのURLを指定してコードを読み込ませる。
- そのチャット内で、読み込ませたコードに対して「Web検索を用いて最新情報を調べて」といった外部検索を伴う指示を出す。
本来であれば、コードを読み込んだ上で検索結果と照らし合わせて回答してくれるはずですが、コードの中身を正しく理解できず、その後「検索して」と指示してもシステム側で機能がロックされてしまいます。
システム側の原因
この現象はユーザーの操作ミスや単なる容量オーバーではなく、Gemini内部の**「ファイル解析パイプラインの欠陥」と「オーケストレーション(動作制御)バグ」**が複合して起きています。
1. ZIPファイルのバイナリ解釈エラー(データ取り込みの欠陥)
GeminiはURLからリポジトリを取得する際、バックグラウンドでリポジトリのZIPアーカイブをダウンロードします。
本来であればこれを環境内で解凍し、中身のテキストベースのソースコード(.py や .js など)を展開して読み込む必要があります。しかし、現在のパイプラインはこの解凍プロセスに失敗し、ZIPアーカイブ全体を「単一の巨大なバイナリファイル」として誤認してしまうケースが多発しています。
この挙動については、公式コミュニティで以下のように報告されています。
▼ 引用元
Direct GitHub ZIP downloads fail with binary data errorDirect ZIP uploads and GitHub
原文
The Problem: > When providing a GitHub repository URL or directly uploading a compressed archive (.zip folder) containing code, Gemini often fails to ingest the files, returning an error or warning that the file consists of unreadable "binary data."
Rather than treating the archive as a container and extracting the text-based source code files within it (e.g., .py, .json, .yaml), the ingestion pipeline appears to evaluate the .zip archive as a single, monolithic binary file. Because an LLM cannot natively parse raw compressed binary streams inline, the interaction fails.日本語訳
「問題:> GitHub リポジトリの URL を指定したり、コードを含む圧縮アーカイブ(.zip フォルダ)を直接アップロードしたりすると、Gemini がファイルの取り込みに失敗し、「読み取れないバイナリデータ」が含まれているというエラーや警告が表示されることがよくあります。
取り込みパイプラインは、アーカイブをコンテナとして扱い、その中のテキストベースのソースコードファイル(例:.py、.json、.yaml)を抽出するのではなく、.zipアーカイブを単一の巨大なバイナリファイルとして評価しているようです。LLMは圧縮された生のバイナリストリームをネイティブにインラインで解析できないため、処理が失敗します。」
2. 強制オフライン化バグ(検索機能のロック)
ZIPの読み込み失敗後、検索機能が使えなくなるのは、Geminiの動作を制御するオーケストレーション層のバグによるものです。
特定のデータ取得処理が行われた際、システムがバックグラウンドの指示に誤って**「検索機能へのアクセスを禁止するハード制約」を強制注入**してしまうことが確認されています。
▼ 引用元
Google restricts Gemini to use web-search tool
原文
I'm facing the same problem.Older tasks that involved searching prices in two websites then comparing them worked great some months ago but now Gemini, even on "Pro extended", just refuse to do it.
I'm a paid Pro use.
Here is gemini's own report about why it can't use search for me:
INCIDENT REPORT: Transient Tool Execution Failure
1. The Core Issue (Root Cause)
During a session requiring automated, real-time external data retrieval, the orchestration layer dynamically injected a restrictive "Hard Constraint" into the background system instructions. The exact directive injected was:
"Do NOT issue search queries to the google search tool for this prompt."
This system-level command forcefully overrode standard operational parameters, revoking the model's authorization to trigger external search APIs (e.g., google:search or equivalent tool calls) for that specific turn.2. Technical Execution Failure
- Expected Behavior: The LLM architecture is expected to autonomously parse queries requiring current external data, formulate the appropriate API tool calls, retrieve the live data, and synthesize the output within a single conversational turn.
- Actual Behavior: The injected negative constraint forced the LLM into an artificially "offline" state. Because the model's alignment strictly prioritizes system-level negative constraints over user intent, it bypassed the tool call execution sequence entirely. This resulted in an automated refusal to fetch data, breaking the programmatic pipeline and forcing a manual fallback.
日本語訳
「私も同じ問題に直面しています。数ヶ月前までは、2つのウェブサイトで価格を検索して比較するという古いタスクは問題なく動作していましたが、今ではGeminiが「Pro extended」プランであっても、その処理をまったく行ってくれません。
私は有料のProユーザーです。
以下は、私の環境で検索機能が利用できない理由について、Gemini側から報告された内容です:
インシデントレポート:一時的なツール実行エラー
核心となる問題(根本原因)
自動化されたリアルタイムの外部データ取得を必要とするセッション中、オーケストレーション層がバックグラウンドシステムの指示に、制限的な「ハード制約」を動的に挿入しました。挿入された具体的な指示は以下の通りです。
「このプロンプトに対して、Google検索ツールへの検索クエリを発行してはならない。」
このシステムレベルのコマンドは、標準的な運用パラメータを強制的に上書きし、その特定のターンにおいて、モデルが外部検索API(例:google:search または同等のツール呼び出し)を起動する権限を取り消しました。技術的な実行の失敗
- 期待される動作:LLMアーキテクチャは、最新の外部データを必要とするクエリを自律的に解析し、適切なAPIツール呼び出しを構築し、リアルタイムデータを取得し、1回の会話ターン内に出力を生成することが期待される。
- 実際の挙動:注入されたネガティブ制約により、LLMは人為的に「オフライン」状態に追い込まれた。モデルのアライメントは、ユーザーの意図よりもシステムレベルのネガティブ制約を厳格に優先するため、ツール呼び出しの実行シーケンスを完全にバイパスしてしまった。その結果、データ取得が自動的に拒否され、プログラムによるパイプラインが中断され、手動によるフォールバックを余儀なくされた。
この制約が一度注入されると、そのチャット内ではモデルの検索権限が完全に剥奪されます。ユーザー側から「検索して」と何度指示を出しても、システム制御が優先されるため検索が弾かれ続ける状態になります。
現状の回避策
一度検索ロックの制約が注入されたチャットセッションは、ユーザー側で解除・復旧することができません。そのため、現状は以下の回避策を取る必要があります。
1. 手元で解凍したフォルダをアップロードする(最も推奨)
「コードをインポート」からのURL指定や、ZIPファイルそのままのアップロードは避け、一度GitHubからZIPをダウンロードして手元で解凍し、その「フォルダ」をアップロードします。
この手順を踏むことで、Gemini側の欠陥である「自動ZIP解凍プロセス」をスキップでき、中のコードを個別のテキストファイルとして正常に認識させることができます。結果として、検索ロックのトリガーも高確率で回避可能です。
(※アップロードの際は、不要な画像ファイルやコンパイル済みのバイナリなどを除外しておくと、より安定して処理されます)
2. URLでのインポートを避ける(コピペや単体アップロード)
フォルダ単位でのアップロードが不要な場合は、レビューや修正を依頼したいコードの断片を直接プロンプトにコピー&ペーストするか、必要なソースコードファイル(.py や .js など)を単体でアップロードするようにしてください。
3. 新規チャットを立ち上げる
すでにバグが発生して検索ができなくなったチャットルームは、何度指示してもロックが解除されません。諦めて新しいチャットを開始し、セッションをリセットしてください。
4. Workspace連携の切り離しを試す
海外の報告によると、NotebookLMなど他のWorkspace連携機能がアクティブになっているチャットでこのブロックが誘発されやすいという指摘もあります。どうしても検索がブロックされる場合は、連携機能が動かないプレーンな状態の新規チャットで試してみてください。
まとめ
Geminiの「コードをインポート」機能からURLを指定した際の不具合は、現在のところシステム側の解析エラーと制御バグに起因しています。「自分のプロンプトが悪かったのか?」「容量オーバーか?」と悩む方も多いと思いますが、根本的なアップデートで修正されるまでは、コードの渡し方(解凍済みフォルダのアップロード等)を工夫して回避しましょう。