[[Claude Code]] のステータスラインは、`~/.claude/settings.json` で設定できる。ステータスラインは[[ターミナル]]下部に表示され、モデル名やディレクトリなどの情報をリアルタイムで確認できる。 **`~/.claude/settings.json`:** ```json { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh" } } ``` **`~/.claude/statusline.sh`:** ```bash #!/bin/bash input=$(cat) MODEL=$(echo "$input" | jq -r '.model.display_name') CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir') DISPLAY_DIR=$(echo "$CURRENT_DIR" | sed "s|^$HOME|~|") # コンテキストウィンドウ使用率を計算 CONTEXT_SIZE=$(echo "$input" | jq -r '.context_window.context_window_size') USAGE=$(echo "$input" | jq '.context_window.current_usage') CONTEXT_PERCENT="" if [ "$USAGE" != "null" ] && [ "$CONTEXT_SIZE" != "null" ] && [ "$CONTEXT_SIZE" != "0" ]; then CURRENT_TOKENS=$(echo "$USAGE" | jq '.input_tokens + .cache_creation_input_tokens + .cache_read_input_tokens') PERCENT=$((CURRENT_TOKENS * 100 / CONTEXT_SIZE)) CONTEXT_PERCENT=" | ctx:${PERCENT}%" fi # Gitブランチを取得(あれば) GIT_BRANCH="" if git -C "$CURRENT_DIR" rev-parse --git-dir > /dev/null 2>&1; then BRANCH=$(git -C "$CURRENT_DIR" branch --show-current 2>/dev/null) if [ -n "$BRANCH" ]; then GIT_BRANCH=" | $BRANCH" fi fi echo "[$MODEL] $DISPLAY_DIR$GIT_BRANCH$CONTEXT_PERCENT" ``` **実行権限の付与:** ```bash chmod +x ~/.claude/statusline.sh ``` **表示例:** ``` [Opus 4.5] ~/Documents/project | main | ctx:45% ``` ## 関連ノート - **[派生]** [[Claude Code の Hooks で音を鳴らして通知を受け取る]]: 本ノートのステータスラインと並ぶ、Claude Code の UI / 通知カスタマイズ系トピック - **[派生]** [[iPhone から Claude Code を遠隔操作する]]: 本ノートの UI カスタマイズと並ぶ、Claude Code の使用体験を高めるトピック