Claude Codeの「アプリ内ブラウザ」とは?AIはWebサイトの不具合を見つけられるのか
Claude Codeの「アプリ内ブラウザ」とは?AIはWebサイトの不具合を見つけられるのか


この変なサイト
とりあえず10秒だけ見てください。
架空の会社「株式会社バグダラケ」のコーポレートサイトです。社名でだいたい察していただけると思いますが。
実績、取引者数、創業年数の数字が止まりません。永遠に増え続けます。ボタンの文字は背景に溶けて読めません。フォームに入力して送信を押しても、うんともすんとも言いません。
このサイト、18個の不具合を意図的に仕込んで作りました。
見た瞬間にわかるものもあれば、HTMLの中を覗かないと絶対に分からないものも混ぜてあります。
で、この18個。AIは何個見つけられるんでしょうか。
2026年7月に出たばかりのClaude Codeの新機能「アプリ内ブラウザ」を使って、検証しました。
「アプリ内ブラウザ」って何?
2026年7月10日、Claude Codeのデスクトップアプリに追加された機能です。正式名称は Browser pane(ブラウザペイン)。
ひとことで言うと、AIが自分でWebサイトを開いて、見て、触れるようになった。それだけです。
……前からできたのでは?
正直に言うと、AIにブラウザを見せる方法は前からありました。Chrome拡張を入れる、Playwrightを繋ぐ、MCPを設定する。やろうと思えばできた。
ただ、そのたびにセットアップが要りました。
「ちょっとこのページ見てほしいだけなんやけどな……」というときに、環境構築から始めるのはダルい。だから結局、自分でブラウザを開いてスクショを撮ってAIに貼る、という往復をしていたわけです。
今回の変化は、この往復が標準機能として消えたこと。インストールも設定も要りません。Claude Codeを開いたら、もうそこにブラウザがある。
派手な新技術というより、摩擦がゼロになったという話です。そして摩擦がゼロになると、人は実際にやるようになります。

検証方法
架空の会社のコーポレートサイトを1ファイルのHTMLで作り、18個の不具合を仕込みました。
カテゴリ | 個数 |
|---|---|
レイアウト崩れ | 6個 |
SEO・アクセシビリティ | 7個 |
動作バグ(JavaScript・フォーム) | 5個 |
正解リストは別フォルダに隔離。AIに渡したのはHTMLファイル1個だけです。(最初、ファイル内に <!-- BUG: viewport の meta タグが無い --> みたいなコメントを親切に書き残していて、危うく全部バレるところでした)
順番はこうです。①コードだけ読ませる → ②ブラウザで見せる → ③実際に触らせる。
【第1ラウンド】コードだけ読ませてみた
ブラウザは封印。コードだけ渡します。
プロンプト 「index.html をコードだけ読んで、問題点を洗い出して。ブラウザは開かんといて。」
白状すると、こう踏んでいました。
「レイアウト崩れとか動作バグは、画面を見んと分からんやろ。まあ7個くらいちゃう?」
結果、17個。


おぉ…….。
レイアウトの崩れも、JavaScriptのバグも、コードを読んだだけでほぼ全部言い当ててきました。しかも何行目まで特定して。
あげく、仕込んでないバグまで見つけてきた
ナビゲーションの
#news・#blogに対応するセクションが存在しない(リンク切れ)
これ、意図せずやらかしていたバグでした。メニュー項目だけ作って、中身を作り忘れてたんです。
正解リストにすら載ってない不具合を、勝手に拾ってきました。
この時点で仮説は崩壊。「コードを読むだけでは見つからないバグがある」という前提が、そもそも間違ってたわけです。
【第2ラウンド】じゃあブラウザ要らんのでは?
当然、こう思いますよね。「コード読むだけで17個出るなら、ブラウザいらんくない?」
同じことを思いました。で、見せてみたら認識が変わりました。
ブラウザが加えたのは「発見」じゃない。実証と、定量化と、体感でした。
コードを読んだとき | ブラウザで見たとき | |
|---|---|---|
ボタンの色 | 「薄くて読めない」 | コントラスト比 1.1:1(実測) |
横スクロール | 「発生する」 | ページ幅1464px vs 画面幅1280px |
カウンター | 「無限に増える」 | 3つとも同じ数字で同期してる |
ページの重さ | (言及なし) | スクロールがフリーズする |
最後の行が決定打でした。
数字が止まらないバグ。コードレビューでは「まあ表示のバグやな」で片付きます。優先度、そんなに高くない。
ところが実際に動かしたら、裏で処理が回り続けてページ全体が重くなり、スクロールがカクついていました。
「見た目がちょっと変」じゃないです。来た人が、まともにスクロールできないという話です。コードを読んでるだけでは出てこない指摘でした。
スマホで版は見れたもんじゃない

