Follow Discord
Sweep 23 Oct 2026 · 21:48Z Build v2.1.310 529 read Stable v2.1.308 Latest v2.1.309 Next v2.1.310 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-docs

Configure per-channel access changedclaude-tag/admins/attach-to-scope

Nearest release: v2.1.299, published 2 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 14 Oct 2026 02:34 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 23 Oct 2026 18:07 UTC.

Upstream edited
Recorded here
Lines+30added
Lines−30removed
From line 8 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits30to this page, all time

The whole hunk

from line 8, old and new numbered
/
lines
from line 8
88 
99A bundle applies at one of three levels, called scopes, and each has its own page on the **Channels** tab under **Claude's access** at [`claude.ai/admin-settings/claude-tag`](https://claude.ai/admin-settings/claude-tag). The **Slack** page covers every connected workspace and channel, a workspace's page covers the channels in that workspace, and a channel's page covers one channel. Bundles inherit downward through those scopes, and when credentials overlap, Claude uses the one from the narrowest scope.
1010 
11An Owner in your Claude organization, or a [Claude Tag admin](/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration), can choose where a bundle applies. Attaching a bundle to channels by name needs an Owner.
11An Owner in your Claude organization, or a [Claude Tag admin](https://claude.com/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration), can choose where a bundle applies. Attaching a bundle to channels by name needs an Owner.
1212 
13This page assumes you have already [paired a workspace](/docs/claude-tag/admins/setup-overview#pair-your-slack-workspace) and [created a bundle](/docs/claude-tag/admins/add-connections.md).
13This page assumes you have already [paired a workspace](https://claude.com/docs/claude-tag/admins/setup-overview#pair-your-slack-workspace) and [created a bundle](https://claude.com/docs/claude-tag/admins/add-connections.md).
1414 
1515## How scopes inherit
1616 
from line 26
2626 
2727The same stacking applies in reverse. Removing a bundle from a channel removes only that channel's additions, and bundles on the workspace or on **Slack** still apply there.
2828 
29Memory is also scoped, but differently: there is no organization-wide memory, each channel keeps its own notes, workspace notes saved from public channels are read across the workspace, and a private channel reads the workspace notes but writes only to its own store. See [What Claude Tag remembers](/docs/claude-tag/users/memory.md).
29Memory is also scoped, but differently: there is no organization-wide memory, each channel keeps its own notes, workspace notes saved from public channels are read across the workspace, and a private channel reads the workspace notes but writes only to its own store. See [What Claude Tag remembers](https://claude.com/docs/claude-tag/users/memory.md).
3030 
31One-to-one DMs from members who have connected a Claude account run under the member's own claude.ai account. See [how DMs work in this model](/docs/claude-tag/concepts/agent-identity.md#direct-message-channels). A [DM from a member who hasn't connected a Claude account](/docs/claude-tag/admins/restrict-access.md#access-in-a-direct-message-from-a-member-without-a-claude-account) reaches bundles. A [group DM](/docs/claude-tag/admins/restrict-access.md#group-dms) gets the bundles on the workspace's page and on the **Slack** page.
31One-to-one DMs from members who have connected a Claude account run under the member's own claude.ai account. See [how DMs work in this model](https://claude.com/docs/claude-tag/concepts/agent-identity.md#direct-message-channels). A [DM from a member who hasn't connected a Claude account](https://claude.com/docs/claude-tag/admins/restrict-access.md#access-in-a-direct-message-from-a-member-without-a-claude-account) reaches bundles. A [group DM](https://claude.com/docs/claude-tag/admins/restrict-access.md#group-dms) gets the bundles on the workspace's page and on the **Slack** page.
3232 
3333## Choose where a bundle applies
3434 
from line 39
3939 
4040To stop a bundle applying somewhere, open the bundle's page and turn off that place's switch under **Where it applies**. For a workspace or channel, you can instead choose **Remove from bundle** from its row menu. Then select **Save changes**. A workspace's or channel's page lists the bundles that reach it, and each links to the bundle's page, but the page itself doesn't remove them.
4141 
42The change takes full effect in new threads only. A thread already running keeps the skills, plugins, and custom instructions it started with. A connector added after a thread started still works there if you ask Claude to use the service by name. Test with a new top-level thread after changing where a bundle applies. See [What survives between replies](/docs/claude-tag/concepts/how-it-works.md#what-survives-between-replies).
42The change takes full effect in new threads only. A thread already running keeps the skills, plugins, and custom instructions it started with. A connector added after a thread started still works there if you ask Claude to use the service by name. Test with a new top-level thread after changing where a bundle applies. See [What survives between replies](https://claude.com/docs/claude-tag/concepts/how-it-works.md#what-survives-between-replies).
4343 
4444At the channel's top level, outside any thread, Claude works from a single long-lived channel session. After a configuration change, Claude replaces that session on the next channel message, so top-level replies pick up the change from then on.
4545 
4646### Attach to a workspace
4747 
48While a bundle is off for **Slack**, every paired workspace is listed under **Where it applies** on the bundle's page. Turn on the workspace's switch and select **Save changes**, or open the workspace's page on the **Channels** tab and add the bundle with **Add > Bundle** under **Claude's access**. To add another workspace, [pair it](/docs/claude-tag/admins/setup-overview#pair-your-slack-workspace) first.
48While a bundle is off for **Slack**, every paired workspace is listed under **Where it applies** on the bundle's page. Turn on the workspace's switch and select **Save changes**, or open the workspace's page on the **Channels** tab and add the bundle with **Add > Bundle** under **Claude's access**. To add another workspace, [pair it](https://claude.com/docs/claude-tag/admins/setup-overview#pair-your-slack-workspace) first.
4949 
5050### Attach to a channel
5151 
from line 55
5555 
5656Sharing a channel changes which bundles apply there:
5757 
58* **Shared across workspaces in your Enterprise Grid**: bundles on the channel or its workspace don't apply. See [Channels shared across workspaces in your Enterprise Grid](/docs/claude-tag/admins/restrict-access.md#channels-shared-across-workspaces-in-your-enterprise-grid) for what Claude does there instead.
59* **Shared with another company through Slack Connect**: once Claude is [turned on in the channel](/docs/claude-tag/admins/restrict-access.md#slack-connect-channels), bundles attached directly to the channel apply there, including ones you attached before the channel was shared. Claude can use their connectors for the other company's people in the channel too. [What access Claude has in a Slack Connect channel](/docs/claude-tag/admins/restrict-access.md#what-access-claude-has-in-a-slack-connect-channel) covers which bundles reach that channel and which don't.
58* **Shared across workspaces in your Enterprise Grid**: bundles on the channel or its workspace don't apply. See [Channels shared across workspaces in your Enterprise Grid](https://claude.com/docs/claude-tag/admins/restrict-access.md#channels-shared-across-workspaces-in-your-enterprise-grid) for what Claude does there instead.
59* **Shared with another company through Slack Connect**: once Claude is [turned on in the channel](https://claude.com/docs/claude-tag/admins/restrict-access.md#slack-connect-channels), bundles attached directly to the channel apply there, including ones you attached before the channel was shared. Claude can use their connectors for the other company's people in the channel too. [What access Claude has in a Slack Connect channel](https://claude.com/docs/claude-tag/admins/restrict-access.md#what-access-claude-has-in-a-slack-connect-channel) covers which bundles reach that channel and which don't.
6060 
6161> [!WARNING]
6262>
from line 78
7878* **The Auto-join channels table**: on the **Advanced** tab of the **Slack** page or of a workspace's page, find **Auto-join channels** under **Channels**. Each row is one channel-name pattern. Select **Add bundle** on the pattern's row and pick the bundle. If the pattern isn't listed yet, add it with **Add pattern** first.
7979* **The bundle's page**: under **Where it applies**, select **Add place** and type a pattern, such as `inc-*`, under **Where**. Select the **Create channel group** option for that pattern, choose the workspace under **Applies to** if you have more than one, and select **Add**. The rule saves at once and covers that one workspace.
8080 
81Whichever way you add it, the pattern is also an [auto-join pattern](/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name), so Claude starts joining matching public channels when they're created or renamed. After adding or changing a rule, test with a new thread in a matching channel.
81Whichever way you add it, the pattern is also an [auto-join pattern](https://claude.com/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name), so Claude starts joining matching public channels when they're created or renamed. After adding or changing a rule, test with a new thread in a matching channel.
8282 
8383For example, if your incident channel names start with `inc-`, add a channel rule for `inc-*` with your incident-response bundle. Claude then joins each new public incident channel and has the bundle's access there.
8484 
from line 89
8989* **Workspaces**: a rule for all workspaces, or on the **Slack** page, covers matching channels in every connected workspace. A rule on one workspace covers only that workspace's matching channels.
9090* **Channels Claude is already in**: the rule grants the bundle in every matching channel Claude is in under the scope, including channels it was invited to before the rule existed
9191* **Joining channels**: only the auto-join patterns, or an invite, add Claude to a channel. The rule itself doesn't.
92* **Blocked patterns**: a channel whose name matches a [blocked pattern](/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name) stays off-limits even when a rule matches it
92* **Blocked patterns**: a channel whose name matches a [blocked pattern](https://claude.com/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name) stays off-limits even when a rule matches it
9393 
9494A rule's pattern has its own constraints:
9595 
96* **Pattern syntax**: a rule's pattern follows the same syntax as the other [channel name patterns](/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name), lowercase with `*` matching any run of characters and `?` matching exactly one
96* **Pattern syntax**: a rule's pattern follows the same syntax as the other [channel name patterns](https://claude.com/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name), lowercase with `*` matching any run of characters and `?` matching exactly one
9797* **Number of rules**: each scope holds up to 50 channel rules, and a rule with more than one bundle counts once for each bundle
9898* **Organization patterns**: on a workspace's page, the **Auto-join channels** table also lists the organization's patterns, marked **Org-wide**. You can attach a bundle to an **Org-wide** pattern from the workspace's table, and that rule covers only the workspace's matching channels. You edit the pattern itself on the **Slack** page.
9999 
100100> [!WARNING]
101101>
102> A channel rule grants its bundle in every matching channel Claude is in, now or in the future, and anyone who can rename a channel can move it into or out of a pattern. Keep elevated credentials out of broad patterns, and add a [blocked channel pattern](/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name) for name shapes that should never carry access; a blocked channel stays off-limits whatever rules match it.
102> A channel rule grants its bundle in every matching channel Claude is in, now or in the future, and anyone who can rename a channel can move it into or out of a pattern. Keep elevated credentials out of broad patterns, and add a [blocked channel pattern](https://claude.com/docs/claude-tag/admins/restrict-access.md#block-or-auto-join-channels-by-name) for name shapes that should never carry access; a blocked channel stays off-limits whatever rules match it.
103103 
104104### Where rule-attached bundles appear
105105 
from line 109
109109 
110110## Add a single connector, repository, plugin, or skill
111111 
112To give a place one item without going through a bundle, open the **Slack** page or a workspace's or channel's page from the **Channels** tab, select **Add** under **Claude's access**, and choose **Connector**, **Repository**, **Plugin**, or **Skill**. The dialog opens on that kind's tab, and its **Connectors**, **Plugins**, **Skills**, and **Repositories** tabs switch between kinds. To let Claude reach a host without a credential in that place, choose **Domain** from the same menu, as [Add a domain](/docs/claude-tag/admins/add-connections.md#add-a-domain) describes.
112To give a place one item without going through a bundle, open the **Slack** page or a workspace's or channel's page from the **Channels** tab, select **Add** under **Claude's access**, and choose **Connector**, **Repository**, **Plugin**, or **Skill**. The dialog opens on that kind's tab, and its **Connectors**, **Plugins**, **Skills**, and **Repositories** tabs switch between kinds. To let Claude reach a host without a credential in that place, choose **Domain** from the same menu, as [Add a domain](https://claude.com/docs/claude-tag/admins/add-connections.md#add-a-domain) describes.
113113 
114The dialog's **Connectors** tab lists the connectors already on the **Connectors** tab of **Claude's access**, and below them, under **Connect new**, services you can connect for that place; see [Add a connector](/docs/claude-tag/admins/add-connections.md#add-a-connection). A credential connected from a workspace's or channel's page applies only in that place, and one connected from the **Slack** page applies everywhere. The dialog's **Plugins** and **Skills** tabs list only the plugins and skills already on the **Skills and plugins** tab of **Claude's access**.
114The dialog's **Connectors** tab lists the connectors already on the **Connectors** tab of **Claude's access**, and below them, under **Connect new**, services you can connect for that place; see [Add a connector](https://claude.com/docs/claude-tag/admins/add-connections.md#add-a-connection). A credential connected from a workspace's or channel's page applies only in that place, and one connected from the **Slack** page applies everywhere. The dialog's **Plugins** and **Skills** tabs list only the plugins and skills already on the **Skills and plugins** tab of **Claude's access**.
115115 
116116### Check or remove what a place has
117117 
from line 121
121121 
122122* **A plugin, skill, or domain whose row reads Added here**: use the row's menu
123123* **A connector**: the row has no menu. Select the row to open the connector's page, and change where it applies under **Assign access**.
124* **A repository**: the row has no menu. [Configure GitHub access](/docs/claude-tag/admins/configure-github.md) covers where a repository applies.
124* **A repository**: the row has no menu. [Configure GitHub access](https://claude.com/docs/claude-tag/admins/configure-github.md) covers where a repository applies.
125125 
126126## Precedence when bundles overlap
127127 
from line 153
153153 
154154Channel members reach the same field for the channel scope through the **Configure** page, linked in the footer of any Claude reply in the channel, without going through admin settings. Both entry points write the same instructions, so a change from either place is visible in the other.
155155 
156To let a central team write a channel's instructions from its own Slack channel, see [Manage a channel's instructions from another channel](/docs/claude-tag/admins/managed-by.md).
156To let a central team write a channel's instructions from its own Slack channel, see [Manage a channel's instructions from another channel](https://claude.com/docs/claude-tag/admins/managed-by.md).
157157 
158158#### Instruction format
159159 
160The field is plain text, inserted as written; there is no include or template syntax, and `{{include:...}}` is passed through literally. To give Claude a repository's `CLAUDE.md`, [grant the repository](/docs/claude-tag/admins/configure-github.md#grant-repository-access) and name it in the request; its `CLAUDE.md` loads after the clone completes.
160The field is plain text, inserted as written; there is no include or template syntax, and `{{include:...}}` is passed through literally. To give Claude a repository's `CLAUDE.md`, [grant the repository](https://claude.com/docs/claude-tag/admins/configure-github.md#grant-repository-access) and name it in the request; its `CLAUDE.md` loads after the clone completes.
161161 
162162#### What Claude reads in a channel
163163 
164What Claude reads in a channel is the concatenated custom instructions of its scope chain, the instructions of each bundle that applies there, the channel's [managed instructions](/docs/claude-tag/admins/managed-by.md#how-managed-instructions-load) if another channel manages it, and the `CLAUDE.md` of any repository it clones. Projects in claude.ai don't apply here; Claude doesn't read a Project's instructions or knowledge in Slack, and a channel can't be pointed at a Project.
164What Claude reads in a channel is the concatenated custom instructions of its scope chain, the instructions of each bundle that applies there, the channel's [managed instructions](https://claude.com/docs/claude-tag/admins/managed-by.md#how-managed-instructions-load) if another channel manages it, and the `CLAUDE.md` of any repository it clones. Projects in claude.ai don't apply here; Claude doesn't read a Project's instructions or knowledge in Slack, and a channel can't be pointed at a Project.
165165 
166166#### When a new instruction applies
167167 
from line 173
173173 
174174| Layer | Who writes it | Where |
175175| :- | :- | :- |
176| Custom instructions | Owner for any scope; [Claude Tag admin](/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration) for workspace and channel scopes; channel members and [channel managers](/docs/claude-tag/admins/restrict-access.md#delegate-channel-setup-to-channel-managers) for the channel scope, unless members are [restricted](#restrict-who-can-set-channel-instructions) | The instructions field on a scope's page in admin settings, or the **Configure** link in any reply footer for the channel scope |
177| Bundle instructions | An Owner or a [Claude Tag admin](/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration) | The **Instructions** section of the bundle's page. They apply wherever the bundle applies |
178| Managed instructions | Full workspace members in one of the channel's [managing channels](/docs/claude-tag/admins/managed-by.md), which an Owner or a Claude Tag admin selects under **Managed by** on the channel's Configure page | By asking Claude in the managing channel and confirming the card it posts |
176| Custom instructions | Owner for any scope; [Claude Tag admin](https://claude.com/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration) for workspace and channel scopes; channel members and [channel managers](https://claude.com/docs/claude-tag/admins/restrict-access.md#delegate-channel-setup-to-channel-managers) for the channel scope, unless members are [restricted](#restrict-who-can-set-channel-instructions) | The instructions field on a scope's page in admin settings, or the **Configure** link in any reply footer for the channel scope |
177| Bundle instructions | An Owner or a [Claude Tag admin](https://claude.com/docs/claude-tag/admins/restrict-access.md#delegate-claude-tag-administration) | The **Instructions** section of the bundle's page. They apply wherever the bundle applies |
178| Managed instructions | Full workspace members in one of the channel's [managing channels](https://claude.com/docs/claude-tag/admins/managed-by.md), which an Owner or a Claude Tag admin selects under **Managed by** on the channel's Configure page | By asking Claude in the managing channel and confirming the card it posts |
179179| Channel memory | Anyone in the channel | By telling Claude to remember |
180180| Task prompt | The requester | The message itself |
181181 
182Channel members can shape how Claude responds in their channel through memory, but they can't change which credentials or repositories it has; that's bundle configuration. See [who controls what](/docs/claude-tag/admins/customize.md) for the full split.
182Channel members can shape how Claude responds in their channel through memory, but they can't change which credentials or repositories it has; that's bundle configuration. See [who controls what](https://claude.com/docs/claude-tag/admins/customize.md) for the full split.
183183 
184184Custom instructions are read ahead of the conversation and take priority in practice, but they're guidance, not an enforced guardrail. Don't rely on them to block actions; use access controls for that.
185185 
from line 191
191191| :- | :- |
192192| **Inherit** | Follow the parent scope's setting |
193193| **Allow** | Members can edit channel instructions from the Configure link |
194| **Block** | Members can't change channel instructions, the channel's default model, or its [**Respond automatically**](/docs/claude-tag/users/when-claude-responds.md#turn-automatic-replies-on-or-off) setting |
194| **Block** | Members can't change channel instructions, the channel's default model, or its [**Respond automatically**](https://claude.com/docs/claude-tag/users/when-claude-responds.md#turn-automatic-replies-on-or-off) setting |
195195 
196A chain of scopes that all inherit resolves to **Allow**. Set **Block** on a workspace's page or on the **Slack** page to lock channel instructions across every channel beneath it. A [channel manager](/docs/claude-tag/admins/restrict-access.md#delegate-channel-setup-to-channel-managers) can still edit instructions, change the default model, and switch the **Respond automatically** toggle from the Configure page in a channel assigned to them when **Block** is set.
196A chain of scopes that all inherit resolves to **Allow**. Set **Block** on a workspace's page or on the **Slack** page to lock channel instructions across every channel beneath it. A [channel manager](https://claude.com/docs/claude-tag/admins/restrict-access.md#delegate-channel-setup-to-channel-managers) can still edit instructions, change the default model, and switch the **Respond automatically** toggle from the Configure page in a channel assigned to them when **Block** is set.
197197 
198198## Verify the bundle is live
199199 
from line 204
204204 
205205## Related resources
206206 
207* [Getting started for users](/docs/claude-tag/users/getting-started.md): what your team does once the bundle is live
208* [Restrict where Claude Tag operates](/docs/claude-tag/admins/restrict-access.md): narrow where it responds
207* [Getting started for users](https://claude.com/docs/claude-tag/users/getting-started.md): what your team does once the bundle is live
208* [Restrict where Claude Tag operates](https://claude.com/docs/claude-tag/admins/restrict-access.md): narrow where it responds
209209 
Feedback