Slackで開発タスクを話しているチームで、@Claude メンションからコード実装まで走らせたい人向け
副業先・本業のチームのSlack上で開発タスクが日常的に流れていて、@Claude メンションで実装依頼・PR作成までSlack内で完結させる運用を始める初日に叩く。Claudeプラン・Claude Code on the web 有効化・GitHub連携・Slackアカウントリンクの4条件が揃っていることを先に確認した上で、Claude Codeセッション内から1回だけ実行する。
Slackで開発タスクが流れてくる現場で、「このバグ直して」「この機能足して」をいちいち自分のパソコンに引き取って手を動かす運用、地味にしんどい。/install-slack-app はその往復をやめて、Slack上で @Claude とメンションするだけでClaude Codeにコード実装まで走らせるための初期セットアップを開始するスラッシュコマンドです。
動きとしては、コマンドを叩くとブラウザが開いてSlack App Marketplaceの Claude app インストール画面に飛び、OAuthで許可を出すと、Slackワークスペースに Claude bot が入る。ここからが本番で、各チャンネルで /invite @Claude を打って明示的に参加させ、スレッドで @Claude このエラー見て みたいに呼ぶと、Claude Code on the web上にセッションが立ち上がって実装が動き出します。
噛み砕くと
会社のSlackに「外部委託のエンジニア」を1人新規採用して、入館証を渡して、各部屋の鍵を個別に発行する手続き、と思ってもらうのが近いです。
採用の事務手続き自体は /install-slack-app 1回で終わる。けど採用したからといって全部屋に勝手に入れるわけじゃなく、各部屋で「この人入れていい?」を別途やる必要がある。これがあとで効いてくる落とし穴の正体です。
大事な前提:このコマンドは4つの条件が揃った状態で叩く
公式ドキュメントが前提条件を表で4つ明示しています。1つでも欠けると、コマンドを叩いてOAuthを通しても、Slackで @Claude しても普通のClaude Chatが返事するだけでコード実装は動きません。
1つ目、Claudeのプランが Pro・Max・Team・Enterprise のいずれかで Claude Code アクセスが含まれていること。2つ目、Claude Code on the web の利用が有効化されていること。3つ目、GitHubアカウントが Claude Code on the web に連携済みで、最低1つのプロジェクト一式が認証済みであること。4つ目、自分のSlackアカウントがClaudeアカウントとClaudeアプリ経由でリンクされていること。
あと地味に重要なのが、Slackワークスペースにアプリを入れるのは管理者権限が必要、というところ。副業先で勝手にやると怒られます。
「副業先のSlackで降ってきたバグ修正」を例に、実際の手順を見る
副業で入っているSaaSスタートアップのSlackに、PMから「投稿フォームの送信ボタンを2回連打すると二重登録される、優先度高めで」と #dev チャンネルに投げ込まれた、という想定で順を追います。
ステップ1:前提4つを自分側で先に潰す
ターミナルでも、claude.ai/code をブラウザで開いてもいい。重要なのはここで4条件をクリアしておくこと。プランの確認、Claude Code on the web の有効化、GitHub上で副業先のプロジェクト一式 shopstart/checkout-app が連携済み、Slackアカウントがリンク済み、を1個ずつチェックします。
ここを飛ばして先にコマンド叩く人がよくいる。インストール自体は成功して Slack に Claude bot は現れるんだけど、メンションしても普通のチャットbotとして応答するだけで、コード変更も変更取り込み依頼の作成もしない状態になります。
ステップ2:Claude Code起動後、/install-slack-app を叩く
$ claude
> /install-slack-app
叩いた直後、ターミナルに「ブラウザを開きます」みたいな案内が出てSlack App Marketplaceの「Add to Slack」画面に飛びます。ここで対象ワークスペース、つまり副業先のSlackを選んで「許可」ボタン。OAuthのフローが走って、許可が通ると副業先のSlackのアプリ一覧に「Claude」が追加されます。
ステップ3:Claude App Homeで自分のアカウントを紐付ける
Slackの左サイドバー「Apps」セクションから「Claude」をクリック → App Home タブを開く → 「Connect」ボタンを押す。ブラウザに飛んで、自分のClaudeアカウントとSlackアカウントを紐付ける認証フローが走ります。
ここで「インストールはワークスペース単位、認証はユーザー単位」という二重構造を踏みます。Claude bot が部屋に入っただけでは自分用に動かない、各自が自分のClaudeアカウントを別途接続する必要がある、と覚えておくと混乱しません。
ステップ4:Routing Modeを決める
同じ App Home に Routing Mode という設定があります。選択肢は2つ。
- Code only:
@Claudeのメンションは全部 Claude Code セッションに飛ばす。コーディング専用で使いたい開発チーム向け - Code + Chat:メッセージの中身を見て、コーディング案件なら Claude Code、文章・分析・一般質問なら Claude Chat に振り分ける。1つの
@Claudeで全用途まかないたいチーム向け
ここで初心者がやりがちな勘違いがあって、「Code + Chat の方が万能だからこっちにしておこう」と選ぶと、雑談まじりのメッセージが Claude Chat に振り分けられてしまい「実装してほしかったのに」になりがちです。実装を主目的にするチームは Code only の方が事故が減ります。間違って振り分けられた時用の「Retry as Code」ボタンも用意されてはいる。
ステップ5:該当チャンネルでClaudeを招待する
#dev チャンネル内で:
/invite @Claude
これを忘れると、ワークスペース全体にアプリは入っているのに #dev チャンネルでメンションしても無反応、という状態になります。インストール完了後、Claude bot は自動でどのチャンネルにも参加しません、というのが公式の明記事項です。チャンネル単位で /invite を打つ必要がある。
ここがアクセス制御の主戦場でもある。「Claude Code を触らせていいメンバーがいる部屋だけに招待する」運用で、ワークスペース全体に開放せずに済みます。
ステップ6:スレッドで @Claude メンションして実装を依頼
PMが立てた「投稿フォーム送信ボタンが二重登録」のスレッドに、対応者として入って次のように書く。
@Claude このスレッドの再現手順を見て、shopstart/checkout-app の SubmitButton.tsx で
ダブルクリック防止(送信中はボタンを無効化)を実装してください。
done条件は:
- 既存テストが通る
- 二重登録の再現テストを1つ追加
- 変更取り込み依頼の作成まで
Claudeはスレッド内の全メッセージを読んで文脈、つまり再現手順・PMの優先度・関連ログを拾い、claude.ai/code 上に新しいセッションを立ち上げて作業を開始。Slack上には進捗のステータス更新が逐次ポストされ、完了すると「@自分」付きの完了通知に「View Session」「Create PR」ボタンが表示される。Create PR を押すと GitHub 上に PR、つまり変更内容の取り込み依頼が立ちます。
つまり /install-slack-app は何をしてくれるのか
- やってくれる:ブラウザを自動で開いて Slack App Marketplace のインストール画面まで連れて行く。ここから先の OAuth 許可・ワークスペース選択は人間が画面でやる
- やってくれない:Slackワークスペースに勝手にアプリを入れる手続き。これは管理者の許可ボタンが必要。各チャンネルへの自動参加もしない。
/invite @Claudeは人間が個別に打つ。Claude Code on the web の有効化や GitHub 連携も別途必要 - 意味が薄い場面:チームが既に Claude Code を各自のターミナルで回していて、Slack上で実装依頼が発生しない働き方をしている場合。あと Slack 自体を業務で使っていないチーム
使いどころ3シナリオ
シナリオ1:副業先で「Slackで降ってきたバグを30分で潰す」運用にしたいとき
副業のSaaSスタートアップ、たとえば社員5人・Slack中心の運用・副業エンジニア3人の現場で、PMがバグ報告をSlackに投げる文化がある場合、/install-slack-app で Claude app を入れて #bugs チャンネルに /invite @Claude しておくと、PMが投稿した瞬間に副業エンジニアの誰かがスレッドで @Claude このスレッド見て直して と振れる。再現条件がスレッドに全部書いてあるので、自分のパソコンに引き取って手元で再現する手間がスキップされます。
シナリオ2:OSSの maintainer が issue トリアージをSlackでやっているとき
OSSプロジェクト、たとえば画像処理ライブラリ imagekit-py、コントリビューター12人の現場で、maintainer 陣がプライベートな Slack で「この issue は誰が見る?」を毎朝相談しているとする。/install-slack-app を入れておくと、相談スレッドの結論として「これ Claude に first draft だけ作らせてみよう」が選択肢に入る。スレッドの文脈、つまり issue 番号・該当ファイル・過去の breaking change 議論を全部読ませた上で初稿のPRを書かせて、人間レビュアーが上に乗る運用にできます。
シナリオ3:分散チームの非同期コードレビュー文化を強化したいとき
東京・サンフランシスコ・ベルリンに3人ずつエンジニアがいるリモートチームで、時差で同期ミーティングが取りづらい場合、Slack上で @Claude このPRのこの関数、もっと読みやすく書き直して と書ける状態にしておくと、レビュー往復のうち「リファクタ案を1つ用意する」工程が非同期で進む。レビュアーは「Claudeのリファクタ案を採用するか・別案にするか・元のままにするか」を判断するだけで済みます。
初心者が踏みやすい落とし穴
- DM では絶対に動かない。公式が明記している通り「Claude Code in Slack only works in channels (public or private)」で、DM でメンションしても無反応です。「とりあえず Claude bot と DM で試そう」が初手で詰む
- インストール後、Claudeはどのチャンネルにも自動参加しない。「インストールしたのにメンションが効かない」の9割はこれ。各チャンネルで個別に
/invite @Claudeを打つ必要がある - GitHub のみ対応、GitLab や Bitbucket は不可。「Currently supports repositories on GitHub」と公式が明示。社内Gitホスティングで運用しているチームは現状使えない
- 1セッション = PR 1本まで。「One PR at a time: Each session can create one pull request」が公式制約。複数の関連PRを同時に走らせたい時は、依頼を分けて別スレッドで
@Claudeし直す必要がある - Claude Code on the web のアクセス権が無いユーザーがメンションしても、普通の Claude Chat の返事しか返ってこない。「Web access required」が公式制約。チーム内で「私のところだけ実装が動かない」と感じたら、まずここを疑う
- 使用量と利用枠は招待した人ではなく、メンションした個人のClaudeプラン側に乗る。「Sessions count against the individual user's plan limits」。チーム内で「Claudeに頼みすぎると上限を消費する」のは自分のアカウントです
- スレッド内の他人のメッセージから指示を拾うリスク。公式が警告で明記している通り、Claudeはスレッド文脈を全部読むので、信頼できないSlack会話でメンションするとプロンプトインジェクション的な事故の余地が残ります。外部参加者がいるチャンネルでは慎重に
- 管理者が後からアプリをワークスペースから外すと、全ユーザーのアクセスが即座に切れる。「Removing the app from a workspace immediately revokes access for all users」。個人として依存していると、ある日突然全機能が使えなくなることがある
書き方
/install-slack-app
やってみるとこうなる
入力
/install-slack-app
出力例
ブラウザが自動で開き、Slack App Marketplace の Claude app インストール画面 https://slack.com/marketplace/A08SF47R6P4 に遷移する。対象のSlackワークスペースを選んで「Add to Slack」→ 許可ボタンを押すとOAuthフローが完了し、選んだワークスペースの「Apps」一覧に Claude が追加される。ここからは Slack 側で App Home → Connect → Routing Mode 設定 → 各チャンネルで /invite @Claude、の手順に進む。
このページに出てきた言葉
- Slack App Marketplace
- Slackに追加できる外部アプリの公式配布所。<code>https://slack.com/marketplace</code> から各アプリの「Add to Slack」ボタンで導入する
- OAuth
- アカウントを別サービスに「連携していいよ」と許可する仕組み。ログイン情報を直接渡さず、許可ボタン1個で連携が完了する標準的な認可方式
- Slackワークスペース
- 1つの組織が使うSlackのチャンネル集合体。会社・チーム単位で1つ持つ
- Routing Mode
- @Claude メンションを Claude Code セッションに飛ばすか、Claude Chat に飛ばすかの振り分け設定。Code only と Code + Chat の2択
- Claude Code on the web
- ブラウザ版のClaude Code。<code>claude.ai/code</code> から開く、ターミナル版と機能はほぼ同じ画面操作版
- プロジェクト一式
- コードとその変更履歴をまとめて保存している箱。GitHub上で一覧表示されているプロジェクトの単位
- PR(変更取り込み依頼)
- GitHub上で「自分の変更を本体に取り込んでください」と申請する仕組み。レビュアーの承認を経て本体にマージされる
- DM
- Slackのダイレクトメッセージ機能。1対1または少人数の非公開会話で、チャンネルとは別系統