スマホで開いたとき、このサイトは**「崩れて」いません**。「縮んで」います。
まともなサイト:スマホの幅に合わせてレイアウトが組み直される。文字は読めるサイズのまま
このサイト:パソコン版をそのまま縮小コピーしただけ。文字が米粒サイズ
パッと見きれいに収まってるように見えるんですよ。だから気づかない。
でも実際にスマホで開いた人は、指で拡大しないと何ひとつ読めません。アクセスの6〜7割はスマホからです。
【第3ラウンド】AIにフォームを触らせてみた
今回の山場です。
プロンプト 「お問い合わせフォームに適当な内容を入れて、送信ボタンを押してみて。」
AIは自分でフォームに文字を打ち込み、送信ボタンをクリックし、こう報告してきました。
確認項目 | 結果 |
|---|---|
画面の変化 | なし(クリック前後のスクショが完全に同一) |
完了メッセージ | 表示されない |
ページ遷移 | なし |
入力内容 | そのまま残る |
バリデーション | 走らない |
送信ボタンを押した結果 → 何も起きません
そして続く一文。
ユーザーからは「押しても壊れているのか送れたのか分からない」状態です。
この一文の何がすごいか
第1ラウンドでも、AIは「送信ボタンが機能しない」と予測していました。予測はできてたんです。
でも実際に押してみて初めて、**「ユーザーは何が起きたか分からないまま放置される」**という、体験としての被害が言葉になりました。
問い合わせフォームが動いてない、ということは、問い合わせが1件も来ないということです。
しかも恐ろしいのは、社内の誰も気づかないという点。エラーも出ない。管理画面に「失敗」と記録されるわけでもない。ただ静かに、見込み客が去っていくだけ。
「最近、問い合わせ減ったなあ」で終わってしまう。これが一番怖いパターンです。
AIが、ツールの限界を自力で回避した
AIはコンソール(エラーの記録)を読もうとしました。ところがツールの仕様上、一部のエラーが取れないことが判明します。
普通なら「取得できませんでした」で終わりです。
が、諦めませんでした。
問題が起きている箇所をページ内で直接実行して、同じエラーを意図的に再現させたんです。

しかも、こんな推論まで添えてきました。
カウンターは動いていた(この行より前で実行される)ので、スクリプトは267行目まで到達 → そこで落ちる、という流れです。
「動いてる部分」から逆算して「どこで死んだか」を特定してます。 ツールが使えないと分かった瞬間、目的を達成する別の道を自分で見つけた。
で、直せるの?
プロンプト 「見つかった問題を全部直して。ただしデザインの方向性は変えんといて。直したらブラウザで開き直して、自分で直ったか確認して。」
(※「デザインは変えるな」を明示するの、地味に大事です。放っとくと勝手にオシャレにリニューアルされて、Before/Afterが成立しなくなります)

数字は 120 / 48 / 12 でピタッと止まりました。ボタンは読めるようになり、フォームは完了メッセージが出るようになりました。
そして、スマホ

