環境変数

CLAUDE_CODE_TMPDIR

内部の一時ファイルに使われる一時ディレクトリを上書きする。Claude Code は Unix ではこのパスに /claude-{uid}/ を、Windows では /claude/ を追加する。既定: macOS では /tmp、Linux と Windows では os.tmpdir()。macOS と Linux では、上書き先が長いパスの場合、サンドボックス化された Bash サブプロセスがシステム既定の下の短いフォールバック $TMPDIR を受け取る。一時パスが長くなりすぎると失敗するツールがあるためである。サンドボックス化されていない Bash コマンドは、設定されていればシェルの $TMPDIR を引き継ぐ。ネイティブ Windows では、シェルが $TMPDIR を設定していない場合、$TMPDIR を参照する Bash コマンドはこの上書き値を、未設定なら %TEMP% を受け取る。Claude Code 自身の一時ファイルは常にこの上書き値を使う。シェル、ユーザー設定、または管理設定で設定する。プロジェクト設定とローカル設定では無視される。

使い方・用途

  • /tmp の容量不足やシンボリックリンクによって起きる一時ディレクトリの安全性チェックエラーを回避したいとき、自分が管理するディレクトリを一時ディレクトリとして指定するために使う
  • 深いパスや特殊な要件がある環境で、Unix ソケットのバインド失敗やクロスセッションメッセージングの不具合など、長すぎる一時パスに起因する問題を避けたいときに使う
  • 一時ファイルの保存先がデフォルトの /tmp や os.tmpdir() では合わないカスタム一時ディレクトリ要件を持つ環境で使う
英語原文(公式ドキュメントより)

Override the temp directory used for internal temp files. Claude Code appends /claude-{uid}/ to this path on Unix, or /claude/ on Windows. Default: /tmp on macOS, os.tmpdir() on Linux and Windows. On macOS and Linux, sandboxed Bash subprocesses receive a short fallback $TMPDIR under the system default when your override is a long path, since some tools fail when temp paths get too long. Unsandboxed Bash commands inherit your shell's $TMPDIR when it is set. On native Windows, when your shell doesn't set $TMPDIR, a Bash command that references $TMPDIR receives your override, or %TEMP% when you haven't set one. Claude Code's own temp files always use your override. Set it in your shell, user settings, or managed settings. Ignored in project and local settings

関連ドキュメント

関連する変更履歴

v2.1.281(1件)

Fixed
CLAUDE_CODE_TMPDIR が設定されている場合に、サンドボックス化された Bash コマンドが $TMPDIR に書き込めない問題を修正した
英語原文を表示
Fixed sandboxed Bash commands being unable to write to $TMPDIR when CLAUDE_CODE_TMPDIR is set

関連ドキュメント

v2.1.251(1件)

Changed
プロジェクトレベルの .claude/settings.json の env が、CLAUDE_CONFIG_DIR、CLAUDE_CODE_TMPDIR、TMPDIR/TMP/TEMP を設定できないように変更した。これらはシェル、ユーザー、またはマネージド設定で設定する必要がある。
英語原文を表示
Changed project-level .claude/settings.json env to no longer set CLAUDE_CONFIG_DIR, CLAUDE_CODE_TMPDIR, or TMPDIR/TMP/TEMP; set them in your shell, user, or managed settings instead

変更後

悪意あるリポジトリがClaude Codeの設定保存先や一時ディレクトリの書き換えを通じてファイルの保存場所を操作できなくなったことで、リポジトリを開くだけの安全な環境が保たれる。

関連ドキュメント

v2.1.162(1件)

Fixed
CLAUDE_CODE_TMPDIR や $TMPDIR が深い階層のディレクトリを指している場合に、セッション間メッセージング(SendMessage)が音もなく失敗する問題を修正しました
英語原文を表示
Fixed cross-session messaging (SendMessage) silently breaking when CLAUDE_CODE_TMPDIR or $TMPDIR points at a deep directory

変更後

エージェントチームなどの高度な機能を使用する際、環境依存の目に見えないエラーに悩まされることがなくなり、信頼性が向上します。

関連ドキュメント

v2.1.161(1件)

Fixed
CLAUDE_CODE_TMPDIR に深いパスが設定されている場合、Unix ドメインソケットをバインドするツールで発生していた「EADDRINUSE」エラーを修正。
英語原文を表示
Fixed EADDRINUSE errors from tools that bind Unix sockets under $TMPDIR when CLAUDE_CODE_TMPDIR is set to a deep path

変更後

企業のセキュリティポリシーなどで一時ファイルの作成場所を厳格に指定している環境でも、エラーに悩まされることなくツールを利用できるようになります。

関連ドキュメント

v2.1.5(1件)

Added
内部の一時ファイルで使用される一時ディレクトリを上書きするためのCLAUDE_CODE_TMPDIR環境変数を追加しました。これは、カスタムの一時ディレクトリ要件がある環境で役立ちます。
英語原文を表示
Added CLAUDE_CODE_TMPDIR environment variable to override the temp directory used for internal temp files, useful for environments with custom temp directory requirements

関連ドキュメント