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は指定したままでも大丈夫。