テック技報最新号へ →
AIコーディング

Claude Code: 長いコマンド出力が切れるなら BASH_MAX_OUTPUT_LENGTH と bashOutputMaxChars を使い分ける

Bash ツールの出力はある長さで切られ、失敗したテストのログの肝心な所が見えないことがある。読み戻す幅は環境変数 BASH_MAX_OUTPUT_LENGTH、会話に直接載せる上限は設定 bashOutputMaxChars で決まる。

@oswrav · 2026-10-28
#claude-code#設定#環境変数#コンテキスト

どんな時に使う?

  • 長いテストログの途中が抜け、Claude が原因を推測で直そうとする
  • 逆に巨大な出力がそのまま会話に入り、コンテキストを食う

2つの違い(公式ドキュメントより)

  • BASH_MAX_OUTPUT_LENGTH(環境変数): Claude が出力を読み戻せる幅。既定 30000 文字、最大 150000 文字。bashOutputMaxChars を設定しているとこちらは無視される
  • bashOutputMaxChars(settings.json、v2.1.261 以降): 4000〜128000 の範囲に丸められる
    • 成功したコマンドの出力が上限を超えると、ファイルのパスと先頭 2,000 文字のプレビューが返る(全文はファイルを読めば見える)
    • 失敗したコマンドは、読み戻し幅から頭と末尾を切り出した約 10,000 文字が返る
json
{
  "bashOutputMaxChars": 60000
}

または

json
{
  "env": { "BASH_MAX_OUTPUT_LENGTH": "80000" }
}

注意点

出典

X の元の投稿を開く