目次
Claude Code CLIを定期実行したいけど、API従量課金ではなくMax Plan(定額制)で動かしたい。設定でハマったので備忘録です。
問題
Claude Code CLIを実行すると「Credit balance is too low」エラーが出ました。
claude -p "hello" --dangerously-skip-permissions
Credit balance is too low
Max Planに加入しているのに、API課金として扱われています。
原因
環境変数 ANTHROPIC_API_KEY が設定されていると、CLIはAPIキーを優先して使います。
echo $ANTHROPIC_API_KEY
APIキーが表示されれば、それが原因です。
解決方法
実行時に ANTHROPIC_API_KEY="" を付けて、APIキーを無効化します。
ANTHROPIC_API_KEY="" claude -p "hello" --dangerously-skip-permissions
これでMax Planの認証(OAuth)が使われます。
cronでの定期実行
毎時0分に実行する例です。
crontab -e
以下を追加します。
0 * * * * cd /path/to/repo && ANTHROPIC_API_KEY="" /path/to/claude -p "hello" --dangerously-skip-permissions
/path/to/repo は対象リポジトリのパス、/path/to/claude は which claude で確認してください。
nodeが見つからないエラー
cronを実行すると以下のエラーが出ることがあります。
env: node: No such file or directory
cronは独自の最小限の環境で動くため、通常のシェルで設定されているPATHが使えません。
crontabの先頭にPATHを追加してください。
crontab -e
一番上に以下を追加します。
PATH=/path/to/node/bin:/usr/bin:/bin
/path/to/node/bin は which node で確認したパスのディレクトリ部分です。
認証状態の確認
Max Planで認証されているかは、認証ファイルで確認できます。
cat ~/.claude/.credentials.json | head -1
subscriptionType: "max" があればMax Planで認証済みです。
留意点
--dangerously-skip-permissions は全ての操作を許可するオプションです。信頼できるプロンプトでのみ使用してください。
また、Max Planにも使用量の上限があります。頻繁すぎる実行は制限に引っかかる可能性があるので、1時間に1回程度が安全です。
