Claude Code に GitHub PAT を渡すとき、classic token の `repo` スコープ(全プライベートレポへのフルアクセス)をうっかり使っていないか。2026 年現在の正解は **fine-grained PAT で必要最小限のリポジトリと最小権限**。本稿は公式ドキュメントと現場知見を元に、Claude Code が壊れない範囲で最小化する設計を示す。
最小権限の正解(fine-grained PAT)
GitHub Docs と複数の現場記事を統合すると、Claude Code に必要な最小権限はこの 5 つ:
| Permission | レベル | 用途 | |---|---|---| | Contents | Read and Write | ファイル読み取り・コミット・ブランチ作成 | | Pull Requests | Read and Write | PR の作成・更新・コメント | | Issues | Read and Write | Issue の作成・更新・コメント | | Metadata | Read(既定で必須) | リポジトリ情報の取得 | | Actions | Read | ワークフロー実行状況の確認 |
`repo` クラシックスコープは「全プライベートレポ × Read/Write」なので桁違いに広い。事故時の被害が違う。
「Selected repositories」を選ぶ
PAT 発行画面で **Selected repositories** を選び、Claude Code に触らせる予定のレポだけ列挙。「All repositories」は将来作るリポも含むため、絶対避ける。
期限を切る
公式推奨は **60 日 expiration**。短ければ短いほど、漏洩時の被害ウィンドウが短い。延長は手間だが、自動更新スクリプトを書いておけば負担は小さい。
渡し方
```bash # bad: shell 履歴に残る export GITHUB_TOKEN=ghp_xxxx
# good: 1Password CLI / vault 経由 export GITHUB_TOKEN=$(op read "op://Personal/GitHub PAT/credential")
# better: gh CLI に保存して claude が gh 経由で操作 gh auth login --with-token < ~/.tokens/gh.txt ```
`gh` CLI に保存しておけば、Claude には「`gh` を使え」と指示するだけで PAT を直接渡さずに済む。
ハマりどころ
無料でアカウント作成
CCHub は Claude Code 開発者のための日本語コミュニティです。