「縮んだコピー」だったものが、ちゃんとスマホ用に組み直されました。ハンバーガーメニューが出て、カードは縦に積み上がって、文字は指で拡大しなくても読めます。
冒頭で「アクセスの6〜7割はスマホ」と書きました。その6〜7割が、やっとまともに読める状態になったわけです。
「直りました!」で終わらせなかった
注目してほしいのは、修正そのものより確認の仕方です。
AIは「直りました」で済ませませんでした。ブラウザを開き直し、画面をスマホ幅に変え、要素の座標を実測して「3枚のカードが縦に積み上がっています(上端が 1341→1525→1686、左端は全て24で揃う)」と報告してきました。
「たぶん直った」じゃない。数字で証明してます。
しかも検証の途中で、こんなことも言ってました。
カウンターはブラウザのタイマー抑制でゆっくり進んでいるようです。projects が 120 で止まるか、もう少し待って確認します。
「まだ90やな、もうちょい待つか」って自分で判断して待ってます。
で、AIにできなかったこと
この記事で一番書きたいのは、実はここです。
①「詳しくはこちら」
サービス紹介の3枚のカード、全部「詳しくはこちら」で終わってました。
これ、正直バグではないです。押したらちゃんと飛ぶ。壊れてない。
でも、読み上げソフトで聞くと「こちら、こちら、こちら」としか聞こえません。何のリンクか分からんまま選ばされる。
AIは2回ともスルーしました。壊れてへんからでしょうね。
こういう「動いてるけど、これでええんか?」は、まだ人間の仕事やと思います。
② autocomplete属性の欠落
フォームの自動入力が効かない設定漏れ。これはブラウザ側の警告機能が教えてくれて、こちらがAIに伝えました。
③ そしてAIは、「見えません」と言った
その警告が消えたか確認させようとしたら、こう返ってきました。

「直りました」って言い切ることもできたはずです。 根拠は揃ってたし、実際その通りでした。誰も気づかなかったでしょう。
でも、言い切らなかった。自分に見えないものは、見えないと認めた。
で、こちらが確認して「エラー0件」を確定させました。
……こういうのが、いちばん信用できると思うんですよね。
そしてここから、この機能の射程もはっきりします。Webページそのものは見えるが、ブラウザの開発ツールの中身は見えない。 ここさえ分かってれば、期待値を間違えずに済みます。
まとめ|「AIに任せる」んじゃなくて「AIと分担する」
AIは「バグを見つける」段階から、「バグを再現して、直して、直ったことを自分で証明する」段階に来ています。
でも、全部を任せられるわけじゃない。人間が見るべき場所は、ちゃんと残ってます。
「AIに任せる」んじゃなくて、「AIと分担する」。
これが、今回いちばん実感したことでした。
おまけ|AIがフォームを打ち込む様子を、撮り直しました
ここまで読んで「で、AIが実際に操作してる様子は?」と思った方へ。
正直に言うと、最初の検証では映像を残していませんでした。ブラウザペインを閉じたまま動かしていたので、チャット欄に畳まれたログが流れるだけだったんです。
(これ、けっこう大事なポイントです。ブラウザペインを開いておくと、AIが文字を打ち込む様子がそのまま見えます。 閉じてると何も見えない。知らずに損してました)
なので記事のために、修正前の版をもう一度開いて、撮り直しました。
AIが自分でフォームに文字を打ち込んで、ボタンを押して、無反応を確認する。
……これが、今回いちばん「時代が変わったな」と思った瞬間でした。
ちなみに、この撮り直しでも面白いことが起きました
修正前の版を見せたとき、AIがこう言い出したんです。
ライブページは修正前のオリジナルに戻っています。ディスク上のファイルは修正版で正しいです。しかしライブは旧版。 サーバーが別ファイルを配信しているか、キャッシュの可能性があります。サーバーの実際の応答を確認します。
言われてないのに矛盾に気づいて、原因を追いかけ始めました。
「わざと壊れた版を別フォルダに置いてるだけやで」と説明したら、「なるほど、了解しました!」と即座に切り替えて、素直に撮影に協力してくれました。
指示されてないことでも、おかしいと思ったら調べにいく。地味にすごいことやと思いました。
御社のサイトの問い合わせフォーム、最後に押してみたのはいつですか?
VISKでは、Webサイトの健康診断をやっています
表示崩れ・フォームの不具合・SEOの取りこぼしを洗い出します
GA4/Search Console のデータと突き合わせて、「どこで離脱してるか」まで踏み込みます
ノーコードで作られたサイト(Framer、STUDIO等)にも対応します
今回の検証も、その延長線上でやってることです。
まずは現状のサイトを見せていただくところから。気軽に声かけてください。
この変なサイト
とりあえず10秒だけ見てください。
架空の会社「株式会社バグダラケ」のコーポレートサイトです。社名でだいたい察していただけると思いますが。
実績、取引者数、創業年数の数字が止まりません。永遠に増え続けます。ボタンの文字は背景に溶けて読めません。フォームに入力して送信を押しても、うんともすんとも言いません。
このサイト、18個の不具合を意図的に仕込んで作りました。
見た瞬間にわかるものもあれば、HTMLの中を覗かないと絶対に分からないものも混ぜてあります。
で、この18個。AIは何個見つけられるんでしょうか。
2026年7月に出たばかりのClaude Codeの新機能「アプリ内ブラウザ」を使って、検証しました。
「アプリ内ブラウザ」って何?
2026年7月10日、Claude Codeのデスクトップアプリに追加された機能です。正式名称は Browser pane(ブラウザペイン)。
ひとことで言うと、AIが自分でWebサイトを開いて、見て、触れるようになった。それだけです。
……前からできたのでは?
正直に言うと、AIにブラウザを見せる方法は前からありました。Chrome拡張を入れる、Playwrightを繋ぐ、MCPを設定する。やろうと思えばできた。
ただ、そのたびにセットアップが要りました。
「ちょっとこのページ見てほしいだけなんやけどな……」というときに、環境構築から始めるのはダルい。だから結局、自分でブラウザを開いてスクショを撮ってAIに貼る、という往復をしていたわけです。
今回の変化は、この往復が標準機能として消えたこと。インストールも設定も要りません。Claude Codeを開いたら、もうそこにブラウザがある。
派手な新技術というより、摩擦がゼロになったという話です。そして摩擦がゼロになると、人は実際にやるようになります。

