Claude Code のエラー

Image was too large

結論

添付した画像1枚が上限を超えた状態。写真が主因で、解像度を下げるのが効く。

確認した版 Claude Code v2.1.214
確認日 2026年8月21日
文言の照合 Claude Code v2.1.238
最終更新 2026年8月21日
根拠 一次情報で確認

エラー文字列

Claude Code
Image was too large

何が起きているか

添付した画像1枚が、単体で上限を超えています。

⚠️ リクエスト全体の上限(32MB)とは別の制限です。 「他に何も添付していないのに出た」なら、その1枚が大きすぎます。

何が容量を決めているか(実測)

⚠️ 「スクリーンショットは重い」という思い込みは、半分は誤りです。 実際に測ると、内容によって桁が変わります。

同じ寸法の画像を種類別に保存して比較した結果です。

画像の内容 寸法 PNG JPEG
ダークなコードエディタ 3840×2160 0.54 MB 1.45 MB
明るいUI(グラデーション+文字) 3840×2160 0.47 MB 0.58 MB
写真 1920×1080 2.52 MB 0.76 MB

UIやコードのスクリーンショットは、4K でも 0.5MB 程度にしかなりません。 PNG は「同じ色が続く領域」を強く圧縮するため、平坦な画面ほど小さくなります。

このエラーに当たるのは、次のどれかです。

状況 目安
写真を添付した スマートフォンの写真は 3〜8MB
写真や動画が写り込んだ画面 ブラウザで画像を開いた状態のスクリーンショットなど
良かれと思って JPEG に変換した ⚠️ スクリーンショットでは逆に大きくなります(下記)
極端に大きな寸法 縦長ページの全体キャプチャなど

直し方

1. まず解像度を下げる(最も効く)

画質を落とすより、解像度を下げるほうが効果が大きく、読み取り精度も落ちません。

コードやUIのスクリーンショットなら、横 1600px 程度で文字は十分読めます。

Windows(PowerShell・標準機能のみ。追加インストール不要)

Add-Type -AssemblyName System.Drawing
$in  = "C:\path\to\shot.png"
$out = "C:\path\to\shot-small.jpg"

$src = [System.Drawing.Image]::FromFile($in)
$w = 1600
$h = [int]($src.Height * $w / $src.Width)
$dst = New-Object System.Drawing.Bitmap($w, $h)
$g = [System.Drawing.Graphics]::FromImage($dst)
$g.InterpolationMode = 'HighQualityBicubic'
$g.DrawImage($src, 0, 0, $w, $h)
$dst.Save($out, [System.Drawing.Imaging.ImageFormat]::Jpeg)
$g.Dispose(); $dst.Dispose(); $src.Dispose()

"{0:N2} MB -> {1:N2} MB" -f ((Get-Item $in).Length/1MB), ((Get-Item $out).Length/1MB)

macOS(標準の sips。追加インストール不要)

sips -Z 1600 shot.png --out shot-small.jpg
ls -lh shot.png shot-small.jpg

Linux(ImageMagick)

convert shot.png -resize 1600x -quality 80 shot-small.jpg

2. 必要な範囲だけを撮る

そもそも全画面を渡す必要はほとんどありません。

OS 範囲指定のスクリーンショット
Windows Win + Shift + S(切り取り&スケッチ)
macOS Cmd + Shift + 4

範囲を絞ると、容量が減るだけでなく回答の精度も上がります。 見てほしい箇所が明確になるためです。

3. ⚠️ スクリーンショットを JPEG に変換しないこと

よく言われる「JPEG にすれば軽くなる」は、スクリーンショットには当てはまりません。 実測すると逆でした。

内容 PNG JPEG
ダークなコードエディタ 4K 0.54 MB 1.45 MB JPEG が 2.7倍
明るいUI 4K 0.47 MB 0.58 MB JPEG が 1.2倍
写真 FHD 2.52 MB 0.76 MB PNG が 3.3倍

理由は圧縮方式の違いです。 PNG は同じ色の連続を縮めるので、単色背景と文字でできた画面に強い。JPEG は滑らかな階調に強く、文字の輪郭のような急な変化はむしろ苦手です。

使い分けはこうなります。

渡すもの 形式
未加工のスクリーンショット PNG のまま。変換しない
縮小したスクリーンショット JPEG(理由は下記)
写真、写真を含む画面 JPEG
透過が必要な図 PNG

4. 縮小したあとは JPEG にする

⚠️ 縮小すると PNG の利点が消えます。 拡大縮小の処理で中間色が大量に生まれ、「同じ色の連続」が無くなるためです。

実測では、縮小したのに PNG のほうが元より大きくなりました。

状態 PNG JPEG
元(4K・ダークなエディタ) 0.54 MB 1.45 MB
1600px へ縮小 0.98 MB(← 元より増えた) 0.31 MB

縮小するなら JPEG で保存する。縮小しないなら PNG のまま。 手順1のスニペットが JPEG で保存しているのは、この理由によります。

5. そもそも画像で渡す必要があるか

渡したいもの より良い渡し方
エラーメッセージ 文字列をコピーして貼る。 画像より正確で軽い
コード ファイルとして渡すか、コードブロックで貼る
ターミナルの出力 テキストをコピーする
ログ ファイルに保存してパスを渡す
UIの見た目・レイアウト崩れ 画像が適切
図・グラフ 画像が適切

エラーメッセージのスクリーンショットは、この辞典の趣旨から言っても損です。 文字列で渡せば、そのまま検索もできます。

6. 大きさを事前に確認する

Windows(PowerShell)

Get-ChildItem "$env:USERPROFILE\Pictures\Screenshots" |
  Sort-Object Length -Descending |
  Select-Object -First 5 Name, @{n='MB';e={[math]::Round($_.Length/1MB,2)}}

macOS / Linux

ls -lhS ~/Desktop/*.png | head -5

7. 似たエラーとの区別

表示 対象
Image was too large 画像1枚
Unable to resize image 自動縮小に失敗。手動で縮小してから渡す
Request too large for the API's 32MB request limit リクエスト全体
PDF too large PDF 1件

再発防止

  • 範囲指定でスクリーンショットを撮る習慣をつける。 容量・精度・手間のすべてが改善します
  • エラー文言は画像ではなく文字列で渡す
  • ⚠️ スクリーンショットを「軽くするため」に JPEG へ変換しない。 実測では逆に重くなります。縮小した場合だけ JPEG にしてください
  • 高DPI環境では、見た目のサイズとピクセル数が一致しません。「小さく見えるのに重い」ことがあります
  • よく使う縮小コマンドを関数やスニペットにしておくと、毎回考えずに済みます

この手順で直りませんでしたか?

環境を添えて報告いただければ、追加の原因を検証してこのページに反映します。

エラーを報告する