Slack is where bugs get reported, decisions get made, and “can someone take this?” turns into real work.
Claude Code in Slack turbocharges Claude’s basic Slack app, and it’s perfect for these moments.
In fact, this integration is a serious breakthrough for developer speed. You no longer have to context-switch out of Slack when tackling smaller bugs and tickets; now, just fire off an @Claude fix this in the thread and check back later.
Claude will gather context from the chat, create a cloud-based instance, do the work, and even generate a PR. It’s a fantastic workflow.
This guide covers:
- How to set up Claude Code in Slack
- How routing works (and how to force Code Mode when needed)
- Starter prompts you can copy/paste by workflow
- Troubleshooting
- Limitations and Alternatives
Let’s briefly run through the whole workflow before getting into specifics:
Claude’s original Slack integration provided a chat interface. This was great, and you could already do neat stuff like summarize emails, interact with other platforms, or harness Claude’s full chat-based powers. But, it was always just that: chat.
The newer Claude Slack app now also codes. You can still chat, but you can also route coding requests into a web-based Claude Code session, bringing along Slack context and posting updates back to the thread.
Here’s a useful mental model:
- Slack = trigger + context + status surface
- Claude Code (on the web) = execution surface where the coding work happens
Before continuing, confirm:
- You have a plan that supports Claude Code (Pro/Max/Team/Enterprise).
- The Claude app is installed in your Slack workspace (often by an admin).
- You’ve connected your Claude account to Slack from the Claude app’s home.
- GitHub is connected to Claude Code, and the repos you want are authenticated.
If you’re looking for a more general breakdown of Claude Code, start here.
An admin installs the Claude app from the Slack App Marketplace.
Open the Claude app in Slack (App Home), click Connect, and complete the browser authentication flow.
Claude Code in Slack relies on the repos you’ve authenticated for Claude Code. Connect GitHub and approve the repos you want Claude to work in.
Claude Code Slack supports two modes:
- Code only: all @mentions go to Claude Code
- Code + Chat: Claude decides whether a message should be handled as Chat or Code
If you’re in Code + Chat mode and Claude routes to Chat, but you wanted Code, you can prompt Retry as Code.
Claude only responds where it’s invited. Use:
/invite @Claude
Claude can pull context from:
- The thread where you mention
@Claude - Recent channel messages for additional context
When a task is routed to Code, Claude starts a Claude Code session (on the web) and posts updates and links back in Slack.
Use this when you have repro steps or a clear symptom in a thread.
Template
@Claude This thread describes a bug in <repo>. Please (1) summarize the issue + repro steps from the thread, (2) identify likely root cause, (3) implement a fix, and (4) open a PR. Post progress updates here and link the PR when ready.
Claude is explicitly built to move Slack context into a coding session and report back.
Ask for a plan first to prevent churn.
Template
@Claude In <repo>, implement <feature>. First reply with a short plan + risks. After that, implement and open a PR. Acceptance criteria: <AC1>, <AC2>, <AC3>.
Great for mechanical, cross-file improvements.
Template
@Claude In <repo>, apply this change everywhere: <rule>. List the files you plan to touch first, then implement and open a PR.
Turn thread chaos into a short diagnosis and a safe fix.
Template
@Claude Summarize this thread in 5 bullets, propose 2 likely root causes, and a quick validation plan. If a fix is low-risk, implement it in <repo> and open a PR with rollout notes.
Claude only responds in channels where it’s invited. Run:
/invite @Claude
If you are in Code + Chat mode, Claude may route to Chat. Use Retry as Code to create a Claude Code session.
Authenticate the repo in Claude Code (GitHub connection + repo auth). Claude Code in Slack works with repos you’ve authenticated there.
Using Claude Code via Slack comes with some big gotchas:
- Slack isn’t the real “dialog” surface. It’s mainly to kick off the web-based Claude Code session and to receive updates or PR links. If you want an actual conversation with the model, you need to move to the Claude Code web UI.
- Collaboration is weak. Forcing the dialog into Claude Code also limits the opportunities for true collaboration between teammates in real-time.
- No ability to test UIs. Any code that involves any kind of UI needs to be rendered and viewed for proper testing. Claude Code lacks a way to preview or render frontend changes, which is essential for ensuring high-quality PRs.
Why I prefer the Builder Agent’s Slack interface:
- You can keep the conversation going in Slack or in Builder.
- You still get the same “Slack → PR” workflow, but with smoother collaboration.
- You can choose different LLMs under the hood.
- You can preview UI changes, which is crucial for testing frontend code and preventing junk PRs.
Net: I’d call Builder + Slack the best alternative to Claude Code + Slack right now.
There are some other reasons why you might prefer Builder + Slack to Claude Code + Slack:
- The task is UI-related and needs design-system fidelity Builder is built around shipping UIs with shared components and design context (including Figma and the existing codebase).
- You want consistent team routing (Space/Project context) Builder’s Slack integration is designed to connect directly to a Builder Space via
/builder configure, so Slack requests land in a consistent team context instead of depending on “which repo did Claude pick?” - Slack is only one entry point, and you also need Jira- or Linear-based workflows Builder supports Jira and Linear integrations (assign tickets to Builder, comment with
@Builder) so work can start wherever your team encounters it.
Claude Code in Slack turns threads into code sessions and PRs. Use it when the work is mostly engineering execution from Slack. It’s an incredible workflow.
But if the request is UI-related, or you need repeatable team workflows across projects and tools, or you want to have a back-and-forth dialog with the agent in Slack, use Builder instead.