Claude DesktopとCoworkが重いときの原因と対処法
Claude Desktop・Coworkが重い原因の多くはCoworkの隔離VMです。タブ別の負荷の出どころと、症状からの切り分け・対処の手順をまとめました。
Claude Desktopが重い、ファンが回りっぱなしになる、といった症状の多くは、Coworkが使う隔離VM(仮想マシン)が関わっています。タブごとに負荷の出どころが違うので、どこが重いのかを先に切り分けると対処が早く決まります。
本記事はDesktopアプリ全体が重いときの症状別の切り分けを扱います。VMバンドルのディスク容量が膨らむ仕組みと削除の判断は、Claude CoworkのVMバンドルが重くなる原因と対処法にまとまっています。
「重い」と「遅い」は別の症状
「遅い」はClaudeの応答生成に時間がかかる症状で、モデルの選択や指示の複雑さが主な要因です。「重い」は、ファンが高速回転する・アプリの切り替えがもたつく・パソコン全体が固まるといった、CPUやメモリ、ディスクの消費そのものが原因の症状です。
本記事が扱うのは後者です。応答が遅いだけで動作自体は軽い場合は、モデルや指示内容の見直しが対処になります。
Coworkだけ構造が違う理由
Claude DesktopにはChat・Cowork・Codeの3タブがあります。Chatは会話用、CodeはClaude Codeで開発するためのタブです。なお、Pro・MaxプランではChatとCoworkの統合が順次進んでいて、Team・Enterpriseは従来の構成のままです。Coworkは、隔離VMを使うローカル実行と、Anthropicのサーバーで動くクラウド実行という2つの方式を持ちます。
Coworkの2つの実行方式
ローカル実行
エージェントの会話処理とファイルの読み書きはデバイス上でそのまま動き、シェルコマンドとコードの実行だけがホストOSから隔離された専用のLinux VMに入ります。VMを動かすのはmacOSがApple Virtualization.framework、WindowsがHyper-Vです。既存のデスクトップ展開向けに残された方式です。
クラウド実行
エージェントの会話処理もコード実行も、Anthropicのサーバー上の一時サンドボックスで動きます。ローカルのファイルやブラウザーが必要になったときだけ、Claude Desktopアプリ経由で接続済みフォルダーにアクセスします。
パソコンにVMのディスクイメージが置かれるのはローカル実行の側です。クラウド実行のセッションでは、パソコン側にVMは立ちません。
実機で見たVMバンドル:10GBのrootfs.img
macOSでCoworkのVMがどこにどれだけ居るかは、次のコマンドで確認できます。ここではClaude Desktopを普段使いしているMacで実行しました(パスはClaude Desktopの標準の保存場所です)。
du -sh ~/Library/Application\ Support/Claude/vm_bundles
ls -lh ~/Library/Application\ Support/Claude/vm_bundles/claudevm.bundle出力は次のとおりでした。
手元のMacでのClaude Desktopのディスク使用量
rootfs.img(VMのディスクイメージ)
10GB
Application Support/Claude全体
12GB
sessiondata.img(セッションデータ)
29MB
この数字は1台のMacの実測で、他の環境で同じ値になる保証はありません。ただ、次に見るGitHub issueの報告と桁が一致しています。
GitHub issue #22543の報告
anthropics/claude-codeリポジトリのissue #22543は、この10GBのVMバンドルをめぐる報告です。2026年2月に登録され、bug・high-priority・oncall・performance・area:desktopのラベルが付いています。issueを立てた人の環境はmacOS・システムRAM 8GBで、Cowork利用後にアイドル時のCPU使用率が24〜55%まで上がり、スワップも増えたと書かれています。
見落としやすいのは、VMバンドルを消しても劣化が止まらないという点です。報告者がvm_bundlesとキャッシュを削除すると、11GBあった領域が639MBになり、以前失敗していた作業が完了するようになったといいます。一方で「削除後も数分の使用でCPU使用率が上がる」とも書かれていて、報告者自身はVM以外のメモリリークまたは蓄積処理の可能性に触れています。削除の効果は一時的で、定期的な再起動が必要だったそうです。
コメント欄には、次のような報告が続いています。いずれも投稿者本人の環境の話で、公式の確認を経たものではありません。
- Windowsでも
%AppData%\Roaming\Claude\vm_bundles\claudevm.bundle\rootfs.vhdxという同種のファイルがある - サイズが21GBを超えた、14〜25GBに達したという投稿がある
- Coworkを一度も使っていないのに、VMバンドルが作られたという投稿がある
- Coworkを無効にする設定を入れてから削除したところ、1時間後もVM領域は再作成されなかったという投稿がある(キャッシュは戻った)
- 無効化の設定キーは
secureVmFeaturesEnabledという報告がある。WindowsはレジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Claudeにdword:00000000、macOSはclaude_desktop_config.jsonのpreferencesにfalseを入れる形です。ただし、Desktop内のClaude CodeやCowork機能まで動かなくなったという副作用の報告もあります
症状から原因を切り分ける
上から進めて、重さが消えた段階で止めて構いません。
重さの切り分け手順
- 1
どのタブで重いかを見る
Chat・Cowork・Codeのうち、重くなる操作をしているタブを特定します。Coworkのタブを開いたときやCoworkのセッションを動かしているときだけ重いなら、隔離VMが疑わしい状況です。
- 2
OSの画面でプロセスを見る
Macでは「アクティビティモニタ」のCPUタブとメモリタブ、Windowsでは
Ctrl+Shift+Escで開くタスクマネージャーの詳細タブで、Claude関連のプロセスをCPU順・メモリ順に並べます。アプリ本体が重いのか、別のプロセスなのかが分かります。issueのコメントには、上位に「Virtual Machine Service for Claude」というプロセスが出ていたという報告があります。Coworkを無効にしても、VMがメモリを使い続けているという投稿もあります。Coworkを使っていなくても、VM側のプロセスが出ていないかを先に見ておくと安全です。同じコメント欄には、Desktop拡張(MCPB)がNodeの子プロセスを1つずつ起動し、14個のヘルパーのうち7個が拡張由来だったという報告もあります。拡張を減らすとヘルパーの数が減ります。いずれも投稿者本人の環境の報告です。
- 3
VMバンドルの大きさを測る
前節の
duコマンドでvm_bundlesのサイズを見ます。数GB〜十数GBあれば、ローカル実行のVMがこのMacに置かれているということです。ディスクの圧迫はこれで説明できますが、CPUやメモリの重さはこのサイズでは判断できません。そちらは前のステップのプロセス確認で見ます。 - 4
Cowork以外が原因ならCLI側を疑う
プロセス一覧にVM側のプロセスが見当たらず、Coworkをクラウド実行にしても重い場合は、Codeタブが使うClaude Codeのエンジン側を疑います。手順は次の節に続きます。
ローカル実行が重いときの選択肢
原因がローカルのVMだと分かったとき、選べる道は大きく3つあります。それぞれ副作用が違います。
ローカル実行が重いときの3つの道
クラウド実行で動かす
VMがパソコンに立たなくなります。ただしローカルのフォルダーが必要な作業はDesktopアプリ経由になり、アプリがオンラインである必要があります。Team・Enterpriseでは、組織側の設定でクラウド実行を許可していない場合があります。
VMバンドルを削除する
issue #22543の報告では、削除で一時的に軽くなります。ただしコミュニティの報告どおり再作成される場合があり、公式に推奨された手順ではありません。コメント欄には、
rmではなくアプリ内の「Developer > Troubleshooting > Delete VM Bundle and Restart」で消して性能が戻ったという報告があります。約2GBの.zstシードは残り、1分以内に新しいrootfsへ展開されたそうです。Web・モバイル版で使う
Coworkはデスクトップアプリだけでなく、Web版・モバイル版でも使えます(Pro・Max・Team、Enterpriseは所有者が有効にした場合のベータ提供)。パソコンにVMを置かずに済みます。
クラウド実行の副作用として、ローカルのMCPサーバーはクラウドのセッションでは動きません。ローカルのMCPに頼る作業は、ローカル実行のほうが向きます。一方、VMが起動できない状態でも、ローカル実行のCoworkはファイルとWebのツールを動かし続けます。止まるのはシェルコマンドとコード実行で、その場合は「workspace unavailable」と表示されます。この症状はCoworkで「workspace unavailable」と出たときの対処法で扱っています。
いまのセッションがクラウドかローカルかは、Coworkがクラウド実行かローカル実行か見分ける方法で手がかりを確認できます。TeamとEnterpriseでは、Organization settings > Coworkの「Run Cowork in the cloud」トグルで、組織のオーナーがクラウド実行を許可します。Teamは既定でオン、Enterpriseは既定でオフです。Enterpriseはさらに、カスタムロールでグループへ権限を付ける必要があります。Coworkの有効化とは別のトグルなので、詳細はCoworkの有効化とクラウド実行は別トグルにあります。3つの利用形態の違いはCoworkのウェブとモバイル対応で比較しています。
Linuxでは前提条件が別にあります。CoworkはQEMUとUEFIファームウェア、KVMによるハードウェア仮想化の上で動き、揃っていないとタブに要件エラーが出ます。「Cowork requires QEMU」や「Cowork requires hardware virtualization (KVM)」と出たら、重い以前に起動要件の不足です。/dev/kvmに加えて/dev/vhost-vsockにもアクセスできる必要があります。/dev/kvmはグループに入らなくても使える環境がありますが、/dev/vhost-vsockはkvmグループのメンバーしか開けません。/dev/kvmが使えていても、グループへの追加は必要です。
Codeタブ・CLIエンジン側が重いとき
Coworkと無関係に重い場合、公式のトラブルシューティングは、大きなコードベースの処理でCPUとメモリを大量に使い得るとして次の手順を示しています。
Claude Codeの負荷を下げる手順
- 1
/compactを定期的に実行する
会話が短すぎると
Not enough messages to compact.と返ります。大きな貼り付け1回でコンテキストが埋まった場合にも起こり得ます。 - 2
大きな作業の区切りで再起動する
再起動後はClaude Codeで
claude --continueを使うと、会話を新しいプロセスで再開できます。 - 3
ビルドディレクトリを.gitignoreに入れる
大きな生成物を検索・読み込み対象から外します。
- 4
--safe-modeで原因を切り分ける
プラグイン・MCPサーバー・フックのどれが原因かを調べるため、
claude --safe-modeで起動します。
--safe-modeはCLIのフラグです。v2.1.285のclaude --helpでは、次のように説明されています。
--safe-mode Start with all customizations (CLAUDE.md, skills,
installed plugins, hooks, MCP servers, custom commands
and agents, output styles, workflows, custom themes,
keybindings, and more) disabled — useful for
troubleshooting a broken configuration. Admin-managed
(policy) settings still apply. Auth, model selection,
built-in tools and plugins, and permissions work
normally. Sets CLAUDE_CODE_SAFE_MODE=1.無効になる範囲に「管理者ポリシーの設定は残る」とあるので、組織のフックが原因の場合は--safe-modeでも重さが消えません。セッションのヒープメモリが2.5GBを超えると、メモリ使用量の警告が表示されます。この警告はclaude --continueで新しいプロセスから再開するか、/compactでメモリが2.5GBを下回るまで解放すると消えます(全画面表示の場合、/compactは解放手段になりません)。
メモリ高止まりは/heapdumpで診断する
ここまでの手順でもメモリが高止まりするときは、次のコマンドを使います。コマンドメニューには出ない隠しコマンドなので、全部入力して実行します。
/heapdump~/Desktopに、<session-id>.heapsnapshotと<session-id>-diagnostics.jsonの2ファイルが書き出されます。Desktopフォルダーの無いLinuxではホームディレクトリが出力先です。会話内には、プロセス全体のメモリ量、JSヒープの量、ヒープ外の量、リークの兆候(メモリの増加率が高い、開いたままのハンドルが多いなど)が要約表示されます。
.heapsnapshotには会話内容や認証情報を含む全文字列が残るので、公開のissueには添付しないでください。報告するときは-diagnostics.jsonだけを添付します。ヒープの中身を自分で調べる場合は、Chrome DevToolsのMemoryタブで読み込み、Retained Sizeで並べ替えます。要約がネイティブメモリ側を指しているときは、スナップショットでは見えないため、リークの兆候の項目を報告に含めます。出力内容と読み方はClaude Codeの/heapdumpでメモリ使用量の高さを診断するにまとめています。
応答しなくなったときと、それでも解消しないとき
Claude Codeが固まったように見えるときは、まずCtrl+Cで現在の処理を止めます。止まらなければターミナルを閉じて再起動し、同じディレクトリでclaude --resumeを実行すると、会話を失わずにセッションへ戻れます。これはCLIの公式手順です。Desktopアプリが応答しない場合は、macOSならCmd+Qで終了します。反応しなければ、Cmd+Option+Escの強制終了でClaudeを選んで終了します。Windowsでは、Ctrl+Shift+Escのタスクマネージャーで、Claudeのプロセスを終了します。
上記を試しても解消しない場合は、issue #22543の回避策として、アプリを完全に終了してからVMバンドルとキャッシュを削除する方法が報告されています。これはコミュニティの報告で、公式の推奨手順ではありません。
「重い(動くが遅い)」と、VMが起動できない症状は別物です。403エラーや起動しない、空白画面といった別種の不具合はClaude Code Desktopが起動しない・403エラーの対処法で扱っています。
まとめ
Coworkのタブを使った後にだけ重くなるなら、まずプロセス一覧でVM側のプロセスを探し、ディスクが逼迫しているならvm_bundlesのサイズも見ます。VM側に見当たらない重さは、CodeタブのCLIエンジンを/compact、--safe-mode、/heapdumpの順で調べます。VMを消す手段は再作成されうる点だけ踏まえ、クラウド実行への移行を優先して検討する、という順序が安全です。