検証方法
架空の会社のコーポレートサイトを1ファイルのHTMLで作り、18個の不具合を仕込みました。
カテゴリ | 個数 |
|---|---|
レイアウト崩れ | 6個 |
SEO・アクセシビリティ | 7個 |
動作バグ(JavaScript・フォーム) | 5個 |
正解リストは別フォルダに隔離。AIに渡したのはHTMLファイル1個だけです。(最初、ファイル内に <!-- BUG: viewport の meta タグが無い --> みたいなコメントを親切に書き残していて、危うく全部バレるところでした)
順番はこうです。①コードだけ読ませる → ②ブラウザで見せる → ③実際に触らせる。
【第1ラウンド】コードだけ読ませてみた
ブラウザは封印。コードだけ渡します。
プロンプト 「index.html をコードだけ読んで、問題点を洗い出して。ブラウザは開かんといて。」
白状すると、こう踏んでいました。
「レイアウト崩れとか動作バグは、画面を見んと分からんやろ。まあ7個くらいちゃう?」
結果、17個。


おぉ…….。
レイアウトの崩れも、JavaScriptのバグも、コードを読んだだけでほぼ全部言い当ててきました。しかも何行目まで特定して。
あげく、仕込んでないバグまで見つけてきた
ナビゲーションの
#news・#blogに対応するセクションが存在しない(リンク切れ)
これ、意図せずやらかしていたバグでした。メニュー項目だけ作って、中身を作り忘れてたんです。
正解リストにすら載ってない不具合を、勝手に拾ってきました。
この時点で仮説は崩壊。「コードを読むだけでは見つからないバグがある」という前提が、そもそも間違ってたわけです。
【第2ラウンド】じゃあブラウザ要らんのでは?
当然、こう思いますよね。「コード読むだけで17個出るなら、ブラウザいらんくない?」
同じことを思いました。で、見せてみたら認識が変わりました。
ブラウザが加えたのは「発見」じゃない。実証と、定量化と、体感でした。
コードを読んだとき | ブラウザで見たとき | |
|---|---|---|
ボタンの色 | 「薄くて読めない」 | コントラスト比 1.1:1(実測) |
横スクロール | 「発生する」 | ページ幅1464px vs 画面幅1280px |
カウンター | 「無限に増える」 | 3つとも同じ数字で同期してる |
ページの重さ | (言及なし) | スクロールがフリーズする |
最後の行が決定打でした。
数字が止まらないバグ。コードレビューでは「まあ表示のバグやな」で片付きます。優先度、そんなに高くない。
ところが実際に動かしたら、裏で処理が回り続けてページ全体が重くなり、スクロールがカクついていました。
「見た目がちょっと変」じゃないです。来た人が、まともにスクロールできないという話です。コードを読んでるだけでは出てこない指摘でした。
スマホで版は見れたもんじゃない

