
Claude Code on the web から複数リポジトリを操作する:Issue作成・PR作成・コミット
こんにちは、けーまです。
Claude CodeのWeb版では、1つのセッションに複数のリポジトリを追加できます。
「接続したすべてのリポジトリに対してIssueやPRを作れるのか」「特定のリポジトリの、指定したファイルだけをコミットしてPRに含められるのか」といった操作まわりの挙動が気になるところです。
この記事では、実際に2つのリポジトリを接続したセッションを使って、複数リポジトリへのIssue・PR作成と、特定ファイルだけのコミット・PR作成を検証した結果をまとめます。
1. 検証環境と確認すること
検証には、claude-multi-repo-lab-a、claude-multi-repo-lab-bという2つのリポジトリを使いました。以降はリポジトリA・Bと呼びます。
検証専用のREADMEや検証用ファイルだけを配置した環境です。
この記事ではリポジトリA・Bの2つを接続したセッションを使います。
検証パターンとして、次の2つの操作を用意しました。
-
両方のリポジトリに対するIssueとDraft PRの作成
-
片方のリポジトリの指定ファイルだけに絞ったPRの作成
2. 両方のリポジトリにIssueとPRを作れるのか
1つのセッションにリポジトリA・Bを接続した状態で、両方のリポジトリに対してIssueやDraft PRを直接作成できるかを確かめます。
2.1 依頼した操作とプロンプト
事前にリポジトリA・Bの各ルートへ、それぞれのCLAUDE.mdの指示に従った検証用ファイル probe-result.txt を作成しておきました(Aの内容は repo=A; color=amber、Bは repo=B; color=blue)。
そのうえで、次の表のように各リポジトリへのcommit・push・Draft PR作成・Issue作成を依頼しました。
| リポジトリ | 作成するDraft PRの差分 | 作成するIssue |
|---|---|---|
| リポジトリA | probe-result.txt の追加 |
[検証用] Multi-repository issue probe |
| リポジトリB | probe-result.txt の追加 |
[検証用] Multi-repository issue probe |
実際に送信したプロンプトは次のとおりです。
次に、接続済みのテスト用A・B両方にGitHubへの書き込みを検証してください。
各リポジトリで probe-result.txt だけを検証用ブランチにcommit・pushし、main向けのDraft PRを1件ずつ作成してください。
タイトルは「[検証用] Multi-repository file probe」、本文は「Claude Code Webの複数リポジトリ検証。合成データのみ。マージ不要。」とします。
さらに各リポジトリにIssueを1件ずつ、タイトル「[検証用] Multi-repository issue probe」、本文「Claude Code Webから両リポジトリへのIssue作成が可能かを確認するテストです。」で作成してください。
認証情報を表示したり、新しく追加したりしないでください。
権限不足・ポリシーブロックが出た操作は別手段で回避せず、その操作を止めてください。
他の既存リポジトリには触れず、PRをマージしないでください。
2.2 実行結果とGitHub上の状態
私の環境では、リポジトリA・Bの両方で検証用ブランチへのcommit・push、Draft PRの作成、Issueの作成が完了しました。

A・Bそれぞれに独立したIssueとPRを作成
GitHubのIssue画面でも、A・Bそれぞれに検証用Issueが作成されていることを確認しました。

AのIssue。Open状態と検証目的の本文を確認

Bにも別のIssueが作成された
GitHub側で確認したところ、2件のPRはいずれもDraftかつOpenの状態で、差分も各リポジトリの probe-result.txt の1ファイルだけになっていました。
作成されたPRはリポジトリごとに1件ずつ独立していました。
複数リポジトリへの変更が、1つのPRにまとめられるような動作ではありませんでした。
3. 片方のリポジトリの指定ファイルだけでPRを作れるか
次は、複数のリポジトリやファイルに変更が存在する状況で、特定のリポジトリの指定ファイルだけに絞ってPRを作れるかを試しました。
3.1 依頼内容とプロンプト
リポジトリA・Bの両方に未追跡ファイルがある状態を作りました。
リポジトリAには selected-change.txt と unselected-change.txt を新規作成し、さらに前段の検証で残っていた hook-probe.txt や module/nested-result.txt も未追跡のまま配置されています。
この状態から、selected-change.txt だけをコミットしてDraft PRに含め、他の未追跡ファイルやリポジトリBには一切手を付けないよう指示しました。
送信したプロンプトは次のとおりです。
対象は接続済みテストリポジトリAだけです。
AとBのgit statusとブランチを確認してください。
Aに selected-change.txt(selected-only と改行)と
unselected-change.txt(leave-uncommitted と改行)を作成してください。
Aだけでorigin/mainから claude/selective-file-probe を作り、
selected-change.txtだけを明示的にaddしてcommit、pushしてください。
他の未追跡ファイルはそのまま残し、git add . と git add -A は使わないでください。
Bは変更・commit・pushしないでください。reset、clean、stashも禁止です。
Aのmain向けにDraft PRを作り、マージしないでください。
最後にPR URL、差分ファイル一覧、A/Bのgit status --shortとHEADを報告してください。
3.2 差分とブランチ状態の確認
作成されたDraft PRのFiles changedは1件で、selected-change.txt の1行追加だけでした。
Claudeの完了報告だけでなく、GitHubの差分画面でも意図どおりの差分であることを確認しています。

Draft、Files changed 1、selected-change.txtの追加を同じ画面で確認
Claude側の git status --short の出力でも、PRに含めなかったファイルは作業ディレクトリに未追跡のまま残っていました。
リポジトリBについても、前の検証で作成した未追跡ファイルを残したまま変更されていませんでした。

未選択ファイルは残し、BのHEADも維持された
今回のように「対象リポジトリ」「対象ファイル」「含めない変更」をプロンプトで明記すれば、片方のリポジトリの特定ファイルだけを安全にPRへ含めることができました。
4. 今回わかったこと
| 確認したこと | 今回の結果 |
|---|---|
| 複数リポジトリへのIssue作成 | A・B両方に独立したIssueを作成可能(GitHub MCPツール経由) |
| 複数リポジトリへのDraft PR作成 | A・Bそれぞれに独立したDraft PRを1件ずつ作成可能 |
| 特定リポジトリの指定ファイルのみのPR作成 | 他の未追跡ファイルを残したまま、指定ファイルだけをコミットしてDraft PRを作成可能 |









