原文(日本語に翻訳)
ステータスライン: stdin JSONに effort.level と thinking.enabled が含まれるようになった
原文(英語)
Status line: stdin JSON now includes effort.level and thinking.enabled
概要
Claude Codeのステータスライン機能でstdin経由で受け取るJSONデータに effort.level(作業量レベル)と thinking.enabled(拡張思考の有効状態)が追加された。外部ツールやスクリプトがClaudeの現在の設定状態をより正確に把握できるようになる。
基本的な使い方
ステータスラインスクリプトは stdin からJSONを受け取り、ステータス表示を生成する。新しいフィールドを含む入力例:
json
{
"session_id": "abc123",
"model": "claude-opus-4-7",
"effort": {
"level": "high"
},
"thinking": {
"enabled": true
},
"tools": ["Read", "Write", "Bash"],
"cost": {
"total_usd": 0.05
}
}実践例
effort.levelを表示するステータスライン
python
#!/usr/bin/env python3
# .claude/statusline.py
import json
import sys
data = json.load(sys.stdin)
effort_level = data.get("effort", {}).get("level", "unknown")
thinking_enabled = data.get("thinking", {}).get("enabled", False)
# effort レベルの絵文字マッピング
effort_icons = {
"low": "🔸",
"medium": "🔶",
"high": "🔴",
"unknown": "⚪"
}
thinking_icon = "🧠" if thinking_enabled else "💭"
status = f"{effort_icons[effort_level]} {effort_level.upper()} | {thinking_icon}"
print(status)tmuxのステータスバーに表示する
bash
#!/bin/bash
# tmux のステータスバー更新スクリプト
claude_status=$(claude --print --status-json 2>/dev/null | python3 -c "
import json, sys
data = json.load(sys.stdin)
effort = data.get('effort', {}).get('level', '?')
thinking = '🧠' if data.get('thinking', {}).get('enabled') else ''
print(f'{effort} {thinking}')
")
tmux set-option -g status-right "$claude_status"effortレベルに応じた処理分岐
python
#!/usr/bin/env python3
import json
import sys
data = json.load(sys.stdin)
effort_level = data.get("effort", {}).get("level", "medium")
thinking_enabled = data.get("thinking", {}).get("enabled", False)
# 高effortかつthinkingが有効な場合に警告
if effort_level == "high" and thinking_enabled:
print("⚠️ 高コストモードで実行中", file=sys.stderr)
elif effort_level == "low":
print("⚡ 低コストモードで実行中", file=sys.stderr)effortレベルの値
| 値 | 意味 |
|---|---|
low | 低い作業量(高速・低コスト) |
medium | 標準的な作業量 |
high | 高い作業量(詳細・高コスト) |
注意点
effort.levelはClaude Codeの--effortフラグまたは設定で指定した値を反映するthinking.enabledは拡張思考(Extended Thinking)が有効かどうかを示す- これらのフィールドはステータスラインを設定している場合にのみ利用できる
- ステータスラインの設定方法は
statusline-setupスキルを参照