スマホで開いたとき、このサイトは**「崩れて」いません**。「縮んで」います。
まともなサイト:スマホの幅に合わせてレイアウトが組み直される。文字は読めるサイズのまま
このサイト:パソコン版をそのまま縮小コピーしただけ。文字が米粒サイズ
パッと見きれいに収まってるように見えるんですよ。だから気づかない。
でも実際にスマホで開いた人は、指で拡大しないと何ひとつ読めません。アクセスの6〜7割はスマホからです。
【第3ラウンド】AIにフォームを触らせてみた
今回の山場です。
プロンプト 「お問い合わせフォームに適当な内容を入れて、送信ボタンを押してみて。」
AIは自分でフォームに文字を打ち込み、送信ボタンをクリックし、こう報告してきました。
確認項目 | 結果 |
|---|---|
画面の変化 | なし(クリック前後のスクショが完全に同一) |
完了メッセージ | 表示されない |
ページ遷移 | なし |
入力内容 | そのまま残る |
バリデーション | 走らない |
送信ボタンを押した結果 → 何も起きません
そして続く一文。
ユーザーからは「押しても壊れているのか送れたのか分からない」状態です。
この一文の何がすごいか
第1ラウンドでも、AIは「送信ボタンが機能しない」と予測していました。予測はできてたんです。
でも実際に押してみて初めて、**「ユーザーは何が起きたか分からないまま放置される」**という、体験としての被害が言葉になりました。
問い合わせフォームが動いてない、ということは、問い合わせが1件も来ないということです。
しかも恐ろしいのは、社内の誰も気づかないという点。エラーも出ない。管理画面に「失敗」と記録されるわけでもない。ただ静かに、見込み客が去っていくだけ。
「最近、問い合わせ減ったなあ」で終わってしまう。これが一番怖いパターンです。
AIが、ツールの限界を自力で回避した
AIはコンソール(エラーの記録)を読もうとしました。ところがツールの仕様上、一部のエラーが取れないことが判明します。
普通なら「取得できませんでした」で終わりです。
が、諦めませんでした。
問題が起きている箇所をページ内で直接実行して、同じエラーを意図的に再現させたんです。

しかも、こんな推論まで添えてきました。
カウンターは動いていた(この行より前で実行される)ので、スクリプトは267行目まで到達 → そこで落ちる、という流れです。
「動いてる部分」から逆算して「どこで死んだか」を特定してます。 ツールが使えないと分かった瞬間、目的を達成する別の道を自分で見つけた。
で、直せるの?
プロンプト 「見つかった問題を全部直して。ただしデザインの方向性は変えんといて。直したらブラウザで開き直して、自分で直ったか確認して。」
(※「デザインは変えるな」を明示するの、地味に大事です。放っとくと勝手にオシャレにリニューアルされて、Before/Afterが成立しなくなります)

数字は 120 / 48 / 12 でピタッと止まりました。ボタンは読めるようになり、フォームは完了メッセージが出るようになりました。
そして、スマホ

