Slackでチーム開発していて、Claude Codeをチャットから動かしたい人向け
チームのSlackにバグ報告や機能追加の話が上がったとき、その会話を抜けずに #チャンネルの中で @Claude に直接「これ調べて直して」と頼み、修正からPR作成までスレッド内で完結させたい場面で使う。先に管理者がアプリを入れ、各自がClaudeとGitHubを繋ぎ、使うチャンネルで /invite @Claude しておく。
チームのSlackで「この画面でエラーが出た」とバグ報告が上がったとき、それを開発担当が拾って、エディタを開いて、claude.ai/code を開いて、状況を貼り直して…と毎回手作業で運んでいませんか。Slack連携は、その運搬をまるごと省きます。Slack上で @Claude に「これ直して」と話しかけるだけで、Claude Code on the web のセッションが裏で勝手に立ち上がり、コードを直してくれます。
会話を抜けずに開発を任せられる。ここが一番の肝です。報告が上がったチャンネルの中で、報告した人もそれを見ている人も巻き込んだまま、修正が進んでいきます。
噛み砕くと、Slackに「実装担当のメンバー」を1人追加するイメージ
新しい職場に開発メンバーが1人入ってきて、Slackのチャンネルに常駐している。そんな感覚に近いです。誰かが @Claude と話しかけて「ログインボタンが反応しないので見て」と頼むと、その人が席で作業を始める。途中経過をスレッドに「いま調べてます」「ここが原因でした」と報告し、終わったら「直しました、確認してください」とまとめて返してくる。
違うのは、この担当が「コードの話かどうか」を自分で見分ける点です。公式の説明では、@Claude へのメッセージをClaudeが読んで、コーディング依頼だと判断したら自動でClaude Code側に振り分けます。雑談やちょっとした質問は普通のチャット応答で返す。実装の話だけ、裏のセッションが立ち上がる仕組みです。
これ、地味にラクです。
大事な前提:これは「web版とGitHubが繋がっている人」だけ動く
Slackにアプリを入れただけでは1ミリも動きません。公式が挙げる前提は4つあって、どれか欠けると @Claude に頼んでも普通のチャット返答しか返ってきません。
ざっくり言うと、(1) Claude Code が使えるプラン(Pro か Max か Team か Enterprise)、(2) Claude Code on the web が有効になっていること、(3) GitHubアカウントが web版に繋がっていて、作業対象のプロジェクトが最低1つ認証済みであること、(4) 自分のSlackアカウントとClaudeアカウントが紐づいていること。この4点セットです。
特に(3)が抜けがちです。webにサインインしただけで満足して、肝心のプロジェクトを1つも繋いでいないと、セッションは作られても「どのコードを触ればいいの?」状態になります。
「料理ブログのバグ報告」を例に、実際の流れを見る
チームで料理ブログを運営していて、Slackに「#bug-report」チャンネルがあるとします。読者から「レシピ検索が動かない」という連絡が来て、運営メンバーがそれをチャンネルに貼ったところから追っていきます。
ステップ1: 管理者がSlackにClaudeアプリを入れる
これは個人ではできません。公式は「ワークスペースの管理者がSlack App MarketplaceからClaudeアプリを入れる必要がある」と明記しています。チームに「Slackの管理権限を持っている人」がいて、その人が一度だけ入れる作業です。
ステップ2: 自分のClaudeアカウントを繋ぐ
アプリが入ったら、使う人それぞれが自分のアカウントを接続します。SlackのAppsからClaudeを開いて、App Homeタブに行き、「Connect」を押す。ブラウザが開いて認証が終われば完了です。ここは1人ずつ自分でやる必要があります。
ステップ3: web版でGitHubと料理ブログのプロジェクトを繋ぐ
claude.ai/code に、Slackで繋いだのと同じアカウントでサインインします。そこでGitHubアカウントを接続し、料理ブログのプロジェクトを認証する。これで「@Claudeに頼んだとき、どのコードを触ればいいか」が決まります。前提の(3)を満たすのがここです。
1. claude.ai/code を開く
2. Slackと同じアカウントでサインイン
3. GitHubアカウントを接続
4. 料理ブログのプロジェクトを「認証」して触れる状態にする
ステップ4: 振り分け設定(Routing Mode)を選ぶ
App Home に「Routing Mode」という設定があります。これは @Claude へのメッセージをコーディング側に振るか、チャットにも振るかの切り替えです。2つから選びます。
- Code only:
@Claudeへの呼びかけを全部Claude Code側に流す。「うちのチームはSlackのClaudeは開発専用」という場合向け。 - Code + Chat: メッセージごとにClaudeが中身を見て、コードの話ならCode、文章や質問ならChatに振り分ける。「1つの
@Claudeで何でも頼みたい」場合向け。
Code + Chat にしておいて、思った側と違う方に振られたときは、後から「Retry as Code」を押せば実装側にやり直させられます。最初はCode + Chatで様子を見るのが無難だと思います。
ステップ5: バグ報告のチャンネルにClaudeを招待する
ここが初心者の一番の勘違いポイントです。アプリを入れても、Claudeは自動ではどのチャンネルにも入りません。使いたいチャンネルで /invite @Claude と打って、明示的に招待する必要があります。「#bug-report」で使いたいなら、そのチャンネルで招待する。招待していないチャンネルでは、@Claude と呼んでも完全に無反応です。
# #bug-report チャンネルで打つ
/invite @Claude
ステップ6: 実際に @Claude にバグを頼む
準備が終われば本番です。「#bug-report」のスレッドで、こう投げます。
@Claude レシピ検索が動かなくなってる。
検索ボックスに文字を入れてEnterを押しても結果が出ない。
原因を調べて直してほしい
するとClaudeが「コードの依頼だな」と判定してセッションを立ち上げ、スレッドに「調べています」と進捗を投稿し始めます。完了すると @ 付きで「ここが原因でした、こう直しました」というまとめと、ボタンが返ってきます。「View Session」で全文を見て、問題なければ「Create PR」でそのまま変更を提案できる。スレッドの中で報告から修正提案まで完結します。
つまりSlack連携は何をしてくれるのか
- やってくれる: Slack上の
@Claudeから、会話を抜けずにコード修正セッションを立ち上げ、進捗をスレッドに流し、完了後にPR作成まで運ぶ。 - やってくれない: GitHub以外(GitLab等)のプロジェクトを触ること、1つのセッションで複数のPRを一気に作ること、DMでの作業。
- 意味が薄い場面: ファイルをその場でアップロードしたい、開発中にリアルタイムでやり取りしたい長く複雑な作業。これは公式も「web版を直接使え」と言っています。
使いどころ3シナリオ(料理ブログ運営で再現)
シナリオ1: 読者からのバグ報告を、その場で直す
「#bug-report」に「スマホでレシピ画像が表示されない」と上がる。担当が手を止めて調査…の前に、報告のスレッドで @Claude これ調べて直して と投げる。Claudeはスレッドの会話(どの端末で、どの画面で起きたか)を文脈として読み取り、その情報を使って原因を探ります。報告と修正が同じスレッドに並ぶので、後から「あのバグどうなった?」を探す手間も消えます。
シナリオ2: ちょっとした機能追加を、議論の流れのまま頼む
「#dev」で「レシピに調理時間の表示を足したいね」という雑談が盛り上がる。その流れで @Claude 調理時間バッジをレシピカードに追加して と頼めば、議論の文脈ごと拾って実装してくれます。小さな機能追加や、既存コードの整理(書き直し)はこの使い方が向いています。チームのフィードバックをそのまま実装に渡せるのが強みです。
シナリオ3: 重い作業を投げて、別の仕事を進める
「レシピデータの一括移行スクリプトを書いて」のような時間がかかる依頼をSlackで投げておき、自分は記事の校正など別の作業に戻る。Claudeが終わったら @ 付きで通知してくれるので、それまで待たずに済みます。並行して進められるのがSlack経由のいいところです。終わったらスレッドの「Create PR」を押すだけ。
初心者が踏みやすい落とし穴
- DMでは動かない。公式が明記している通り、Slack連携はチャンネル(公開・非公開どちらも可)でだけ動きます。Claudeに個別メッセージで頼んでもコードセッションは立ち上がりません。
- 導入しただけでは全チャンネルで使えない。アプリを入れても自動ではどこにも入らず、各チャンネルで
/invite @Claudeが必須です。無反応なときはまず招待済みか確認。 - GitHub以外は今は非対応。現状GitHub上のプロジェクトだけが対象です。GitLab等で管理しているチームは、この連携では動きません。
- 1セッションで作れるPRは1本まで。「ついでにあれもこれも」と複数の変更提案を1回でまとめて出すことはできません。別の修正は別セッションで。
- web版を使えない人は普通のチャット返答しか返らない。Claude Code on the web のアクセスがないメンバーが
@Claudeに頼んでも、コードセッションは走りません。前提の(2)はメンバーごとに効きます。 - チャンネルの他人の発言もClaudeが読む。公式が警告しています。
@Claudeが呼ばれると会話の文脈を読み込み、文脈にある他のメッセージの指示にも従うことがあります。信頼できる会話の中でだけ使うのが鉄則です。 - 使用量は個人プランに計上される。チーム共有の枠ではなく、頼んだ本人のプランの上限を消費します。自分が認証したプロジェクトしか触れない点もここに繋がります。
- 違うプロジェクトが選ばれることがある。Claudeは会話の文脈から自動で対象を選ぶので、たまに別のものを掴みます。「Change Repo」で選び直すか、依頼文にプロジェクト名を書いておくと確実です。
書き方
@Claude (使いたいチャンネルで /invite @Claude して招待してから、チャンネルやスレッドで呼びかける)
やってみるとこうなる
入力
@Claude レシピ検索が動かなくなってる。検索ボックスに文字を入れてEnterを押しても結果が出ない。原因を調べて直してほしい
出力例
Claudeがコード依頼と判定してClaude Code on the web のセッションを作成→スレッドに「調べています」など進捗を投稿→完了時に @ 付きで原因と修正内容のまとめ+「View Session」「Create PR」ボタンを返す。Create PRを押すとその場で変更を提案できる。
このページに出てきた言葉
- Claude Code on the web
- ブラウザ上で動くClaude Code。<code>claude.ai/code</code> で開く。Slack連携で立ち上がるセッションの実体
- セッション
- Claudeが1つの作業を始めてから終わるまでのひとまとまり。依頼1件につき1つ作られる
- チャンネル
- Slackの中の話題ごとの部屋。連携はDMでは動かず、招待したチャンネルでだけ反応する
- Routing Mode
- <code>@Claude</code> へのメッセージをコーディング側だけに流すか、チャットにも振り分けるかを決める設定。App Homeで切り替える
- App Home
- Slackアプリごとの設定・状態確認ページ。Claudeの接続や振り分け設定をここで触る
- PR
- Pull Requestの略。「この変更を取り込んでほしい」とコードの修正提案を出す仕組み。1セッションで作れるのは1本まで