雲居研究室(TML Laboratory)の Claude Code グローバル設定テンプレートです。
~/.claude/settings.json に配置して使用します。
最終更新: 2026-06-11 / Claude Code v2.1.x 対応
# バックアップを取ってから上書き
cp ~/.claude/settings.json ~/.claude/settings.json.bak
cp settings.json ~/.claude/settings.json
# ローカル設定はテンプレートをコピーして編集
cp settings.local.json.example ~/.claude/settings.local.json
# ステータスライン用スクリプトを配置して実行権限を付与
cp statusline.sh ~/.claude/statusline.sh
chmod +x ~/.claude/statusline.sh
# SessionEnd フック用ディレクトリを作成
mkdir -p ~/.claude/sessionsClaude Code は以下の順で設定を読み込み、同じキーはプロジェクト側が優先されます。
~/.claude/settings.json ← グローバル(全プロジェクト共通)
~/.claude/settings.local.json ← グローバルローカル(Git管理外の個人設定)
.claude/settings.json ← プロジェクト(リポジトリに commit 可)
.claude/settings.local.json ← プロジェクトローカル(.gitignore 推奨)
公式ドキュメント: Model configuration
"model": "opusplan"動作: プランモード中は Opus(高度な推論)を使い、実行フェーズに移ると自動で Sonnet に切り替わるハイブリッド設定。
| フェーズ | 使用モデル | 特徴 |
|---|---|---|
| Plan Mode(設計・調査) | Claude Opus | 深い推論、アーキテクチャ判断 |
| Execution Mode(実装) | Claude Sonnet | 高速・コスト効率 |
メリット: 純粋な Opus 使用と比べてコストを抑えつつ、設計品質はそのまま。
注意: Plan Mode の Opus フェーズは 200K トークンコンテキストウィンドウ(opus[1m] の 1M 拡張は対象外)。
利用可能な主要エイリアス一覧:
| エイリアス | 動作 |
|---|---|
opusplan |
Plan=Opus, Execution=Sonnet のハイブリッド |
opus |
常に最新 Opus(複雑な推論タスク向け) |
sonnet |
常に最新 Sonnet(日常のコーディング向け) |
best |
最上位モデル(Fable 5 があればそちら、なければ最新 Opus) |
opus[1m] |
Opus + 100万トークンコンテキスト |
公式ドキュメント: Settings reference
"cleanupPeriodDays": 99999動作: Claude Code はセッション開始時に、指定日数より古いセッションファイルを ~/.claude/projects/ から自動削除します。
デフォルトは 30日。99999 に設定すると約 274 年分を保持し、実質的に永続化されます。
適用範囲:
~/.claude/projects/<project-path>/*.jsonlのトランスクリプトファイル- 孤立したサブエージェントの worktree(クリーンアップ対象)
ディスク容量を節約したい場合: 7 や 14 など短い値に変更してください。
履歴を完全に無効化したい場合: 環境変数 CLAUDE_CODE_SKIP_PROMPT_HISTORY=1 を設定します。
Note
0 を設定するとバリデーションエラーになります(最小値は 1)。
公式ドキュメント: Remote Control
"remoteControlAtStartup": true動作: すべてのインタラクティブセッションで起動時に Remote Control を自動有効化します。
/config で「Enable Remote Control for all sessions」を true にするのと同等です。
Remote Control とは: ローカルで動いている Claude Code セッションを、スマートフォンや別のデバイスから claude.ai/code 経由で監視・操作できる機能(リサーチプレビュー)。
使い方:
- PC で
claudeを起動すると自動的にリモートセッションが登録される - スマートフォンの Claude アプリ(または
claude.ai/code)からセッションに接続 - 長時間タスクの結果確認や、外出先からの指示送信が可能
無効化したい場合: remoteControlAtStartup: false に変更、またはポリシーで disableRemoteControl: true を設定(v2.1.128 以降)。
Note
Team/Enterprise プランでは管理者が Admin Settings でオプトインが必要な場合があります。
公式ドキュメント: Remote Control - Push notifications
"agentPushNotifEnabled": true動作: 長時間タスクが完了したとき、または Claude が次の指示を待っているときにモバイルへプッシュ通知を送信します。
セットアップ: /config → "Push when Claude decides" を有効化し、スマートフォンの Claude アプリでログインしておくと通知トークンが登録されます。
通知タイミング: Claude が「ユーザーの判断が必要」と判断したとき(タスク完了・ブロッカー発生時)。
プロンプトに「テストが終わったら通知して」と書くことでも通知させられます。
Tip
iOS の場合、集中モードや通知サマリーが通知を遅延させることがあります。
設定 → 通知 → Claude で確認してください。
"skipAutoPermissionPrompt": true動作: Auto Permission Mode(auto)への移行時に表示される確認プロンプトをスキップします。
Auto Mode とは: ツール呼び出し前にバックグラウンドの安全性チェックモデルが動作し、リクエストの範囲を逸脱するアクションをブロックする半自動モード(リサーチプレビュー)。--dangerously-skip-permissions とは異なり、安全性チェックが残ります。
"skipWorkflowUsageWarning": true動作: マルチエージェントワークフロー(ultracode キーワードや /workflows コマンド)を実行する際に表示される「多数のエージェントとトークンを消費する可能性があります」という警告ダイアログをスキップします。
ワークフローを日常的に使う場合に設定しておくと、確認ステップが省略されてスムーズです。
"hooks": {
"SessionEnd": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "echo $CLAUDE_SESSION_ID > ~/.claude/sessions/$(pwd | tr '/' '_').session"
}
]
}
]
}動作: セッション終了時に、作業ディレクトリをキーとして最後のセッション ID をファイルに保存します。
保存先例: /Users/username/Projects/my-repo で作業した場合
→ ~/.claude/sessions/_Users_username_Projects_my-repo.session
活用方法:
claude --resume $(cat ~/.claude/sessions/$(pwd | tr '/' '_').session)で前回セッションを再開- Remote Control との組み合わせで、外出先から同じセッションに接続
事前にディレクトリを作成しておく必要があります:
mkdir -p ~/.claude/sessions"statusLine": {
"type": "command",
"command": "bash ~/.claude/statusline.sh",
"padding": 0
}動作: プロンプト下部に表示されるステータスラインを、シェルスクリプトの出力で動的に表示します。
スクリプトは Claude Code から JSON を stdin で受け取り、モデル名・コンテキスト使用率・レート制限などをパースして整形出力します。
同梱の statusline.sh の表示内容(3行構成):
Line 1: [モデル名] │ ctx [グラデーションバー] XX%
Line 2: 5h [バー] XX% ↻HH:MM:SS │ 7d [バー] XX% ↻HH:MM:SS │ [組織名]
Line 3: [リポジトリ名] [ブランチ名] +追加行 -削除行
| 表示項目 | 説明 |
|---|---|
| モデル名 | 現在使用中のモデル(Opus / Sonnet 等) |
| ctx バー | コンテキストウィンドウの使用率(グリーン→イエロー→レッドのグラデーション) |
| 5h / 7d バー | 5時間・7日レート制限の使用率とリセットまでの残り時間 |
| 組織名 | ログイン中の Claude アカウントの組織名 |
| Git 情報 | 現在のブランチ名 + staged/unstaged の追加・削除行数 |
プラン別の動作:
- Pro/Max: stdin JSON の
rate_limitsフィールドをそのまま使用(追加 API コールなし) - Team: macOS Keychain からトークンを取得し
/api/oauth/usageを呼び出し(5分キャッシュ) - API Key: 「API Key」と表示
グローバル設定をマシン固有の設定で上書きしたい場合、~/.claude/settings.local.json に記載します。
Git 管理外に置くことで、チームには公開せずに個人の許可ルールを追加できます。
{
"permissions": {
"allow": [
"Bash(uv add:*)",
"Bash(uv run:*)",
"Bash(python3:*)",
"Bash(git log:*)",
"Bash(git diff:*)",
"Bash(git status:*)"
]
}
}よく使う許可パターン:
"Bash(npm run:*)" // npm スクリプト全般
"Bash(docker ps:*)" // Docker 状態確認
"Bash(gh pr:*)" // GitHub CLI の PR 操作
"Read(/path/to/dir/*)" // 特定ディレクトリの読み取り
"mcp__github__*" // GitHub MCP ツール全般