ログ日記

作業ログと日記とメモ

Claude Code が EMFILE: too many open files エラーで起動しない

時々、Claude Codeがエラーで起動しなくなる。

Error: EMFILE: too many open files, watch '/home/user/.claude/settings.json'

複数のClaude Codeを立ち上げたときによく発生していたので、我慢して一つの端末でやったりしていた。

でも複数同時立ち上げしなくてもエラーになることがあって、一旦はsettings.jsonを削除してしのいでいた。
検索したらファイルディスクリプタが足りないというのが出たのでulimit -n で設定しても改善しなかった。


今日試したら、バージョン 1.0.123 でエラーが出つつも起動するようにはなっていた。



ふと思い立って、ブラウザを終了してからClaude Codeを立ち上げたらエラーが出なかった。

「Error: EMFILE」で検索するとnodejsの事例ばかり出てくるんだけど、これはあるあるなのかな?
解決方法がよくわからない。
Claude Codeの事例も出てこない。

cat /proc/10767/limits

でclaudeプロセスの状態を見てみると、ulimit -n の値とは違って大きな数になっていた。
そうだよね、初期値1024って少なすぎるよね。

# ls -l /proc/*/fd  |grep socket | grep user | wc -l
2456

ブラウザを閉じたら

# ls -l /proc/*/fd  |grep socket | grep user | wc -l
1495

socketじゃなくて他の何かの上限なのかな?


ひとまず、起動後は最初にClaude Codeを複数立ち上げてから他のアプリを立ち上げる方向で回避することにした。