> > > Claudeの
bash
コードの途中でタイムアウト?
(Linux
コンテナと「ネットワーク制限」の意味)

  • Claudeのコード実行の途中でタイムアウトするときは、「制限付きネットワークアクセスを許可」が有効か確認してみてください。

Claudeのデスクトップアプリを開いたら、「Claudeでより多くのファイル形式に対応」という画面が出てきました1

<svg class="eyecatch-svg" viewBox="0 0 192 192" xmlns="http://www.w3.org/2000/svg">
  <!-- 背景 -->
  <rect width="192" height="192" fill="white" rx="32" ry="32" />
  
  <!-- コンテナボックス(メイン要素) -->
  <g transform="translate(96, 96)">
    <!-- 外側のコンテナ枠 -->
    <rect x="-50" y="-50" width="100" height="100" fill="none" stroke="#2196F3" stroke-width="4" rx="8" ry="8" />
    
    <!-- コンテナの上部バー -->
    <rect x="-50" y="-50" width="100" height="20" fill="#2196F3" rx="8" ry="8" />
    <rect x="-50" y="-30" width="100" height="8" fill="#2196F3" />
    
    <!-- コンテナ内のターミナルライン(3本) -->
    <line x1="-35" y1="-15" x2="-10" y2="-15" stroke="#607D8B" stroke-width="3" stroke-linecap="round" />
    <line x1="-35" y1="0" x2="10" y2="0" stroke="#607D8B" stroke-width="3" stroke-linecap="round" />
    <line x1="-35" y1="15" x2="-5" y2="15" stroke="#607D8B" stroke-width="3" stroke-linecap="round" />
    
    <!-- ターミナルプロンプト記号 -->
    <text x="-42" y="-10" font-family="monospace" font-size="18" fill="#4CAF50" font-weight="bold">></text>
    <text x="-42" y="5" font-family="monospace" font-size="18" fill="#4CAF50" font-weight="bold">></text>
    <text x="-42" y="20" font-family="monospace" font-size="18" fill="#4CAF50" font-weight="bold">></text>
  </g>
  
  <!-- ネットワーク禁止マーク(右上に配置) -->
  <g transform="translate(140, 52)">
    <!-- 外側の円 -->
    <circle cx="0" cy="0" r="28" fill="#F44336" />
    
    <!-- Wi-Fi波形(簡略化) -->
    <g stroke="white" stroke-width="3" fill="none">
      <path d="M -12,-8 Q -6,-12 0,-12 Q 6,-12 12,-8" />
      <path d="M -8,-2 Q -4,-4 0,-4 Q 4,-4 8,-2" />
      <circle cx="0" cy="2" r="2" fill="white" />
    </g>
    
    <!-- 禁止の斜線 -->
    <line x1="-20" y1="20" x2="20" y2="-20" stroke="white" stroke-width="4" stroke-linecap="round" />
  </g>
</svg>Claudeの<br class="chiilabo-br is-on">bash<br class="chiilabo-br is-on">コードの途中でタイムアウト?<br class="chiilabo-br is-on">(Linux<br class="chiilabo-br is-on">コンテナと「ネットワーク制限」の意味)

制限付きネットワークアクセスを許可」をとりあえずオフにしてから、「試してみる」を実行してみました。
すると、処理が途中で止まって進まなくなってしまいました。

関連記事

1. ファイル生成の途中でコードが実行された

「試してみる」を押すと、「ゴールデンゲートブリッジについて4ページのパワーポイントを作って」というプロンプトが入力されました。

実行すると、パワーポイントを作るために動きはじめました。
どうも、HTMLやMarkDown文書だけでなく、.pptx形式のファイルも作れるようになったようです。

ところが、普段と様子が違いました。
Claude内部でターミナルが動作して、止まってしまいます。

1. ファイル生成の途中でコードが実行された

何度再試行してもnpmコマンドのところでタイムアウトする。この不思議な現象の裏には、Claudeの動作環境に関する重要な仕組みが隠れていました。

1.1. Claudeのコードが動くのはどこ?

まず基本的な疑問から確認しました。
「Claudeのコマンドって、どこで実行されてるの?」

結論から言うと、クラウド上の仮想環境(Linuxコンテナ)です。
このコンテナは各ユーザーのセッションごとに独立して動作しています2

1.1. Claudeのコードが動くのはどこ?

実際にシステム情報を取得してみると、具体的には以下のような環境でした。

uname -a
# Linux runsc 4.4.0 #1 SMP Sun Jan 10 15:06:54 PST 2016 x86_64
Code language: CSS (css)
  • OS: Ubuntu 243
  • 場所: Anthropicのクラウドインフラ
  • 作業ディレクトリ: /home/claude
  • ユーザーファイル: /mnt/user-data/uploads
  • 出力先: /mnt/user-data/outputs

つまり、私たちのローカルPCではなく、Claudeが専用に使える独立したLinux環境が用意されているわけです。各タスクごとに新しいコンテナが立ち上がり、タスクが終わるとリセットされます。

node --version
# v22.20.0

npm --version
# 10.9.3Code language: CSS (css)

Node.jsもnpmも最新版がインストールされています。

さすがに、ローカルのターミナルでAIにコードを動かしているわけではないですよね。

1.2. npm installが応答しない?

それでは本題です。Claudeは、パワーポイントファイルを作成するために、html2pptxというパッケージをインストールしようとしたところで、問題が発生していました。

