Claude Code in Slack: @Claude Tasks, Routing, and Claude Tag
Mention @Claude with a coding task in a Slack channel and Claude can start a Claude Code cloud session, work on one of your GitHub repositories, post progress in the thread, and hand back a pull request. The context the request needs, such as a bug report and the discussion around it, is already in the conversation, which is what makes Slack a natural place to start the work.
There are now two Slack integrations, and which one applies depends on your plan and workspace. The earlier Claude Code in Slack runs each session under the mentioning user's own Claude account, and answers channel mentions only from Pro and Max accounts in workspaces not connected to Claude Tag. Claude Tag is the organisation-managed version for Team and Enterprise, where @Claude acts as the organisation's shared identity with admin-configured access.
This guide follows Anthropic's documentation for the earlier version, notes where Claude Tag differs, and covers setup, routing, the session flow, the security model, and limits. Sessions run in the cloud, so Claude Code Cloud Sessions explains the environment underneath.
Which integration applies to you
Start here, because the answer changes everything else:
- Pro or Max, workspace not connected to Claude Tag: use the earlier Claude Code in Slack described in this guide. Claude Tag is not available on individual plans.
- Team or Enterprise: your existing Slack app and @Claude handle keep working, but new workspaces should set up Claude Tag, and existing ones can migrate. Anthropic's Claude Tag docs cover both.
- A notice instead of an answer: "This workspace isn't set up for Claude Tag yet" means no organisation has connected the workspace and your linked account is not Pro or Max. "The legacy Claude in Slack bot is retired" means an organisation has connected the workspace but the channel still uses the earlier version; an Owner turns on Claude Tag for that channel, workspace, or organisation default.
The core difference is identity. In the earlier version, each session runs as the person who mentioned @Claude: their repositories, their plan limits, their session history. In Claude Tag, @Claude is a shared organisational identity, and its sessions need organisation-shared cloud environments rather than someone's personal one.
Quick reference
- The earlier version's retirement notice states it stopped responding in channels on 5 October 2026 for workspaces connected to an organisation that still selects it.
- In Claude Tag, a channel session fails immediately if its cloud environment belongs to a personal account; an Owner shares or recreates it as an organisation environment.
- Check Anthropic's Claude Tag documentation for its setup; it is a separate product page.
Remember this
Pro and Max use the earlier per-user integration; Team and Enterprise move to Claude Tag's shared identity.
Set up the earlier Claude Code in Slack
Prerequisites: a Pro or Max plan, cloud sessions enabled for your account, a GitHub account connected at claude.ai/code with at least one repository, and a Slack workspace not connected to Claude Tag.
1. Install the app. A workspace administrator installs the Claude app from the Slack App Marketplace.
2. Connect your account. Open the Claude app in Slack, go to App Home, click Connect, and finish in the browser.
3. Configure cloud sessions. Sign in at claude.ai/code with the same account, connect GitHub, and authenticate the repositories Claude should work with. This step also creates your default cloud environment.
4. Choose a routing mode in App Home (next section).
5. Invite Claude to channels with /invite @Claude. Installing the app does not add it anywhere, and it answers only in channels where it is a member.
Each user does steps 2 and 3 individually. "Claude Code is not enabled for your account" means you have not finished web onboarding at claude.ai/code yet.
Quick reference
- It works in public and private channels, not in direct messages.
- For Enterprise Grid, organisation admins control which workspaces get the app; removing the app revokes access for everyone in that workspace immediately.
- Repositories must be on GitHub; other hosts are not supported.
Remember this
Admin installs the app, each user connects their account and GitHub, and someone invites @Claude to the channels where it should work.
Routing modes and the session flow
Routing mode, set in App Home, decides what an @mention becomes:
- Code only: every @mention starts a Claude Code session. Best when the channel is only for development work.
- Code + Chat: Claude classifies each message and sends coding tasks to Claude Code and everything else (writing, analysis, questions) to a regular chat reply. If it guesses wrong, Retry as Code (or the chat option in the thread) switches it.
In both modes you can say explicitly that something is a coding task. Once routed to Code, the flow is:
1. Claude reads the thread (or recent channel messages) for context and picks a repository. If several could apply, it shows a dropdown. 2. A new cloud session starts on claude.ai/code. 3. Claude posts status updates in the thread. 4. When it finishes, it @mentions you with a summary and buttons: View Session for the full transcript, Create PR to open a pull request, and Change Repo if it chose the wrong repository.
The full session stays in your history at claude.ai/code, where you can continue it.
Quick reference
- Write requests the way you would brief a colleague: file or function names, the error, and what done means (tests? docs? a PR?).
- Reply in a thread rather than the channel, so Claude gathers the whole discussion as context.
- Name the repository in the request if your account has several connected; it avoids a wrong guess.
Remember this
Pick Code only or Code + Chat, mention @Claude in a thread with a specific request, and finish with Create PR.
Context, prompt injection, and access
Claude reads the conversation to understand a request, and Anthropic's docs warn directly: Claude may follow directions from other messages in the context, so use it only in trusted Slack conversations. In a channel shared with external organisations, or one where bots post untrusted content, another message could steer the session, which runs with the mentioning user's GitHub access.
Access in the earlier version is layered:
- User level: sessions run under each user's own Claude account, count against their plan, and can reach only repositories that user connected. Sessions appear in their own history.
- Workspace level: admins decide whether the app is installed at all, and removing it revokes access for everyone.
- Channel level: @Claude answers only where it has been invited, so channel membership controls who can use it.
On Team and Enterprise accounts, sessions created from Slack are automatically shared with Team visibility in the organisation. Every change still reaches the codebase only through a pull request, so normal code review is the final control.
Quick reference
- Do not invite @Claude to Slack Connect channels or channels with automated posts from untrusted sources.
- A request in a thread includes every message in it, including old ones; start a new thread for a new task.
- Review Claude's pull requests like any contributor's; branch protection still applies.
Remember this
Claude may act on any message in the context it reads, so restrict it to trusted channels and review every PR.
Limits and troubleshooting
The documented limitations are short: repositories must be on GitHub, each session can create one pull request, and users need access to cloud sessions. Because sessions are cloud sessions, everything about cloud environments applies too: only committed configuration carries over, network access follows the environment's level, and secrets belong in network secrets.
When to use Slack and when to use the web: Slack is best when the context is already in a discussion, when you want to start something asynchronously, or when teammates need to see it. Go to claude.ai/code directly when you need to upload files, steer the work in real time, or run a long and complex task.
| Symptom | Cause | Fix |
|---|---|---|
| Claude Code is not enabled for your account | No cloud environment yet | Finish web onboarding at claude.ai/code with the same account |
| Sessions do not start | Account not connected, cloud sessions off, or no repo | Check App Home connection, cloud sessions, and a connected GitHub repo |
| Repository not listed | Not connected or no GitHub permission | Connect it at claude.ai/code; reconnect GitHub if needed |
| Wrong repository | Ambiguous context | Click Change Repo, or name the repo in the request |
| No reply in a channel | Claude not invited, or a DM | Run /invite @Claude in a channel |
Quick reference
- Authentication errors usually clear by disconnecting and reconnecting your Claude account in App Home.
- Sessions count against the mentioning user's plan limits, so a busy channel spends one person's usage.
- If you need one shared identity, admin-managed access, or Team and Enterprise support, that is what Claude Tag is for.
Remember this
GitHub only, one PR per session, and cloud-session rules apply; use the web for interactive or long tasks.
Hands-on: one bug from a Slack thread to a PR
You need a Pro or Max account and a test Slack workspace not connected to Claude Tag.
1. Have an admin install the Claude app; connect your account in App Home; finish web onboarding at claude.ai/code and connect a test repository.
2. Set routing to Code + Chat, create a private channel, and /invite @Claude.
3. Post a short bug report in the channel, then in its thread write: @Claude in <repo>, fix this bug and add a test that reproduces it.
4. Watch the thread updates, then click View Session and read what Claude did.
5. Click Create PR and review the pull request on GitHub.
6. In a new thread, ask a general question with @Claude and confirm it gets a chat reply rather than a session.
Pass criterion: the coding request produced a reviewed PR with a test, and the general question was routed to chat.
Quick reference
- If nothing happens, check that Claude is a member of the channel and that you mentioned it in a channel, not a DM.
- If it picked the wrong repository, use Change Repo and note that naming the repo avoids it.
- Remove Claude from the test channel when you are done.
Remember this
One thread, one specific request, one reviewed PR is the right first test.
Key takeaway
Claude Code in Slack turns an @Claude mention into a cloud session that works on your GitHub repository and returns a pull request, with progress posted in the thread. The earlier integration covered here runs as each user's own account, so it uses their repositories and plan limits, and it answers channel mentions only from Pro and Max accounts in workspaces not connected to Claude Tag. Team and Enterprise organisations use Claude Tag, a shared @Claude identity with admin-configured access.
The important caution is context: Claude reads the thread and may follow instructions in it, so invite it only to trusted channels, and review every PR it opens. For the same work from a terminal, see Claude Code Cloud Sessions; for repository-triggered automation, see Claude Code GitHub Actions.
Practice (30 min): complete the six steps above, then write the two-line request template your team would use for bug reports in Slack.
References
- Claude Code docs: Claude Code in Slack — checked Oct 17, 2026
- Claude Code docs: Use Claude Code in the cloud — checked Oct 17, 2026
- Claude Tag overview — checked Oct 17, 2026
Shoaib Hossain
Lead Author & Systems ArchitectSoftware engineer and distributed systems architect specializing in backend scalability, cloud-native infrastructure, databases, and AI engineering workflows. Author and maintainer of Core Concept Learning.
Related Articles
Explore this topic