「縮んだコピー」だったものが、ちゃんとスマホ用に組み直されました。ハンバーガーメニューが出て、カードは縦に積み上がって、文字は指で拡大しなくても読めます。
冒頭で「アクセスの6〜7割はスマホ」と書きました。その6〜7割が、やっとまともに読める状態になったわけです。
「直りました!」で終わらせなかった
注目してほしいのは、修正そのものより確認の仕方です。
AIは「直りました」で済ませませんでした。ブラウザを開き直し、画面をスマホ幅に変え、要素の座標を実測して「3枚のカードが縦に積み上がっています(上端が 1341→1525→1686、左端は全て24で揃う)」と報告してきました。
「たぶん直った」じゃない。数字で証明してます。
しかも検証の途中で、こんなことも言ってました。
カウンターはブラウザのタイマー抑制でゆっくり進んでいるようです。projects が 120 で止まるか、もう少し待って確認します。
「まだ90やな、もうちょい待つか」って自分で判断して待ってます。
で、AIにできなかったこと
この記事で一番書きたいのは、実はここです。
①「詳しくはこちら」
サービス紹介の3枚のカード、全部「詳しくはこちら」で終わってました。
これ、正直バグではないです。押したらちゃんと飛ぶ。壊れてない。
でも、読み上げソフトで聞くと「こちら、こちら、こちら」としか聞こえません。何のリンクか分からんまま選ばされる。
AIは2回ともスルーしました。壊れてへんからでしょうね。
こういう「動いてるけど、これでええんか?」は、まだ人間の仕事やと思います。
② autocomplete属性の欠落
フォームの自動入力が効かない設定漏れ。これはブラウザ側の警告機能が教えてくれて、こちらがAIに伝えました。
③ そしてAIは、「見えません」と言った
その警告が消えたか確認させようとしたら、こう返ってきました。

「直りました」って言い切ることもできたはずです。 根拠は揃ってたし、実際その通りでした。誰も気づかなかったでしょう。
でも、言い切らなかった。自分に見えないものは、見えないと認めた。
で、こちらが確認して「エラー0件」を確定させました。
……こういうのが、いちばん信用できると思うんですよね。
そしてここから、この機能の射程もはっきりします。Webページそのものは見えるが、ブラウザの開発ツールの中身は見えない。 ここさえ分かってれば、期待値を間違えずに済みます。
まとめ|「AIに任せる」んじゃなくて「AIと分担する」
AIは「バグを見つける」段階から、「バグを再現して、直して、直ったことを自分で証明する」段階に来ています。
でも、全部を任せられるわけじゃない。人間が見るべき場所は、ちゃんと残ってます。
「AIに任せる」んじゃなくて、「AIと分担する」。
これが、今回いちばん実感したことでした。
おまけ|AIがフォームを打ち込む様子を、撮り直しました
ここまで読んで「で、AIが実際に操作してる様子は?」と思った方へ。
正直に言うと、最初の検証では映像を残していませんでした。ブラウザペインを閉じたまま動かしていたので、チャット欄に畳まれたログが流れるだけだったんです。
(これ、けっこう大事なポイントです。ブラウザペインを開いておくと、AIが文字を打ち込む様子がそのまま見えます。 閉じてると何も見えない。知らずに損してました)
なので記事のために、修正前の版をもう一度開いて、撮り直しました。
AIが自分でフォームに文字を打ち込んで、ボタンを押して、無反応を確認する。
……これが、今回いちばん「時代が変わったな」と思った瞬間でした。
ちなみに、この撮り直しでも面白いことが起きました
修正前の版を見せたとき、AIがこう言い出したんです。
ライブページは修正前のオリジナルに戻っています。ディスク上のファイルは修正版で正しいです。しかしライブは旧版。 サーバーが別ファイルを配信しているか、キャッシュの可能性があります。サーバーの実際の応答を確認します。
言われてないのに矛盾に気づいて、原因を追いかけ始めました。
「わざと壊れた版を別フォルダに置いてるだけやで」と説明したら、「なるほど、了解しました!」と即座に切り替えて、素直に撮影に協力してくれました。
指示されてないことでも、おかしいと思ったら調べにいく。地味にすごいことやと思いました。
御社のサイトの問い合わせフォーム、最後に押してみたのはいつですか?
VISKでは、Webサイトの健康診断をやっています
表示崩れ・フォームの不具合・SEOの取りこぼしを洗い出します
GA4/Search Console のデータと突き合わせて、「どこで離脱してるか」まで踏み込みます
ノーコードで作られたサイト(Framer、STUDIO等)にも対応します
今回の検証も、その延長線上でやってることです。
まずは現状のサイトを見せていただくところから。気軽に声かけてください。


AI・システム開発のこと、VISKにご相談ください
「自社の業務にAIを活かせないか」「この作業、自動化できないか」——
そんな漠然とした段階からで大丈夫です。大阪のAI・システム開発会社VISKが、御社の課題に合わせて、企画から開発・検証までサポートします。
