どういう機能か
Claude Codeのv2.1.233で、Linux環境向けに「Bashツールが実行するコマンドのメモリ使用量に上限をかける」機能が追加されました。環境変数 CLAUDE_CODE_TOOL_MEMORY_LIMIT を設定することで有効になる、opt-in(デフォルトでは無効で、使いたい人だけ設定する)の機能です。
Claude Codeは、コードを修正したあとにビルドを実行したり、テストを走らせたりするのにBashツールを使います。普段はそれで何も問題は起きないのですが、まれに「ビルドスクリプトが想定外の挙動をして、メモリを無限に食い続ける」といった暴走が起きることがあります。こうなると、PC全体のメモリが圧迫されて、Claude Codeのセッションそのものが固まったり、最悪OSごと重くなったりすることがあります。
今回追加された機能は、こうした「暴走したコマンドのせいでセッション全体が巻き添えを食う」事態を防ぐためのものです。
cgroupって何?
cgroup(control group)は、Linuxカーネルが持っている「プロセスが使えるリソース(メモリ、CPUなど)に枠をはめる」機能です。難しく聞こえますが、やっていることはシンプルで、「このプロセスはメモリをここまでしか使っちゃダメ」というルールを設定し、超えたら強制的に止める、というものです。
Claude CodeはこのLinuxの仕組みを借りて、Bashツールが実行するコマンド(ビルドやテストなど)に対してメモリの上限を設定できるようにしました。
どう使うのか
使い方は、CLAUDE_CODE_TOOL_MEMORY_LIMIT という環境変数に上限値を設定するだけです。これを設定しておくと、Bashツールで実行されるコマンドがその上限を超えてメモリを使おうとしたときに、コマンド側が止められます。Claude Codeのセッション自体は影響を受けずに動き続けられる、というわけです。
たとえば、大きなプロジェクトのビルドコマンドをClaudeに任せているときに、依存関係の設定ミスなどでメモリリークに近い状態が起きたとします。この機能を設定していなければ、気づいたときにはPCのメモリがほぼ埋まっていて、作業中の他のアプリも固まってしまう、といったことが起こり得ます。メモリ上限を設定しておけば、そのコマンドだけが先に止まってくれるので、被害を局所化できます。
初心者が覚えておきたいポイント
- この機能はデフォルトでは有効になっていません。必要だと思ったら自分で環境変数を設定する「opt-in」方式です。
- 対象はLinux環境です(cgroupがLinuxカーネルの機能であるため)。
- 普段ちょっとしたコマンドしか実行させていない人には、あまり気にする必要のない設定です。重いビルドや大規模なテストスイートをClaudeに任せている人にとって効果が出やすい機能といえます。
「念のための安全装置」として捉えておくとよいでしょう。普段は意識しなくてよいものですが、大きな処理を自動実行させる場面が増えてきたら、設定を検討する価値があります。
このページは役に立ちましたか?