Claude Code で急に permission denied: claude-XXXX-cwd 的なエラーが出るようになった時の応急処置

Claude Code を使っていたら、急に毎回こんなエラーが出るようになった(2.1.1の時に気づいた)。

zsh:22: permission denied: /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/claude-f341-cwd

コマンド自体は実行できるものの、毎回標準エラー出力が汚されて鬱陶しい。画面も赤くなるし、何より本当にエラーの場合に区別がつきにくい。 ので直したい。

推定される原因

Claude Code が /var/folders 配下へ一時ファイル claude-XXXX-cwd を作成しようとするが、何らかの理由(macOS アップデートや Claude Code のバージョンアップ)で書き込み権限が不足している。

GitHub Issue #8896 でも報告されてぽいけど、根本的な修正はまだリリースされていない雰囲気。

暫定対応

とりあえず一時ファイルが作れればいいはずなので、それ用の設定を追加する。

TMPDIR 環境変数を明示的に設定することで解決する。

bash# 一時ディレクトリを作成
mkdir -p ~/tmp
# シェル設定に追加(zsh の場合)
echo 'export TMPDIR="$HOME/tmp"' >> ~/.zshrc
source ~/.zshrc

これで Claude Code は /var/folders の代わりに ~/tmp を使うようになり、エラーが出なくなる。

細かい点として、~/tmp は自動クリーンアップされないので、たまに手動で掃除すると良い。

bash# 7日以上前のファイルを削除
find ~/tmp -type f -mtime +7 -delete

そのうち直るとは思うけど、特に致命的な問題があるわけではないのでTMPDIRは指定したままでも大丈夫。