npm install -g /mnt/skills/public/pptx/html2pptx.tgz
Code language: PHP (php)

このコマンドを実行すると、何も表示されないまま固まってしまいます。最初は「インストールに時間がかかっているだけ?」と思いました。でも、待っても待っても終わらない。

そこでバックグラウンドで実行してプロセスを確認させてみました。

すると、確かにnpmプロセスは起動しています。でも、進捗が一切ない。

ログファイルを見ても空っぽで、複数のnpmプロセスが同時に起動していたので、一度全部終了させることにしました。

killall npm node

しかし、これも応答しない。強制終了コマンド(pkill -9)さえも反応がありません。

2. ネットワーク制限が原因だった

ここで気づきました。
「もしかして、ネットワークの問題?」

2. ネットワーク制限が原因だった

Claudeの応答から、システム設定にこんな記述があるというのです。

<network_configuration>
Enabled: false
</network_configuration>
Code language: HTML, XML (xml)

最初の設定で、ネットワークアクセスが無効にしていたのが原因だったようです。

npmは.tgzファイルをインストールするとき、ファイル自体はローカルにあっても、その依存関係(dependency)は外部のnpmレジストリ(npmjs.com)から取得しようとします4。でも、ネットワークが使えない環境では、この通信が永遠に待ち状態になってしまう。これがタイムアウトの原因になっていたでした。

2.1. 「制限付きネットワークアクセス」とは

Claudeの「制限付きネットワークアクセス」という新機能は、Claudeのサンドボックス環境に限定的なインターネットアクセスを与えるもので、パッケージのインストールやコード実行を可能にします。

2.1. 「制限付きネットワークアクセス」とは

コード実行とファイル作成

Claudeはコードを実行し、ドキュメント、スプレッドシート、プレゼンテーション、PDF、データレポートを作成・編集できます。

ネットワーク外部通信を許可

高度なデータ分析、カスタム可視化、専門的なファイル処理を実行するために、Claudeにネットワークアクセスを許可してパッケージとライブラリをインストールできるようにします。セキュリティリスクを伴うため、チャットを注意深く監視してください。

これを有効にすると、以下のことができるようになります。

  • パッケージとライブラリのインストール
  • 高度なデータ分析
  • カスタムビジュアライゼーション
  • 特殊なファイル処理

今回のようなnpmインストールの問題は解決します。
ただし、外部データソースへのアクセスを許可するため、セキュリティリスクも高まります5

2.2. 解決策:python-pptxで代替

今回は別のアプローチで解決できました。python-pptxライブラリがすでにインストールされていたので、これなら外部通信なしでパワーポイントを作成できたのです6

python3 -c "import pptx; print('python-pptx is available')"
# python-pptx is available
Code language: PHP (php)

実行すると、無事にパワーポイントファイルが生成されました。

2.2. 解決策:python-pptxで代替

ファイルをダウンロードすると、テキストのシンプルな構成ですが、色やレイアウトの設定されたPowerPointのファイルが完成していました。

ちょっと前までは、PowerPointでスライドを作成されるために、まずVBAコードを生成させてからPowerPoint上で実行していました。今後は、Claude内で直接生成できるようになったんですね。

3. まとめ

Claudeには、クラウド上の独立したLinuxコンテナ実行環境を持って使えるようになりました。ただし、ネットワークアクセスが制限されていると、npm installのような外部通信を伴う操作は、この制限に引っかかります。

  1. Anthropicは2024年11月にClaude Desktop appを公式リリースし、ファイル作成機能を段階的に展開しています。2025年9月には「Upgraded file creation and analysis」機能がMax、Team、Enterpriseプラン向けにプレビュー公開されました – Claude joins the AI chatbot desktop app rushAnthropic Adds File Creation To Claude AI
  2. Claudeは、各ユーザーセッションごとに独立したLinuxコンテナを提供しています。これはComputer Use機能の一部として実装されており、Ubuntu環境でNode.js、Python、その他の開発ツールがプリインストールされています – Computer use tool – Claude DocsSecurity – Claude Docs
  3. 記事執筆時点(2025年10月)でのClaude環境はUbuntu 24を使用していることが確認されています。ただし、この環境はAnthropicによって随時更新される可能性があります
  4. npmのパッケージインストールプロセスは、ローカルの.tgzファイルからインストールする場合でも、そのパッケージが依存する他のパッケージ(dependencies)を外部のnpmレジストリから取得しようとします。ネットワークアクセスが制限されている環境では、この依存関係の解決ができずタイムアウトが発生します – npm Documentation
  5. この機能は2025年9月に「Upgraded file creation and analysis」として公式に発表されました。サンドボックス環境に限定的なインターネットアクセスを提供し、パッケージのインストール、データ分析、ファイル生成などが可能になります。ただし、プロンプトインジェクション攻撃のリスクがあるため、Anthropicは慎重な監視を推奨しています – Claude can now create and use filesMy review of Claude’s new Code Interpreter
  6. python-pptxは、PowerPoint 2007以降の.pptxファイルをプログラマティックに作成・編集できるPythonライブラリです。外部ネットワーク接続を必要とせず、スライドの追加、テキスト・画像の挿入、表やグラフの作成などが可能です – python-pptx DocumentationCreating and updating PowerPoint Presentations in Python