Follow Discord
Sweep 10 Nov 2026 · 02:18Z Build v2.1.322 539 read Stable v2.1.311 Latest v2.1.322 Next v2.1.322 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · api

claude-tag-api changedmanage-claude/claude-tag-api

Recorded here
Lines+5added
Lines−4removed
From line 247 where the diff opens
First seen 23 Oct 2026 this site's first read of the page
Recorded edits6to this page, all time

The whole hunk

from line 247, old and new numbered
/
lines
from line 247
247247| `enabled` | boolean | Whether Claude is on. |
248248| `instructions` | string | Standing guidance Claude reads in every session. At most 8,192 characters after leading and trailing white space is trimmed. Blank text clears the setting. |
249249| `model` | string | The model new sessions start on: a [model ID](https://platform.claude.com/docs/en/models/overview) your organization can use with Claude Tag. At most 128 characters. |
250| `environment_id` | string | The cloud environment sessions run in, prefixed `env_`. It must be active and belong to your organization. |
250| `environment_id` | string | The environment sessions run in: an active environment of your organization, prefixed `env_`, or a self-hosted runner pool of your organization that every member may use, prefixed `ccpool_`. |
251251| `guest_policy` | object | What Claude does in a channel while a Slack guest is in it, for everyone in the channel: `{"type": "allow"}` (Claude answers), `{"type": "restrict"}` (Claude does not answer), or `{"type": "channel_only"}` (Claude answers with only the Bundles attached to the channel itself; if `channel_only` is not available to your organization, a request that sets it returns `400`). See [Restrict guest channels](https://claude.com/docs/claude-tag/admins/restrict-access#restrict-guest-channels) for what it means in channels shared through Slack Connect or across an Enterprise Grid. |
252252 
253253`model` and `environment_id` are checked when you write them and not again: if the model or environment later changes, responses keep returning the stored value.
254254 
255If an organization owner has put a settings level on a self-hosted runner pool in claude.ai, its `environment_id` returns the pool’s ID, which starts with `ccpool_`. This API cannot set a runner pool, and returns `400` for a request that changes or clears `environment_id` on a settings level that stores one.
255A runner pool that only some members may use (a restricted pool) is chosen by an organization owner in claude.ai, and a read of a settings level on one returns its `ccpool_` ID like any other. A request that would put a settings level on one, or that changes or clears `environment_id` on a settings level that stores one, returns `400` with `error_code: "runner_pool_restricted"`. A pool your organization does not have returns the same `404` as an unknown environment.
256256 
257257### Stored and inherited values
258258 
from line 1246
12461246* To keep Claude out of a channel, keep it set up with `enabled` set to `false` rather than remove it, or make sure that what it would inherit, which removal does not touch, keeps Claude off.
12471247* To have a channel store nothing and keep its sessions and memory, clear each setting and detach each Bundle instead.
12481248 
1249Two kinds of channel cannot be removed here at all, whether Claude is on or off in them, and return `400` with no `error_code`: a [group direct message](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#group-direct-messages), and a channel that holds configuration this API does not manage, such as a runner pool or a setting that only claude.ai has. These are checked before `enabled` is, so turning Claude off does not help; an organization owner removes the second kind in claude.ai.
1249Two kinds of channel cannot be removed here at all, whether Claude is on or off in them, and return `400` with no `error_code`: a [group direct message](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#group-direct-messages), and a channel that holds configuration this API does not manage, such as a restricted runner pool or a setting that only claude.ai has. These are checked before `enabled` is, so turning Claude off does not help; an organization owner removes the second kind in claude.ai.
12501250 
12511251<CodeGroup>
12521252 ```bash cURL
from line 2493
24932493| `api_key_scope_missing` | 403 | The key lacks `read:claude_tag` or `write:claude_tag`, whichever the endpoint requires. |
24942494| `claude_tag_writes_not_enabled` | 403 | Your organization can read through this API but is not enabled for changes. |
24952495| `compliance_configuration_restricted` | 403 | Your organization has a compliance configuration under which Claude Tag stores nothing new, such as zero data retention. Setting a channel up, updating settings (even to clear them), and attaching a Bundle are refused. Detaching a Bundle and removing a channel are not, and such an organization can [remove](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#remove-a-channel) a channel even while Claude is on in it. |
2496| `environment_not_found` | 404 | `environment_id` names no environment your organization can use here. The `id` in the path is fine. |
2496| `environment_not_found` | 404 | `environment_id` names no environment or runner pool your organization can use here. The `id` in the path is fine. |
24972497| `environment_archived` | 400 | `environment_id` names an archived environment. |
2498| `runner_pool_restricted` | 400 | The request would put a settings level on a restricted runner pool, or changes or clears `environment_id` on a settings level that stores one. An organization owner makes that change in claude.ai. See [Settings](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#settings). |
24982499| `slack_channel_set_up_settings_refused` | 400 | The request set the channel up, then `settings` was refused. `details.slack_channel_id` is the channel. See [Set up a channel](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#set-up-a-channel). |
24992500| `slack_channel_set_up_environment_not_found` | 404 | The request set the channel up, then `environment_id` was not found. `details.slack_channel_id` is the channel. See [Set up a channel](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#set-up-a-channel). |
25002501| `slack_channel_set_up_settings_conflict` | 409 | The request set the channel up, then another change overlapped `settings`. Nothing of `settings` was stored. `details.slack_channel_id` is the channel. See [Set up a channel](https://platform.claude.com/docs/en/manage-claude/claude-tag-api#set-up-a-channel). |
Feedback