Skip to content

原文(日本語に翻訳)

Accept Editsモードで、安全な環境変数プレフィックスやプロセスラッパーが付いたファイルシステムコマンドを自動承認するよう改善しました(例:LANG=C rm footimeout 5 mkdir out)。

原文(英語)

Improved Accept Edits mode to auto-approve filesystem commands prefixed with safe env vars or process wrappers (e.g. LANG=C rm foo, timeout 5 mkdir out)

概要

Accept Editsモード(--accept-editsフラグ)使用時に、安全と判断される環境変数プレフィックスやプロセスラッパーが付いたファイルシステムコマンドが自動的に承認されるようになりました。例えばLANG=C rm footimeout 5 mkdir outのような形式のコマンドは、従来は承認プロンプトが表示されていましたが、今後は自動承認されます。これにより、ロケール指定や実行時間制限などのラッパーを使ったスクリプトがよりスムーズに動作します。

基本的な使い方

--accept-editsモードで起動している場合、以下のようなプレフィックスが付いたコマンドは自動承認されます:

bash
# ロケール指定付きコマンド(自動承認される)
LANG=C sort file.txt
LC_ALL=C grep "pattern" file.txt

# タイムアウト付きコマンド(自動承認される)
timeout 5 mkdir out
timeout 30 npm install

# その他の安全なプレフィックス
nice -n 10 rm -rf temp/

Accept Editsモードでの起動:

bash
claude --accept-edits
# または
claude --accept-edits "タスクの説明"

実践例

ビルドスクリプトでの活用

bash
# ビルドスクリプト内でよく使われるパターンが自動承認される
LANG=C make clean
LANG=C make build
timeout 60 cmake --build .

テスト自動化での活用

bash
# タイムアウト付きテスト実行
timeout 300 pytest tests/
LANG=C python -m unittest discover

# ロケール依存を避けたファイル操作
LANG=C sort -k2 data.csv > sorted.csv

CIパイプライン連携

--accept-editsはCI環境でのClaudeによる自動修正に活用できます。安全なラッパーが自動承認されることで、CI環境でよく使われるコマンドパターンがより安定して動作します:

bash
# CI設定例(GitHub Actionsなど)
- name: Auto-fix with Claude
  run: claude --accept-edits "Fix linting errors"

タイムアウト付き長時間処理

bash
# 長時間かかる可能性のある処理を安全に実行
timeout 120 npm run build
timeout 60 cargo build --release

注意点

  • --accept-editsはファイル編集とファイルシステムコマンドを自動承認しますが、ネットワークアクセスや危険性の高いコマンドは依然として承認が必要な場合があります。
  • 自動承認されるのは「安全」と判断されたプレフィックスのみです。任意の環境変数プレフィックスすべてが承認されるわけではありません。
  • --dangerously-skip-permissionsとは異なり、--accept-editsは適切な安全チェックを維持した上で一般的な操作を自動化します。
  • 本番環境で--accept-editsを使用する場合は、Claudeが実行するコマンドの範囲を慎重に確認してください。

関連情報