はじめに
Claude Codeは、AnthropicがリリースしたAIペアプログラミングツールで、ターミナルから直接Claudeにコーディングタスクを委譲できる強力なツールです。しかし、CI/CD環境でClaude Codeを活用したい場合、認証情報の管理が課題となります。
本記事では、ローカルのClaude Code認証情報を安全にGitHub Secretsに転送するBashスクリプトを紹介します。これにより、GitHub ActionsでClaude Codeを活用した自動化ワークフローを構築できるようになります。
Claude Code Max/Proの認証キーを使用して、GitHub ActionsでClaude Code Actionsを使う方法が知りたい方はあきらパパさんの記事がおすすめです!
(自分も活用させていただきました🙏)
⚠️ macOS 専用ツール
このスクリプトは macOS でのみ動作確認済みです。Windows や Linux では未確認です。
なぜこのスクリプトが必要か
Claude Codeの認証情報は、macOSのキーチェーン(セキュアな保存方法)に保存されています。
これらの認証情報をGitHub Actionsで使用するには、手動でコピー&ペーストする必要がありましたが、以下の問題があります。
- セキュリティリスク: 認証トークンを手動でコピーする際の露出リスク
- ヒューマンエラー: トークンの一部をコピーし忘れる可能性
- 効率性: 複数のリポジトリで設定する場合の手間
スクリプトの特徴
このスクリプトは以下の特徴を持っています:
🔐 セキュリティ重視
- macOSキーチェーンからの安全な認証情報取得
- 一時ファイルの適切な権限設定(600)
- 処理完了後の自動クリーンアップ
🛡️ エラーハンドリング
- 必要なツールの事前チェック(jq、gh、security)
- GitHub CLI認証状態の確認
- JSONファイルの整合性チェック
- リポジトリアクセス権限の検証
🎯 使いやすさ
- 対話的なインターフェース
- 分かりやすいエラーメッセージ
- 進捗状況の可視化
前提条件
スクリプトを実行する前に、以下のツールがインストールされている必要があります:
使い方
1. スクリプトのダウンロードと実行権限の付与
2. スクリプトの実行
3. 対話的な設定orファイルに直接入力
スクリプトを実行すると、以下の情報を対話的に入力します:
もしくは、claude-code-to-github-secrets.sh
にGitHubユーザー名(または組織名)とリポジトリ名をあらかじめ入力しておけば、毎回入力する手間を省けます。
4. 確認と実行
この後に
と表示されたら、無事に設定完了です。
トラブルシューティング
よくある問題と解決方法
1. GitHub CLIが認証されていない
解決方法: gh auth login
を実行してGitHubにログインしてください。
2. キーチェーンから認証情報を取得できない
解決方法: Claude Codeアプリケーションでログインし直してください。
3. リポジトリへのアクセス権限がない
解決方法: リポジトリへの書き込み権限があることを確認してください。
セキュリティのベストプラクティス
-
定期的なトークンローテーション: Claude Codeのトークンは定期的に更新されるため、必要に応じてGitHub Secretsも更新してください。
-
最小権限の原則: GitHub Actionsのワークフローでは、必要最小限の権限のみを付与してください。
-
監査ログの確認: GitHub Secretsへのアクセスログを定期的に確認してください。
まとめ
このスクリプトを使用することで、Claude Codeの認証情報を安全かつ効率的にGitHub Secretsに転送できます。これにより、以下のような自動化が可能になります:
- コードレビューの自動化
- ドキュメント生成の自動化
- テストコードの自動生成
- リファクタリング提案の自動化
Claude CodeとGitHub Actionsを組み合わせることで、AI支援による開発ワークフローの自動化を実現し、開発効率を大幅に向上させることができます。
参考リンク
注意: このスクリプトは2025年6月時点の情報に基づいています。Claude CodeのAPI仕様やGitHub Actionsの機能は今後変更される可能性があります。