Skip to content

原文(日本語に翻訳)

CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICまたはCLAUDE_CODE_DISABLE_TERMINAL_TITLEが設定されている場合に、ヘッドレス/SDKセッションの自動タイトルが余分なHaikuリクエストを送信する問題を修正しました。

原文(英語)

Fixed headless/SDK session auto-title firing an extra Haiku request when CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC or CLAUDE_CODE_DISABLE_TERMINAL_TITLE is set.

概要

Claude Code v2.1.110では、ヘッドレスモードまたはSDK経由でセッションを実行する際に、CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICまたはCLAUDE_CODE_DISABLE_TERMINAL_TITLE環境変数が設定されているにもかかわらず、セッションの自動タイトル生成のためにClaude Haiku(低コストモデル)への余分なAPIリクエストが送信されていた問題が修正されました。これによりAPIコストの削減とレスポンス時間の改善が期待できます。

基本的な使い方

bash
# 非必須トラフィックを無効にする(コスト最適化)
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true

# ターミナルタイトルの自動更新を無効にする
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true

# これらを設定した状態で claude コマンドを実行
claude "タスクを実行して"

# 修正前: 設定に関わらず自動タイトル生成のHaikuリクエストが送信されていた
# 修正後: 設定が尊重され、余分なHaikuリクエストが送信されない

実践例

ユースケース1: CI/CD環境でのコスト最適化

yaml
# GitHub Actions での設定例
name: Claude Code CI
on: [push]

jobs:
  code-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Claude Code レビュー
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          # 非必須トラフィックを無効化(APIコスト削減)
          CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "true"
          CLAUDE_CODE_DISABLE_TERMINAL_TITLE: "true"
        run: |
          claude "このコードをレビューして、問題があれば報告して" \
            --output-format json

ユースケース2: SDK統合でのリクエスト最小化

python
import subprocess
import os

# SDK経由でClaude Codeを使用する際の最適な設定
env = {
    **os.environ,
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "true",
    "CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "true",
}

result = subprocess.run(
    ["claude", "--print", "コードを分析して"],
    env=env,
    capture_output=True,
    text=True
)

# v2.1.110以降: 自動タイトル生成のHaikuリクエストが不要に送信されない
print(result.stdout)

ユースケース3: 環境変数による設定管理

bash
# .env ファイルでの設定
# ヘッドレス/自動化環境向け
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true
CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true

# 設定を読み込んで使用
source .env
claude "バッチ処理を実行して"

ユースケース4: APIコストのモニタリング

bash
# APIリクエスト数の確認(v2.1.110以降はリクエスト数が削減)
# Anthropic コンソールでAPIの使用状況を確認
# https://console.anthropic.com/usage

# ローカルでのリクエスト数確認(デバッグ用)
CLAUDE_DEBUG=api CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true \
  claude "タスクを実行して" 2>&1 | grep "API request"

ユースケース5: バッチ処理での最適化

bash
#!/bin/bash
# batch-process.sh
# 複数のリクエストを効率的に処理

export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=true
export CLAUDE_CODE_DISABLE_TERMINAL_TITLE=true

FILES=("file1.py" "file2.py" "file3.py")

for file in "${FILES[@]}"; do
  echo "処理中: $file"
  claude "このファイルのコードレビューをして: $file" --print
  echo "完了: $file"
done

# v2.1.110以降: 各リクエストで余分なHaikuリクエストが発生しない

注意点

  • 影響を受けていたシナリオ — ヘッドレスモード(--printフラグなど)またはSDK経由での実行、かつCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICまたはCLAUDE_CODE_DISABLE_TERMINAL_TITLEが設定されている場合に発生していました。
  • コストへの影響 — Haikuは低コストモデルですが、大量のバッチ処理では積み重なってコストになる可能性がありました。
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC — この環境変数は自動タイトル生成以外の非必須トラフィック(テレメトリなど)も無効化します。
  • CLAUDE_CODE_DISABLE_TERMINAL_TITLE — ターミナルのタイトルバーの自動更新を無効化します。ヘッドレス環境では不要な機能です。

関連情報