Skip to content

原文(日本語訳)

共有システムでのパーミッション競合を防ぐため、ユーザーごとの一時ディレクトリ分離を修正しました

原文(英語)

Fixed per-user temp directory isolation to prevent permission conflicts on shared systems

概要

共有サーバーやマルチユーザー環境で、異なるユーザーが Claude Code を使用する際に発生していたパーミッション競合の問題が修正されました。各ユーザーが独自の一時ディレクトリを持つようになり、権限エラーが発生しなくなります。

修正された問題

以前のバージョンでは、Claude Code が /tmp/claude/ をハードコードしており、複数のユーザーが同じディレクトリを使用することで以下の問題が発生していました:

  • Permission denied エラー
  • 他のユーザーが作成したファイルにアクセスできない
  • バックグラウンドタスクの失敗
  • $TMPDIR 環境変数が無視される

対応環境

この修正は以下の環境で特に重要です:

  • 共有開発サーバー
  • 大学や研究機関のコンピューティングリソース
  • マルチユーザーの CI/CD 環境
  • コンテナ環境での複数ユーザー実行

注意点

  • 既知の問題: v2.1.23 では、複数の並列インスタンスとフックを有効にした場合に CPU 100% のハングが発生する可能性があります
  • 一時ファイル: 各ユーザーの一時ファイルは自動的に分離されます。特別な設定は不要です
  • 権限: 他のユーザーの一時ファイルにはアクセスできません
  • クリーンアップ: 一時ファイルは定期的にクリーンアップされますが、手動で削除することも可能です
  • 環境変数: $TMPDIRCLAUDE_CODE_TMPDIR が尊重されるようになりました
  • サンドボックスモード: サンドボックス機能と組み合わせることで、さらに強固な分離が可能です

カスタム一時ディレクトリの指定

必要に応じて、一時ディレクトリをカスタマイズできます。

bash
export CLAUDE_CODE_TMPDIR="$HOME/.claude/tmp"
claude

関連情報