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 capture · claude-code

One read of Claude Code CLIclaude-code-20261109T210701Z

17 pages moved out of 228 read.

Pages moved 17 significant first
Pages read 228 in this capture
Captured 21:07 UTC
Corpus hash b51b2d71e0a7 corpus-hash

What this read moved

1-17 of 17

agent-sdk/typescript Changed · +7 / -5 lines

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 3385
33853385 
33863386Runs a background source and delivers each event to Claude so it can react without polling: `command` runs a script and emits one event per stdout line, and `ws` opens a WebSocket and emits one event per text frame. Provide exactly one of `command` or `ws`. The `ws` source requires Claude Code v2.1.195 or later.
33873387 
3388`timeout_ms` is the watch's deadline in milliseconds. It defaults to 300000 and accepts values up to 3600000. The effective deadline is at most 1800000, which is 30 minutes, so a larger accepted value is shortened to that. At the deadline the watch ends and Claude receives one notice so it can start a new watch if it still needs one.
3388`timeout_ms` is the watch's deadline in milliseconds:
33893389 
3390The exported type marks `timeout_ms` as required because the schema fills in the default; a call that omits it validates.
3390* **Default and limits**: it defaults to 300000 and accepts values up to 3600000. The effective deadline is at most 1800000, which is 30 minutes, so a larger accepted value is shortened to that
3391* **At the deadline**: the watch ends and Claude receives one notice so it can start a new watch if it still needs one
3392* **Required in the type**: the exported type marks `timeout_ms` as required because the schema fills in the default; a call that omits it validates
33913393 
3392When Monitor runs a command, it follows the same permission rules as Bash; a WebSocket watch prompts for approval separately. See the [Monitor tool reference](https://code.claude.com/docs/en/tools-reference.md#monitor-tool) for behavior and provider availability.
3394When Monitor runs a command, it follows the same permission rules as Bash. See the [Monitor tool reference](https://code.claude.com/docs/en/tools-reference.md#monitor-tool) for WebSocket permissions, behavior, and provider availability.
33933395 
33943396### TaskOutput
33953397 
from line 4775
47734775 
47744776Returns the scheduled cron jobs: durable jobs from `.claude/scheduled_tasks.json` and session-only jobs from the current session. A session-only job carries `durable: false`; jobs read from disk omit the field.
47754777 
4776`nextFireAt` is the job's next run time in epoch milliseconds, [jitter](https://code.claude.com/docs/en/scheduled-tasks.md#jitter) included. No value is earlier than the `CronList` call: a job whose time [passed with
4778`nextFireAt` is the job's next run time in epoch milliseconds, [jitter](https://code.claude.com/docs/en/scheduled-tasks.md#jitter) included. No value is earlier than the `CronList` call

claude-apps-gateway-config Changed · +38 / -0 lines

### `login_notice` #### Pooled budget order

from line 24
2424 
2525**Optional sections:**
2626 
27* [`login_notice`](#login_notice): a notice developers see when they sign in
2728* [`admin`](#admin): Admin API auth and retention for spend limits
2829* [`enforcement`](#enforcement): spend-limit fail-open or fail-closed behavior
2930* [`pricing`](#pricing): contracted rates and a multiplier for the spend meter and for the cost figures developers see
from line 844
843844 
844845## Optional sections
845846 
847### `login_notice`
848 
849To show developers a notice when they sign in, set the top-level `login_notice` key to the notice text, up to 500 characters. This example says who the gateway is for and where to ask for access:
850 
851```yaml theme={null}
852login_notice: This gateway is for Example Corp staff. For access questions, email [email protected].
853```
854 
855Developers see the text under `Notice from <gateway hostname>` on the gateway's verification page in the browser and on the interactive sign-in screen in the terminal. Line breaks in the text become spaces. The notice appears before sign-in, so anyone who can reach the gateway can read it.
856 
857Requires Claude Code v2.1.319 or later on the gateway server, and also on the developer's machine for the terminal screen. An earlier gateway refuses to start when it finds the key. Upgrade every replica before you add the key, and remove the key before you roll back.
858 
846859### `admin`
847860 
848861Optional. Enables `/v1/organizations/spend_limits`, which mirrors Anthropic's public Admin API, and per-developer spend enforcement on `/v1/messages`. See [Spend limits](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) for how caps are set and enforced; this section covers the `gateway.yaml` keys that turn the feature on and tune it.
from line 874
861874 # IdP groups granted full admin via the normal gateway JWT (no API key).
862875 admin_groups: [platform-finops]
863876 blocked_message: request an increase at https://go.example.com/claude-limits
877 # Try eng-platform's pooled budget first, then eng-all's, then any other group's.
878 pooled_conflict_rule: priority_list
879 pooled_priority_order: [eng-platform, eng-all]
864880```
865881 
866882| Field | Required | Description |
from line 889
873889| `spend_retention_months` | No | Default `13`. `spend` counter rows older than this are swept. The default keeps a full year plus the current partial month for year-over-year reporting. |
874890| `identity_retention_days` | No | Default `90`. Last-seen TTL for `principal_emails` rows, which hold each developer's email, display name, and groups (PII). Deliberately shorter than spend retention so a deprovisioned identity ages out while its anonymous spend counters remain. |
875891| `group_limit_mode` | No | `min` (default) or `max`. When a developer is in several groups with caps, `min` enforces the most restrictive and `max` the least. Used by both enforcement and `/effective`. |
892| `pooled_conflict_rule` | No | `default_order` (default) or `priority_list`. The order the gateway tries a developer's pooled budgets in. See [Pooled budget order](#pooled-budget-order). Requires v2.1.319 or later. |
893| `pooled_priority_order` | With `priority_list` | Up to 50 group names, each listed once and spelled as your IdP sends it. The groups whose pooled budgets the gateway tries first. See [Pooled budget order](#pooled-budget-order). Requires v2.1.319 or later. |
876894 
895#### Pooled budget order
896 
897A pooled budget is one monthly limit that a whole group spends against. To set one, add `pooled_budget` to the [request that sets the group's monthly cap](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md#set-a-cap), as in `"pooled_budget": {"amount": "500000"}` for \$5,000. The request also takes the group's `scope`, `"period": "monthly"`, and `amount`, which stays each member's own cap.
898 
899For a developer in several such groups, each request counts against the first budget whose spend is below its limit, and is refused when every budget is used up. `pooled_conflict_rule` sets the order the gateway tries the budgets in:
900 
901* **`default_order`**: the largest limit first, and equal limits in ascending group-name order
902* **`priority_list`**: the budgets of the groups in `pooled_priority_order`, in list order, then the other groups' budgets by group name
903 
904If you list groups without `pooled_conflict_rule: priority_list`, the gateway ignores the list and logs a warning at boot.
905 
906A gateway server earlier than v2.1.319 refuses to start when it finds `pooled_conflict_rule` or `pooled_priority_order`. Upgrade every replica before you add either key, and remove both keys before you roll back.
907 
877908### `enforcement`
878909 
879910The `enforcement` block controls how spend-limit checks behave when the store is unavailable.
from line 1702
16711702# environment variable (debug | info | warn | error; default info). debug
16721703# also logs the claim names in each id_token, for groups_claim diagnosis.
16731704# It does not affect audit events, which are always emitted.
1705# Set CLAUDE_GATEWAY_LOG_FORMAT=json to write operational log lines as JSON
1706# objects with severity, time, and message.
16741707 
16751708listen:
16761709 host: 0.0.0.0
from line 1744
17111744 # connect_timeout_seconds: 5
17121745 # readiness_grace_seconds: 300 # keep passing the readiness check through a database failover
17131746 
1747# Notice shown at sign-in. Anyone who can reach the gateway can read it.
1748# login_notice: This gateway is for Example Corp staff. For access questions, email [email protected].
1749 
17141750# Enables /v1/organizations/spend_limits (mirrors the Anthropic Admin API)
17151751# and per-developer spend enforcement on /v1/messages. Omit to disable.
17161752# Caps themselves are set via the admin API, not here.
from line 1761
17251761# # spend_retention_months: 13
17261762# # identity_retention_days: 90
17271763# # group_limit_mode: min
1764# # pooled_conflict_rule: priority_list
1765# # pooled_priority_order: [eng-platform, eng-all]
17281766 
17291767# enforcement:
17301768# fail_closed_on_error: false

claude-apps-gateway-deploy Changed · +14 / -0 lines

#### Write operational logs as JSON

from line 169
169169 * `admin.denied` records a rejected admin-API auth attempt with the client IP, method, path, and a reason, without the presented key material: `invalid_key` when an `x-api-key` was presented but matched no configured key, `bearer_rejected` when only an `Authorization` header was presented and it didn't verify as a gateway session in `admin.admin_groups`, or `no_credentials` when neither header was presented
170170* **Operational logs**: human-readable `[gateway]`-prefixed lines for boot, warnings, and upstream errors. The `CLAUDE_GATEWAY_LOG_LEVEL` environment variable controls verbosity and accepts `debug`, `info`, `warn`, or `error`, with `info` as the default. At `debug`, each sign-in and refresh also logs the names, not the values, of the claims in the id\_token, plus the names of the userinfo claims when `userinfo_fallback` supplied any, so you can diagnose `email_claim` and `groups_claim` settings without logging PII. It doesn't affect audit events, which are always emitted.
171171 
172#### Write operational logs as JSON
173 
174If your log collector reads each line's level from a JSON field, set `CLAUDE_GATEWAY_LOG_FORMAT=json` in the gateway's environment. Requires Claude Code v2.1.319 or later on the gateway server.
175 
176Each operational log line is then one object with `severity`, `time`, and `message`:
177 
178```json theme={null}
179{"severity":"INFO","time":"2026-11-04T17:03:21.512Z","message":"claude gateway listening on http://0.0.0.0:8080"}
180```
181 
182`severity` is the log level in capitals, with `warn` written as `WARNING`. A failed start is an `ERROR` line.
183 
184Audit events, which also go to stderr, don't change. They carry `ts` and `evt`, and no `severity`.
185 
172186### Health
173187 
174188The gateway serves `GET /healthz` as a liveness probe and `GET /readyz` as a readiness probe. `/readyz` verifies the store is reachable. If you set [`store.readiness_grace_seconds`](https://code.claude.com/docs/en/claude-apps-gateway-config#store), `/readyz` keeps reporting ready for up to that many seconds after the store stops answering.

claude-apps-gateway-spend-limits Changed · +11 / -2 lines

from line 2
22 
33> Cap each developer's spend through the Claude apps gateway by day, week, or month. Set limits with an Admin API and the gateway enforces them live on every request.
44 
5Spend limits cap how much each developer can spend through your [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) in a given day, week, or month. When a developer passes their cap, the gateway returns `429` on their next request and blocks them until the period resets or an admin raises the cap. Use spend limits to give each developer, group, or the whole organization a ceiling on a credential everyone shares.
5Spend limits cap how much each developer can spend through your [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) in a given day, week, or month. When a developer passes their cap, the gateway returns `429` on their following requests until an admin raises the cap, or until the cap resets if it's above \$0. Use spend limits to give each developer, group, or the whole organization a ceiling on a credential everyone shares.
66 
77By default, a Claude apps gateway forwards all inference through one shared upstream credential, so your provider's bill attributes everything to that credential, not to individual developers. On Amazon Bedrock, [per-developer AWS cost attribution](https://code.claude.com/docs/en/claude-apps-gateway-config.md#per-developer-aws-cost-attribution) changes this. Without per-developer limits, one runaway agent fleet can spend the organization's entire commitment. Spend limits are the gateway's per-developer view and circuit breaker on top of that shared bill.
88 
from line 47
4747 
4848On each `/v1/messages` request, the gateway looks up the developer's caps and period-to-date spend in one Postgres query. A developer over any cap gets a `429` with `error.type: billing_error` and header `x-should-retry: false`.
4949 
50The message names the period and reset time, such as `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`, followed by your [`admin.blocked_message`](https://code.claude.com/docs/en/claude-apps-gateway-config#admin) if set. When a developer exceeds several caps at once, the message names the cap that resets last. The response also carries a `retry-after` header with the seconds remaining until that reset. Before v2.1.225 on the gateway server, the message was `spend limit reached` with no period, reset time, or `retry-after` header.
50For a cap above `"0"`, the message gives the UTC date that cap resets. If you set [`admin.blocked_message`](https://code.claude.com/docs/en/claude-apps-gateway-config#admin), the gateway appends it, as in this example:
5151 
52```text theme={null}
53spend limit reached · resets Dec 1 · request an increase at https://go.example.com/claude-limits
54```
55 
56For a `"0"` cap, which a reset doesn't lift, the message has no date. When a developer exceeds several caps at once, the message describes the cap that resets last. The response also carries a `retry-after` header with the seconds until that cap's period ends.
57 
58Before v2.1.319 on the gateway server, the message named the period and reset time, such as `spend limit reached (daily; resets 2026-08-08 00:00 UTC)`. Before v2.1.225, the message was `spend limit reached` with no period, reset time, or `retry-after` header.
59 
5260On v2.1.227 or later, the protocol reference at `<public_url>/protocol` also lists the exact usage-limit response headers and `429` body.
5361 
5462Caps reset on UTC calendar boundaries: daily at 00:00 UTC, weekly on Monday, and monthly on the first. The gateway never blocks `/v1/messages/count_tokens`, because token counting is free.
from line 99
9199| Usage warnings at 75% and 95% | v2.1.225 or later | v2.1.225 or later |
92100| A **Spend limit** bar in `/usage` with the percentage of their cap used and when it resets, and a `rate_limits.spend_limit` object in the status line input | v2.1.251 or later | v2.1.225 or later |
93101| Their estimated spend and the cap in US dollars in the **Spend limit** bar, such as "\$271.40 / \$500.00 spent this month", and the same amounts plus the cap's period in the status line input | v2.1.284 or later | v2.1.284 or later |
102| On a gateway with an [`admin:`](https://code.claude.com/docs/en/claude-apps-gateway-config#admin) block, when no cap applies to them, their estimated spend under **Spend (UTC)** in `/usage`, such as "\$13.06 today · \$80.76 this week · \$272.06 this month" | v2.1.319 or later | v2.1.319 or later |
94103 
95104The warnings and the percentage come from the `anthropic-ratelimit-unified-*` headers, which the gateway adds to each successful `/v1/messages` response for a developer who has a cap. The headers always describe the developer's own cap: the gateway strips the upstream provider's rate-limit headers, which describe your shared quota, and never forwards them.
96105 

errors Changed · +77 / -18 lines

### Two Claude Code config files exist

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 48
4848| `Credit balance is too low` | [Usage limits](#credit-balance-is-too-low) |
4949| `You've hit your monthly spend limit` / `You've hit your individual spend limit` / `You've hit your org's monthly spend limit` / `You've hit your channel's monthly spend limit` / `You've hit your team's shared budget` / `You've hit your individual usage limit` | [Usage limits](#youve-hit-your-monthly-spend-limit) |
5050| `Could not update your spend limit` | [Usage limits](#could-not-update-your-spend-limit) |
51| `spend limit reached` / `spend limit unavailable` | [Usage limits](#spend-limit-reached) |
51| `spend limit reached` / `spend limit unavailable` / `This request exceeds your group's budget` | [Usage limits](#spend-limit-reached) |
5252| `Not logged in · Please run /login` | [Authentication](#not-logged-in) |
5353| `Couldn't save your login` | [Authentication](#couldnt-save-your-login) |
5454| `Sign in again to take your previous account or API key off the config file.` | [Authentication](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |
from line 416
416416| `The Claude Code program for this computer, the <build> build, could not be found` | [Wrapper and IDE errors](#the-claude-code-program-for-this-computer-could-not-be-found) |
417417| `Restored the code, but skipped N files` | [Rewind warnings and errors](#restored-the-code-but-skipped-files) |
418418| `No files were restored: N files failed (backup missing, or the file could not be updated)` | [Rewind warnings and errors](#no-files-were-restored) |
419| `The file backups are still being copied. Nothing was changed. Try again in a moment.` | Select the same point in [`/rewind`](https://code.claude.com/docs/en/checkpointing) again. When you restore code soon after [`/branch`](https://code.claude.com/docs/en/sessions#branch-a-session), Claude Code can still be copying the file backups to the new session. |
419420| `Transcript writes are failing (...)` | [Session saving warnings](#transcript-writes-are-failing) |
420421| `Transcript saving is off — CLAUDE_CODE_SKIP_PROMPT_HISTORY is set` | [Session saving warnings](#transcript-saving-is-off-skip-prompt-history) |
421422| `Transcript saving is off — inherited CLAUDE_CODE_CHILD_SESSION marker` | [Session saving warnings](#transcript-saving-is-off-child-session-marker) |
from line 428
427428| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Configuration warnings](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |
428429| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Configuration warnings](#skill-or-command-name-refused) |
429430| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Configuration warnings](#workspace-has-not-been-trusted) |
431| `Two Claude Code config files exist: this run uses <path>, not <path>` | [Configuration warnings](#two-claude-code-config-files-exist) |
430432| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Configuration warnings](#make-this-change-again-later) |
431433| `is a network path, which cannot be added as a working directory` | [Configuration warnings](#working-directory-is-a-network-path) |
432434| `Remote managed settings failed to load (<cause>)` | [Configuration warnings](#remote-managed-settings-failed-to-load) |
from line 466
464466| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Values and warnings for `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](https://code.claude.com/docs/en/model-config#claude_code_auto_compact_window-values) |
465467| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/en/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |
466468| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Correct the window for a gateway or custom model ID](https://code.claude.com/docs/en/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) |
469| `Model "<model>" isn't recognized · did you mean "<suggestion>"?` / `Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?` | [Fix a mistyped model name](https://code.claude.com/docs/en/model-config.md#fix-a-mistyped-model-name) |
467470| `[claude-code:unrecognized_model]` | [Configuration warnings](#unrecognized-model-id-on-a-request) |
468471| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Configuration warnings](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |
469472| `Sandbox mask files left behind at write-deny paths` | [Configuration warnings](#stale-sandbox-mask-files-left-by-a-killed-session) |
from line 982
979982 
980983### Spend limit reached
981984 
982You connect through a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) and have passed a [spend cap](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) your gateway operator set. The gateway blocks your requests until the named period resets or the operator raises the cap. It marks each blocked `429` response `x-should-retry: false`, so Claude Code shows this message without retrying.
985You connect through a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) and have reached a [spend cap](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) your gateway operator set. The gateway blocks your requests until the operator raises the cap, or until the cap resets if it's above \$0. It marks each blocked `429` response `x-should-retry: false`, so in the terminal Claude Code shows this message without retrying.
983986 
984987```text theme={null}
985spend limit reached (daily; resets 2026-08-09 00:00 UTC)
988spend limit reached · resets Dec 1
986989```
987990 
988The message names the cap's period and reset time, and when the operator configured a `blocked_message`, their instructions follow it. Before v2.1.225, the message read only `spend limit reached`; a gateway on an older version still sends that shorter form.
991Check the message for a date:
989992 
993* **With a date**: the cap resets at 00:00 UTC on that date
994* **With no date**: your cap is \$0, or your gateway runs a version earlier than v2.1.225
995 
996Any further text in the message is a note from your gateway operator.
997 
998From v2.1.225 until v2.1.319 on the gateway server, the message named the cap's period and reset time, as in `spend limit reached (daily; resets 2026-08-09 00:00 UTC)`.
999 
9901000**What to do:**
9911001 
992* Wait for the reset time the message names, or follow the operator's instructions if the message carries them
993* Ask your gateway operator to raise the cap if you hit it routinely
1002* If the message has a date, wait for the reset, or follow the operator's note if the message carries one
1003* Ask your gateway operator to raise the cap if the message has no date, if you're still blocked after the date, or if you hit the cap routinely
9941004 
1005A second gateway message, `This request exceeds your group's budget`, means your group's [pooled budget](https://code.claude.com/docs/en/claude-apps-gateway-config.md#pooled-budget-order) is used up. Follow the steps it names:
1006 
1007```text theme={null}
1008This request exceeds your group's budget. Ask your organization's admins to raise it, or try again after it resets on November 1 at 00:00 UTC.
1009```
1010 
9951011A related message, `spend limit unavailable`, means the gateway could not read its spend records and blocked the request as a precaution rather than over your cap. It usually clears on its own; if it persists, tell your gateway operator.
9961012 
9971013### Credit balance is too low
from line 2299
22832299 
22842300### Couldn't send feedback
22852301 
2286A message starting `Couldn't send feedback` means the feedback service didn't confirm the report you submitted from the [`/feedback`, `/bug`, or `/share` dialog](https://code.claude.com/docs/en/commands#all-commands), or a queued [feedback draft](https://code.claude.com/docs/en/tools-reference.md#sendfeedback-tool-behavior). Treat it as not received. When a sentence about your organization follows the colon, your organization refuses feedback and the same report gets the same answer.
2302A message starting `Couldn't send feedback` means the feedback service didn't confirm the report you submitted from the [`/feedback`, `/bug`, or `/share` dialog](https://code.claude.com/docs/en/commands#all-commands), or a queued [feedback draft](https://code.claude.com/docs/en/tools-reference.md#sendfeedback-tool-behavior). Treat it as not received. When a sentence about your organization follows the colon, your organization refuses feedback.
22872303 
2288The second of these two examples is an organization's refusal:
2304The second example is an organization's refusal:
22892305 
22902306```text wrap theme={null}
22912307Couldn't send feedback (couldn't reach the service). If it keeps failing, you can file at https://github.com/anthropics/claude-code/issues instead.
from line 2312
22962312**What to do:**
22972313 
22982314* **Not signed in**: the message continues `: not signed in. Run /login, then retry.` Run `/login`, then send again
2299* **Your organization's refusal**: for example `: Feedback has not been enabled for your organization.` or `: Feedback collection is not available for organizations with custom data retention policies.` If the message adds `To report a bug, open an issue`, do so at [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). A queued draft stays queued, and you can [discard it](https://code.claude.com/docs/en/tools-reference.md#discard-or-keep-a-draft)
2315* **Your organization's refusal**: for example `: Feedback has not been enabled for your organization.` or `: Feedback collection is not available for organizations with custom data retention policies.` If the message adds `To report a bug, open an issue`, do so at [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). `/feedback` can then answer that it's [disabled by your organization's policy](#feedback-is-disabled-by-your-organizations-policy) for seven days. A queued draft stays queued and still [expires on schedule](https://code.claude.com/docs/en/tools-reference.md#discard-or-keep-a-draft)
23002316* **Refused credentials**: the message continues `: the sign-in this session uses is not allowed to send feedback` or `: the server did not accept the credentials this session uses`. Run `/status` at the Claude Code prompt to see which login, token, or API key this session sends
23012317* **`(request timed out)` or `(couldn't reach the service)` straight after `Couldn't send feedback`**: send the report or the queued draft again. The dialog keeps your text, and a queued draft's message says `The draft is still queued.` If other requests are failing too, check your network connection and see [Unable to connect to API](#unable-to-connect-to-api). If it keeps failing, file the report at [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)
23022318* **`(server returned <status>)`, or no reason, straight after `Couldn't send feedback`**: the status is the service's response code. The service's own message follows it when one was sent, as in `(server returned 403: Access Forbidden)`. If it keeps failing, file the report at [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues)
from line 2507
24912507 
24922508The `dimension limit for many-image requests` message shows the pixel limit named in the API's error.
24932509 
2494### Unable to resize image
2495 
2496Claude Code couldn't downscale an attached image before sending it to the API.
2497 
2498```text theme={null}
2499Unable to resize image — image processing is unavailable and dimensions could not be read from the file header. Please convert the image to PNG, JPEG, GIF, or WebP.
2500Unable to resize image — dimensions exceed the 2000x2000px limit and image processing failed. Please resize the image to reduce its pixel dimensions.
2501Unable to resize image (… raw, … base64). The image exceeds the … API limit and compression failed. Please resize the image manually or use a smaller image.
2502Unable to resize image — could not verify image dimensions are within the 2000x2000px API limit.
2503Unable to resize image — it is a CMYK JPEG, which Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Re-save it as an RGB PNG or JPEG and try again.
2504Unable to resize image — it is an animated WebP whose first frame Claude Code cannot decode, and at …px it is over the 2000x2000px limit, so it cannot be sent. Save its first frame as a PNG or JPEG and try again.
2505Unable to resize image — its pixels could not be decoded (the file may be damaged, or use an encoding Claude Code cannot read), and it is over the … API limit (… raw, … base64), so it cannot be sent. Re-save it as a PNG or JPEG and try again.
2506```
2507 
2508Claude Code normally resizes large images automatically. These errors mean the image couldn't be decoded or resized to fit within the API limits.
2509 
2510**What to do:**
2511 
2512* If the mess
2510### Unable

model-config Changed · +13 / -1 lines

#### Fix a mistyped model name

from line 164
164164 
165165See [Model is not a recognized model id](https://code.claude.com/docs/en/errors.md#model-is-not-a-recognized-model-id) and [Model not found](https://code.claude.com/docs/en/errors.md#model-not-found) for the messages.
166166 
167If you set the model with the `--model` flag, the `ANTHROPIC_MODEL` environment variable, or the `model` setting, Claude Code doesn't check it up front, and a mistyped value produces [There's an issue with the selected model](https://code.claude.com/docs/en/errors.md#theres-an-issue-with-the-selected-model) on the first request.
167If you set the model with the `--model` flag, the `ANTHROPIC_MODEL` environment variable, or the `model` setting, Claude Code doesn't reject a mistyped value up front. The session starts, and the first request produces [There's an issue with the selected model](https://code.claude.com/docs/en/errors.md#theres-an-issue-with-the-selected-model). On the Anthropic API, a value that doesn't start with `claude-` and nearly spells a model name or alias can also produce a [startup warning that suggests it](#fix-a-mistyped-model-name).
168168 
169169When the requested model has a scheduled retirement date or is automatically remapped to a newer version, Claude Code shows a warning that names the requested model. Interactive sessions show it as a startup notice. From v2.1.182, the same warning is written to stderr in [non-interactive mode](https://code.claude.com/docs/en/headless.md) when using the default text output format. The check also covers a `model` set in [subagent frontmatter](https://code.claude.com/docs/en/sub-agents.md). The stderr warning is suppressed for `--output-format json` and `stream-json`; read the actual model from the `modelUsage` field of the [result message](https://code.claude.com/docs/en/headless.md#get-structured-output) instead.
170170 
from line 895
895895* **Any other window**: set [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](https://code.claude.com/docs/en/env-vars) to the window size in tokens in the environment that starts Claude Code, such as `CLAUDE_CODE_MAX_CONTEXT_TOKENS=400000`. For an unrecognized ID that doesn't start with `claude-` and has no `[1m]` suffix, the variable takes effect on its own. For any other ID, check [which IDs it applies to](#which-ids-claude_code_max_context_tokens-applies-to) first.
896896 
897897Once Claude Code recognizes the ID or uses the window you gave it, the warning no longer appears when you start a session on that ID.
898 
899#### Fix a mistyped model name
900 
901Either of these warnings means Claude Code doesn't recognize the model ID you set, and the ID nearly spells a model name or alias it does recognize:
902 
903```text theme={null}
904⚠ Model "<model>" isn't recognized · did you mean "<suggestion>"?
905Claude Code doesn't recognize the model "<model>". Did you mean "<suggestion>"?
906```
907 
908* **You mistyped the ID**: change it to the suggestion [wherever you set the model](#setting-your-model)
909* **The ID is deliberate**: leave it as it is. The session sends it as you wrote it. If the context window Claude Code assumes for it is wrong, [correct the window](#correct-the-window-for-a-gateway-or-custom-model-id)
898910 
899911#### Which IDs `CLAUDE_CODE_MAX_CONTEXT_TOKENS` applies to
900912 

plugins/mods/interface Changed · +87 / -0 lines

### Place a row in the transcript ### Put a backdrop behind the conversation

from line 193
193193>
194194> To draw in the band, filter on `{ component: 'AbovePrompt' }`.
195195 
196A mod can also [place a row of its own in the transcript](#place-a-row-in-the-transcript).
197 
196198### Change what Claude Code already draws
197199 
198200Claude Code draws most of its interface itself: messages, tool call rows, the spinner, and more. Each of those parts is a render site too, so a mod can restyle or replace it. To change one, filter your `ui.render` hook on its name from this table:
from line 346
344346* **The question dialog**: at `AskUserQuestion`, the panel keeps its own question card and draws your elements above it. Props you pass to `next` don't change the card.
345347* **Prompt suggestions**: `$.prompt.suggest` resolves with `isShown: false` and shows nothing, because the panel keeps the prompt box's dim suggestion text for Claude's own suggestions.
346348* **Text limits**: the panel cuts a status line at 200 characters or two rows, and a toast at 500 characters.
349 
350### Place a row in the transcript
351 
352A row is a line your mod adds to the transcript in the terminal, after the latest message. It stays at that spot as the conversation goes on, and Claude doesn't see it. `$.ui.place` requires Claude Code v2.1.314 or later.
353 
354**1. Place the row**
355 
356Call [`$.ui.place`](https://code.claude.com/docs/en/plugins/mods/reference#mods-api-methods) with an `id`. The `id` is a name you make up for the row, such as `build-status`. It can be 1 to 64 letters, digits, `_`, or `-`, and each row your mod has in the transcript needs its own.
357 
358**2. Draw the row**
359 
360Draw the row at the [`Placed`](https://code.claude.com/docs/en/plugins/mods/reference#render-sites) render site.
361 
362This example adds a `/build-status` command. When the user runs the command, the mod adds a row that shows `Build: passing`. The text is fixed to keep the example short, so a real mod would draw its own result:
363 
364```javascript theme={null}
365export function register(on) {
366 on('session.start', async ($, e, next) => {
367 await $.command.register({ name: 'build-status', description: 'Show the build status' })
368 return next(e)
369 })
370 
371 on('command.run', { command: 'build-status' }, async ($) => {
372 const placed = await $.ui.place({ id: 'build-status' })
373 // Where nothing draws the row, reply with text instead
374 return placed.isPlaced ? {} : { text: 'Build: passing' }
375 })
376 
377 on('ui.render', { component: 'Placed' }, async ($, e, next) => {
378 // This hook runs for every mod's rows, and another mod can use the same id
379 if (e.props.plugin !== $.plugin.name || e.props.id !== 'build-status') return next(e)
380 const { Text } = $.ui.resolve(e)
381 return Text({ children: ['Build: passing'] })
382 })
383}
384```
385 
386To try the example, put this code in a [mod](https://code.claude.com/docs/en/plugins/mods/create.md). In a terminal session, run `/build-status` at the Claude Code prompt. `Build: passing` appears as a row at the end of the transcript.
387 
388The call doesn't always show a row, and a row can go away later, so handle these cases in your mod:
389 
390* **The result**: `{ isPlaced: true, requestId }` when the terminal draws the row. Otherwise `isPlaced` is `false` and `reason` says why, as in `no attached surface draws placed rows yet`. One reason is the [limit on rows](https://code.claude.com/docs/en/plugins/mods/reference.md#limits) a mod can have at one time.
391* **A second call with the same `id`**: while the first row is still in the transcript, the call adds no row and resolves with that row's `requestId`. To change what the row shows, [redraw the row](#redraw-when-something-changes).
392* **When the row goes away**: when the conversation ends, when the user rewinds past the row, or, outside [fullscreen rendering](https://code.claude.com/docs/en/fullscreen.md), when the conversation is compacted. `--resume` doesn't bring the row back. To show the row again, call `$.ui.place` again.
393 
394### Put a backdrop behind the conversation
395 
396> [!NOTE]
397>
398> `$.theme.set` and `$.theme.clear` replace `$.ui.backdrop`, which Claude Code v2.1.319 removed. Change `$.ui.backdrop({ id: 'your-backdrop' })` to `$.theme.set({ backdrop: { id: 'your-backdrop' } })`, and `$.ui.backdrop(undefined)` to `$.theme.clear()`, which removes any mod's backdrop.
399 
400To put a backdrop behind the conversation in the Desktop app or the mobile app, call [`$.theme.set`](https://code.claude.com/docs/en/plugins/mods/reference#mods-api-methods) with a `backdrop`, then draw the backdrop at the [`Backdrop`](https://code.claude.com/docs/en/plugins/mods/reference#render-sites) render site. To take the backdrop off, call `$.theme.clear()`. The terminal draws no backdrop. `$.theme.set` and `$.theme.clear` require Claude Code v2.1.319 or later.
401 
402This mod sets a backdrop when the session starts, draws the backdrop, and adds a `/plain` command that takes the backdrop off:
403 
404```javascript theme={null}
405export function register(on) {
406 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here
407 on('session.start', async ($, e, next) => {
408 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })
409 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })
410 return next(e)
411 })
412 
413 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {
414 // This hook runs for every mod's backdrop, and another mod can use the same id
415 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)
416 const { Box, Text } = $.ui.resolve(e)
417 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })
418 })
419 
420 on('command.run', { command: 'plain' }, async ($) => {
421 const cleared = await $.theme.clear()
422 return { text: cleared.reason }
423 })
424}
425```
426 
427To try the example, put this code in a [mod](https://code.claude.com/docs/en/plugins/mods/create.md) and start a session in the Desktop app or the mobile app. To take the backdrop off, run `/plain` at the Claude Code prompt. The transcript shows `the theme is cleared` after the mod's name, as in `night-sky: the theme is cleared` for a mod named `night-sky`.
428 
429Check what `backdrop` takes, what the call's result tells you, and what other mods can change:
430 
431* **The `backdrop` fields**: `id`, a [name](https://code.claude.com/docs/en/plugins/mods/reference.md#limits) you choose, is required, and the other fields are optional. `colorScheme` is `'light'` or `'dark'` and says whether your drawing is light or dark. For `glass`, see [the types for your build](https://code.claude.com/docs/en/plugins/mods/create.md#get-the-types-for-your-build).
432* **Whether the backdrop is drawn**: `$.theme.set` resolves with `isDrawn: true` when a Desktop or mobile app connected to the session says it draws backdrops. Otherwise `isDrawn` is `false` and `reason` says why.
433* **One backdrop for each session**: a `$.theme.set` call replaces the session's backdrop and `$.theme.clear()` removes that backdrop, whichever mod set it. Call `$.theme.clear()` only when the user asks for it.
347434 
348435## Build a tree from elements
349436 

plugins/mods/reference Changed · +6 / -2 lines

from line 208
208208| Namespace | Methods |
209209| :- | :- |
210210| `$.plugin` | `name`, `root`: this plugin's name and directory |
211| [`$.ui`](https://code.claude.com/docs/en/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |
211| [`$.ui`](https://code.claude.com/docs/en/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, [`place`](https://code.claude.com/docs/en/plugins/mods/interface#place-a-row-in-the-transcript), `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit`, `view`. `view` requires Claude Code v2.1.300 or later and `place` v2.1.314 or later. |
212| [`$.theme`](https://code.claude.com/docs/en/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `set`, `clear`: set a backdrop for the Desktop or mobile app to draw, and take the backdrop off. Requires Claude Code v2.1.319 or later. |
212213| [`$.command`](https://code.claude.com/docs/en/plugins/mods/api#add-a-command) | `register`, `run`, `list` |
213214| [`$.tool`](https://code.claude.com/docs/en/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |
214215| `$.agent` | `register`, `spawn`, `list`. `list()` returns this session's subagents and teammates, each with a `status` of `pending`, `running`, `waiting`, `idle`, `completed`, `failed`, or `killed`, where `idle` and `waiting` require Claude Code v2.1.289 or later. |
from line 240
239240| :- | :- | :- | :- |
240241| [`Pane`](https://code.claude.com/docs/en/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | The pane's `id` | Terminal, Desktop, VS Code |
241242| [`AbovePrompt`](https://code.claude.com/docs/en/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | One instance | Terminal, Desktop |
243| [`Placed`](https://code.claude.com/docs/en/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | The `requestId` that `$.ui.place` returned | Terminal |
244| [`Backdrop`](https://code.claude.com/docs/en/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`, `plugin`, `glass`, `colorScheme` | `backdrop` | `desktop` and `mobile` surfaces. Your hook runs when the Desktop or mobile app asks to draw a backdrop. |
242245| `UserMessage` | `text`, `origin`, `isExpanded`, and `task` or `from` by origin | The message id | Terminal, Desktop, VS Code |
243246| `AssistantMessage` | The reply's text | The message id | Terminal, Desktop, VS Code |
244247| `ToolUse`, `ToolResult`, `ToolGroup` | The tool's name, input, and result | The tool call id | Terminal, Desktop, VS Code |
from line 398
395398| `$.ui.invalidate('ui.render')` redraws | Throttled to 10 a second, or 30 in the terminal for the visible pane, the expanded band, and the hint line under the prompt. Calls that come sooner are coalesced. |
396399| `$.ui.toast` | Shown for 4 seconds unless you pass `{ timeoutMs }`. In the [classic renderer](https://code.claude.com/docs/en/fullscreen.md#enable-fullscreen-rendering), a mod's newer toast can [take the place of its older one](https://code.claude.com/docs/en/plugins/mods/troubleshoot.md#a-toast-doesn’t-appear) that's showing or waiting to show. |
397400| A pane opened without the user asking | Placed from 144 terminal columns, 110 after they've opened it once |
401| Rows from `$.ui.place` that one mod has in a conversation at one time | 500. At the limit, a call with a new `id` resolves to `{ isPlaced: false, reason: 'a plugin holds at most 500 placed rows' }`. |
398402| Nesting depth of a mods API call's arguments | 28,000 levels. Past that, the call rejects with a message ending `nesting deeper than 28000 levels is not supported`. Requires Claude Code v2.1.299 or later. |
399403| Nesting depth of a changed event passed to `next`, outside [async generator hooks](#events) such as one on `turn.step` | 28,000 levels. Past that, `next` rejects with a message ending `nesting deeper than 28000 levels is not supported`. Requires Claude Code v2.1.299 or later. |
400404| Nesting depth of a hook's return value, outside `ui.render`, `ui.resolve`, and async generator hooks | 28,000 levels. Past that, the hook's result is refused, and [the notice that reports it](https://code.claude.com/docs/en/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) includes `nesting deeper than 28000 levels is not supported`. Requires Claude Code v2.1.299 or later. |
401405| Scopes, such as functions, blocks, and loops, nested inside one another in one file of a hooks module | 2,000 |
402| Command, tool, subagent type, and pane names | Letters, digits, `_`, and `-`, up to 64 characters |
406| Command, tool, subagent type, and pane names, and the `id` of a placed row or a backdrop | Letters, digits, `_`, and `-`, up to 64 characters |
403407| One `claude plugin test` test | 5 seconds unless the test sets `timeoutMs` |
404408 
405409## Settings and environment variables

self-hosted-environments-configuration Changed · +5 / -1 lines

#### Checkout folder names

from line 150
150150| :- | :- |
151151| `CLAUDE_RUNNER_REPO_URL` | Repository URL to clone, after any `--git-host-rewrite` and `--git-ssh-rewrite` have been applied |
152152| `CLAUDE_RUNNER_REPO_REF` | Revision to check out, as the session requested it: a branch, tag, commit SHA, or full reference name such as `refs/heads/<branch>` or `refs/pull/<number>/head`. Empty means the repository's default branch. |
153| `CLAUDE_RUNNER_CHECKOUT_PATH` | Absolute path where the working tree must be left |
153| `CLAUDE_RUNNER_CHECKOUT_PATH` | Absolute path where the working tree must be left. See [Checkout folder names](#checkout-folder-names). |
154154| `CLAUDE_RUNNER_SESSION_ID` | Session ID in the tagged `session_...` form, for logging and correlation |
155155| `CLAUDE_RUNNER_SESSION_UUID` | The same session ID in canonical UUID form |
156156| `CLAUDE_RUNNER_API_BASE_URL` | Anthropic API base URL for session-scoped calls |
from line 161
161161The script must leave a working tree at `CLAUDE_RUNNER_CHECKOUT_PATH` checked out at the requested revision. A detached HEAD works, because the runner creates the session's working branch on top.
162162 
163163After your hook returns, the runner verifies that `CLAUDE_RUNNER_CHECKOUT_PATH` contains a `.git`. If your hook materializes a non-git source such as Perforce or an unpacked tarball, set `CLAUDE_RUNNER_SKIP_GIT_VERIFY=1` in the runner's environment to skip that check. Git-based flows such as working-branch creation and pushing results require a git checkout, so export outcomes from non-git trees with a [`post-session` hook](#post-session).
164 
165#### Checkout folder names
166 
167`CLAUDE_RUNNER_CHECKOUT_PATH` ends in a folder named `<repo-owner>-<repo>`, such as `acme-api`. Two repositories in a session can't share a folder, even when their names differ only in case. For example, if a session lists `acme/api` and then `Acme/API`, the first gets `acme-api` and the second gets `Acme-API-2`.
164168 
165169#### Get git credentials in the hook
166170 

self-hosted-environments-deploy Changed · +6 / -0 lines

from line 938
938938 If every call starts failing about 30 minutes into a session, a wrapper script has likely severed the session's stdin, so token rotations can't reach it; see [Keep stdin and file descriptor 3 attached](https://code.claude.com/docs/en/self-hosted-environments-configuration.md#keep-stdin-and-file-descriptor-3-attached).
939939 
940940 Before v2.1.274, the runner stopped retrying a failed fetch after a few attempts and waited for the next scheduled one. A failed turn didn't trigger a fetch, so every turn failed with a 401 until the next scheduled fetch.
941* **A session shows `The server has refused to renew this session's access to the model`**: the session's [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/en/self-hosted-environments-configuration#wrapper-scripts) has expired, and the runner has received HTTP 400 in answer to its requests for a new token. The runner logs `the server has refused to renew the inference_token`. Turns in that session fail. The runner keeps requesting a new token for as long as the session's process runs:
942 
943 * **A request succeeds**: a session that showed the warning then shows `The server renewed this session's access to the model`
944 * **Turns keep failing**: the process eventually exits, and the session shows a failure such as `The session process exited with code 1`
945 
946 To keep working without waiting for a new token, start a new session. If a new session fails too, check whether a proxy or gateway of yours gave the HTTP 400 answer. If none did, [contact your Anthropic account team](#report-an-issue) with the first session's ID.
941947* **A turn fails in claude.ai/code with `This model needs a newer version of Claude Code`**: the Claude Code version that your runners start sessions with is older than the session's model requires, so the API [rejects the request](https://code.claude.com/docs/en/errors.md#claude-code-does-not-support-this-model). Upgrade the runners to the version the message asks for, or a later one, as described in [Pin the version](#pin-the-version). Until then, people can pick a different model in the session.
942948* **Pod is killed mid-drain**: raise `terminationGracePeriodSeconds` to at least the value the runner logs at startup. See [Shutdown timing](#shutdown-timing).
943949* **Runner logs a `[runner:log]` line ending `was paused or too slow`**: the runner kept running and needs no restart. Until the stdout or stderr stream named in the line was read again, the runner discarded all but that stream's newest 256 KiB of lines. If you passed [`--log-file`](https://code.claude.com/docs/en/self-hosted-environments-reference#runner-cli-flags), look there for the discarded lines.

settings-reference Changed · +62 / -1 lines

### `permissions.denyInsteadOfPrompting` #### What else `denyInsteadOfPrompting` stops #### Messages from `denyInsteadOfPrompting`

This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.

from line 143
143143| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Make the `Write`, `Edit`, and `NotebookEdit` tools refuse paths outside the [working directories](https://code.claude.com/docs/en/permissions.md#working-directories) in every permission mode, apart from [some of Claude Code's own files](#what-the-write-block-refuses-and-what-stays-writable) | Permission settings | Any file |
144144| [`permissions.defaultMode`](#permissions-defaultmode) | Set the default [permission mode](https://code.claude.com/docs/en/permission-modes.md#which-mode-a-session-starts-in) for new sessions | Permission settings | Any file |
145145| [`permissions.deny`](#permissions-deny) | Block listed [tool uses](https://code.claude.com/docs/en/permissions.md#permission-rule-syntax), including reads of files that hold secrets | Permission settings | Any file |
146| [`permissions.denyInsteadOfPrompting`](#permissions-denyinsteadofprompting) | Deny tool calls that would wait on a [permission prompt](https://code.claude.com/docs/en/permissions.md#permission-system), so a session nobody is watching keeps working | Permission settings | User or managed |
146147| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Prevent anyone from entering [bypassPermissions mode](https://code.claude.com/docs/en/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |
147148| [`plansDirectory`](#plansdirectory) | Choose where [plan mode](https://code.claude.com/docs/en/permission-modes.md#analyze-before-you-edit-with-plan-mode) writes plan files | Memory and context | Any file |
148149| [`pluginConfigs`](#pluginconfigs) | Store the answers you gave a [plugin](https://code.claude.com/docs/en/plugins/overview.md)'s configuration dialog | Plugins and skills | User or managed |
from line 901
900901Control which tools Claude can use without asking, which ones prompt, and which ones are blocked. Also set the default [permission mode](https://code.claude.com/docs/en/permission-modes.md) for new sessions. Every `permissions.*` key below nests under this object.
901902 
902903* **Scope**: [`Any file`](#scopes)
903* **Type**: object with `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode`, and `disableAutoMode`
904* **Type**: object with `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `denyInsteadOfPrompting`, `disableBypassPermissionsMode`, and `disableAutoMode`
904905* **Default**: unset
905906 
906907This example approves `npm run` commands without asking, prompts before `git push`, blocks reads of `.env`, and starts sessions in `acceptEdits`:
from line 1160
11591160 
11601161Permission rules layer on top of every mode: `deny` rules block in every mode, including `bypassPermissions`. See [Permission modes](https://code.claude.com/docs/en/permission-modes.md). In cloud sessions, Claude Code honors only `acceptEdits`, `plan`, `default`, and `auto` from this key. For conversations the VS Code extension starts, see [which setting the extension reads for the starting permission mode](https://code.claude.com/docs/en/permission-modes.md#switch-permission-modes).
11611162 
1163### `permissions.denyInsteadOfPrompting`
1164 
1165Set this to `true` to keep a session running when nobody is there to answer a permission prompt. Claude Code denies a tool call that would otherwise wait on a prompt, and the turn continues. Requires Claude Code v2.1.319 or later.
1166 
1167A call goes ahead if an allow rule, your [permission mode](https://code.claude.com/docs/en/permission-modes.md), or auto mode's classifier approves it. To allow most calls that would otherwise prompt, answer from a [`PermissionRequest` hook](https://code.claude.com/docs/en/hooks#permissionrequest).
1168 
1169* **Scope**: [`User or managed`](#scopes), and `--settings`. A repository can't set it for you.
1170* **Type**: Boolean
1171 * `true`: Claude Code denies calls that would otherwise prompt
1172 * `false`: the same as unset; calls are still denied if another of these sources sets `true`
1173* **Default**: unset, so a call that needs approval prompts you
1174 
1175In `~/.claude/settings.json`, this example starts sessions in auto mode and denies whatever would still fall back to a prompt:
1176 
1177```json settings.json theme={null}
1178{
1179 "permissions": {
1180 "defaultMode": "auto",
1181 "denyInsteadOfPrompting": true
1182 }
1183}
1184```
1185 
1186The key applies in `-p` runs, interactive terminal sessions, the [VS Code extension](https://code.claude.com/docs/en/vs-code.md), local sessions in the [Desktop app](https://code.claude.com/docs/en/desktop.md), [subagents](https://code.claude.com/docs/en/sub-agents.md), and [agent teams](https://code.claude.com/docs/en/agent-teams.md). To deny what would prompt in a single [non-interactive](https://code.claude.com/docs/en/headless.md) run instead, pass [`--permission-prompts none`](https://code.claude.com/docs/en/headless#turn-off-permission-prompts-in-unattended-runs) with `-p`.
1187 
1188#### What else `denyInsteadOfPrompting` stops
1189 
1190With the setting on, Claude Code also stops these requests for an answer:
1191 
1192* **Question and plan tools**: Claude Code leaves out [`AskUserQuestion`](https://code.claude.com/docs/en/tools-reference#askuserquestion-tool-behavior), `EnterPlanMode`, and `ExitPlanMode`, so a session in plan mode can't leave it on its own. A teammate in an agent team keeps `EnterPlanMode` and `ExitPlanMode`
1193* **MCP elicitation**: Claude Code cancels an [elicitation request](https://code.claude.com/docs/en/mcp.md#respond-to-mcp-elicitation-requests) unless an [`Elicitation` hook](https://code.claude.com/docs/en/hooks#elicitation) answers it
1194* **Permission hosts**: Claude Code doesn't ask your [`canUseTool` callback](https://code.claude.com/docs/en/agent-sdk/user-input) or [`--permission-prompt-tool`](https://code.claude.com/docs/en/cli-reference#cli-flags). To approve calls from code, answer from a `PermissionRequest` hook. Some calls are denied before any hook is asked, such as a [critical-path removal](https://code.claude.com/docs/en/permission-modes.md#critical-path-removals-in-each-permission-mode) in `auto` mode that no ask rule covers.
1195* **Classifier billing notice**: where the [notice about billed classifier requests](https://code.claude.com/docs/en/auto-mode-classifier-billing.md#actions-denied-in-place-of-the-notice) would open a dialog, Claude Code doesn't show it and denies the actions that need those requests
1196 
1197A session can still wait on the [workspace trust dialog](https://code.claude.com/docs/en/permissions.md#project-allow-rules-and-workspace-trust) and on [project MCP server approval](https://code.claude.com/docs/en/mcp.md#project-server-approvals-and-workspace-trust). Answer both before you leave the session running.
1198 
1199#### Messages from `denyInsteadOfPrompting`
1200 
1201These messages report refused calls. They aren't prompts, so nothing waits for your answer.
1202 
1203The denial Claude reads can open with this text:
1204 
1205```text theme={null}
1206Permission for this tool use was denied. It requires approval, and this session has no approval surface
1207```
1208 
1209In `stream-json` output, [the runs that emit a `permission_denied` message](https://code.claude.com/docs/en/agent-sdk/typescript#sdkpermissiondeniedmessage) report this `decision_reason`:
1210 
1211```text theme={null}
1212no approval surface in this session; permission request denied automatically
1213```
1214 
1215In auto mode with the setting on, the turn ends after 20 calls in a row that the classifier blocked or a [safety check refused](https://code.claude.com/docs/en/errors.md#auto-mode-cannot-determine-the-safety-of-an-action), and you see this message:
1216 
1217```text theme={null}
121820 actions were refused and no work went ahead in between, so Claude stopped.
1219```
1220 
1221A `-p` run reports that turn as `error_during_execution`.
1222 
11621223### `permissions.disableBypassPermissionsMode`
11631224 
11641225Prevent anyone from entering `bypassPermissions` mode. Claude Code then rejects the `--dangerously-skip-permissions` flag, and ignores an [agent definition's](https://code.claude.com/docs/en/sub-agents.md#permission-modes) `permissionMode: bypassPermissions`, so the subagent runs with the parent session's permission mode.
from line 3350
32893350}
32903351```
32913352 
3292A [`viewMode`](#viewmode) value or a sticky `/focus` selection overrides this key every session.
3293 
3294### `viewMode`
3295 
3296Set the transcript view Claude Code starts in: `"default"`, `"verbose"`, or `"focus"`. When set, it overrides both the sticky `/focus` selection and the [`verbose`](#verbose) setting.
3297 
3298* **Scope**: [`Any file`](#scopes)
3299* **Type**: string, one of:
3300 * `"default"`: the normal transcript with truncated tool output
3301 * `"verbose"`: the transcript with full tool output
3302 * `"focus"`: only your last prompt, a one-line summary of tool calls with edit diffstats, and the final response. Focus view needs the [fullscreen renderer](#tui)
3303* **Default**: unset, so the `verbose` setting and your last `/focus` choice apply
3304* **Per-session overrides**: [`--verbose`](https://code.claude.com/docs/en/cli-reference#cli-flags) takes precedence over this key for one session
3305 
3306```json settings.json theme={null}
3307{
3308 "viewMode": "focus"
3309}
3310```
3311 
3312### `vimInsertModeRemaps`
3313 
3314Map two-key INSERT-mode sequences to Escape in [vim editor mode](https://code.claude.com/docs/en/interactive-mode.md#vim-editor-mode). Each key is exactly two printable characters typed in sequence, and `"<Esc>"` is the only supported target; Claude Code ignores other entries.
3315 
3316* **Scope**: [`User or managed`](#scopes). A repository can't remap your keystrokes.
3317* **Type**: object mapping a two-character sequence to `"<Esc>"`
3318* **Default**: unset
3319 
3320```json settings.json theme={null}
3321{
3322 "vimInsertModeRemaps": {
3323 "jj": "<Esc>"
3324 }
3325}
3326```
3327 
3328Has no effect unless `editorMode` is `"vim"`. See [Remap INSERT-mode key sequences](https://code.claude.com/docs/en/interactive-mode.md#remap-insert-mode-key-sequences).
3329 
3330### `voice`
3331 
3332Turn on [voice dictation](https://code.claude.com/docs/en/voice-dictation.md) and choose how the dictation key behaves. Claude Code writes this object for you when you run `/voice`.
3333 
3334* **Scope**: [`Any file`](#scopes)
3335* **Type**: object with `enabled` as a Boolean, `autoSubmit` as a Boolean that applies in hold mode only, and `mode`, one of:
3336 * `"hold"`: you hold the dictation key while speaking and release it to stop
3337 * `"tap"`: you tap the key once to start recording and again to send
3338* **Default**: unset, so dictation is off; when `enabled` is `true` and `mode` is unset, Claude Code uses `"hold"`
3339 
3340This example turns dictation on and makes the key tap once to start recording and again to send:
3341 
3342```json settings.json theme={null}
3343{
3344 "voice": {
3345 "enabled": true,
3346 "mode": "tap"
3347 }
3348}
3349```
3350 
3351`autoSubmit` sends the prompt when you release the key in hold mode. Voice dictation requires a claude.ai account.
3352 
3353### `voiceEnabled`
3354 
3355> [!WARNING]
3356>
3357> Deprecated since v2.1.92, when the [`voice`](#voice) object replaced it. Claude Code still reads it so older settings files keep working, but new configurations should set `voice.enabled`.
3358 
3359Turn voice dictation on with the single Boolean form that predates the `voice` object. When both are set, `voice.enabled` applies.
3360 
3361* **Scope**: [`Any file`](#scopes)
3362* **Type**: Boolean
3363 * `true`: voice dictation is on when you're logged in with a claude.ai account and your organization's policy allows voice, unless `voice.enabled` is set
3364 * `false`: voice dictation is off, unless `voice.enabled` is set
3365* **Default**: unset
3366 
3367```json settings.json theme={null}
3368{
3369 "voiceEnabled": true
3370}
3371```
3372 
3373### `wheelScrollAccelerationEnabled`
3374 
3375Accelerate mouse-wheel scroll speed during fast scrolls in [fullscreen rendering](https://code.claude.com/docs/en/fullscreen.md#mouse-wheel-scrolling). Set it to `false` for a constant scroll rate per wheel notch.
3376 
3377* **Scope**: [`Any file`](#scopes)
3378* **Type**: Boolean
3379 * `true`: Claude Code accelerates mouse-wheel scroll speed during fast scrolls
3380 * `false`: Claude Code scrolls at a constant rate per wheel notch
3381* **Default**: `true`
3382 
3383```json settings.json theme={null}
3384{
3385 "wheelScrollAccelerationEnabled": false
3386}
3387```
3388 
3389## Git and attribution
3390 
3391Control the attribution Claude Code adds to commits and pull requests and how it works with git.
3392 
3393### `attribution`
3394 
3395Customize the attribution Claude Code adds to git commits and pull requests. Commits get a [git trailer](https://git-scm.com/docs/git-interpret-trailers) such as `Co-Authored-By` by default; pull request descriptions get plain text. Set each part separately with the sub-keys below.
3396 
3397* **Scope**: [`Any file`](#scopes)
3398* **Type**: object with `commit` and `pr` strings and a `sessionUrl` Boolean, or `false` to hide all attribution. The `false` value requires Claude Code v2.1.281 or later; earlier versions reject it and [skip the whole user, project, or local settings file](https://code.claude.com/docs/en/settings.md#fix-a-broken-settings-file) that holds it
3399* **Default**: unset, so Claude Code uses the standard attribution shown under each sub-key
3400 
3401To hide all attribution, set `attribution` to `false`. In a settings file that earlier versions also read, set [`com
3353A [`viewMode`](#viewmode) value or a s

tools-reference Changed · +14 / -3 lines

#### Bash rules that deny or prompt for WebSocket watches

from line 386
386386 
387387When Monitor runs a command, it uses the same [permission rules as Bash](https://code.claude.com/docs/en/permissions.md#tool-specific-permission-rules), so `allow` and `deny` patterns you have set for Bash apply here too. While [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode) is active, Claude Code sets aside allow rules that name `Monitor` itself, along with the other [broad allow rules it drops](https://code.claude.com/docs/en/permission-modes.md#how-the-classifier-evaluates-actions), so the classifier reviews Monitor commands the same way it reviews Bash commands.
388388 
389The [WebSocket source](#websocket-source) has its own approval prompt, which the classifier also decides in auto mode.
390 
391389Monitor needs a minimum version or Git Bash in these cases:
392390 
393391* **Minimum version**: on Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, or Microsoft Foundry, or with `DISABLE_TELEMETRY` or `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` set, Monitor requires Claude Code v2.1.310 or later. The requirement applies when [feature-flag fetching](https://code.claude.com/docs/en/env-vars.md#features-that-need-feature-flag-fetching) is off
from line 411
413411 
414412The `timeout_ms` deadline applies to a WebSocket watch too: the watch ends at the deadline, and `TaskStop` cancels it early.
415413 
416Opening a WebSocket prompts for approval; in [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode) the classifier decides instead. The prompt doesn't offer an option to skip future prompts for the same host.
414Without a `Monitor` allow rule, you're prompted before Claude opens a WebSocket; in [auto mode](https://code.claude.com/docs/en/permission-modes.md#eliminate-prompts-with-auto-mode) the classifier decides instead, unless an [ask rule](#bash-rules-that-deny-or-prompt-for-websocket-watches) applies. The prompt doesn't offer an option to skip future prompts for the same host.
417415 
418416Claude Code denies URLs that point at a private, link-local, or cloud-metadata address, including hostnames that resolve to one. It also denies hosts in `sandbox.network.deniedDomains`, and when [`allowManagedDomainsOnly`](https://code.claude.com/docs/en/settings-reference#sandbox-network-allowmanageddomainsonly) is set in managed settings, any host outside the managed allowlist.
419417 
418#### Bash rules that deny or prompt for WebSocket watches
419 
420If Claude Code refuses a `Monitor` call that opens a WebSocket, look for a [deny or ask rule](https://code.claude.com/docs/en/permissions.md#manage-permissions) written `Bash` or `Bash(*)`. Do the same if it prompts for that call despite your `Monitor` allow rule. A rule on every Bash command also covers these WebSocket watches:
421 
422* **Deny rule**: if the rule is in place when the session starts, Claude doesn't have the Monitor tool, so it can't start the watch. If you add the rule during a session, Claude's next `Monitor` call is refused. The refusal reads `Permission to use Monitor has been denied: it runs code as Bash does, and a rule denies Bash.`
423* **Ask rule**: you're asked to approve the watch. You can't have an allow rule, a `PreToolUse` hook, `bypassPermissions` mode, or the auto mode classifier approve it for you. You can approve it from a [`PermissionRequest` hook](https://code.claude.com/docs/en/hooks#permissionrequest). Where nobody can answer, such as in `dontAsk` mode, Claude Code denies the watch.
424 
425To let these watches run, narrow the rule to the commands you mean, such as `Bash(rm *)`.
426 
427The ask rule, and a deny rule you add during a session, cover these watches in Claude Code v2.1.319 or later.
428 
420429## NotebookEdit tool behavior
421430 
422431NotebookEdit modifies a Jupyter notebook one cell at a time, targeting cells by their `cell_id`. It doesn't perform string replacement across the notebook the way [Edit](#edit-tool-behavior) does on plain files.
from line 599
590599* Non-interactive `-p` runs and [Agent SDK](https://code.claude.com/docs/en/agent-sdk/overview.md) sessions, which have no screen to review the queue on
591600* [Cloud sessions](https://code.claude.com/docs/en/claude-code-on-the-web.md), which can't write to the queue on your machine
592601* Sessions on [Amazon Bedrock](https://code.claude.com/docs/en/amazon-bedrock.md), [Claude Platform on AWS](https://code.claude.com/docs/en/claude-platform-on-aws.md), [Google Cloud's Agent Platform](https://code.claude.com/docs/en/google-vertex-ai.md), or [Microsoft Foundry](https://code.claude.com/docs/en/microsoft-foundry.md)
602* Sessions that reach Claude through an [LLM gateway](https://code.claude.com/docs/en/llm-gateway) with the gateway's own key or token
593603* Sessions where you set [`CLAUDE_CODE_SEND_FEEDBACK=0`](https://code.claude.com/docs/en/env-vars) or [`DISABLE_FEEDBACK_COMMAND=1`](https://code.claude.com/docs/en/env-vars), set `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` to any non-empty value, or turned off [feature-flag fetching](https://code.claude.com/docs/en/env-vars.md#features-that-need-feature-flag-fetching)
594604* Organizations that have turned off product feedback, [organizations with Zero Data Retention](https://code.claude.com/docs/en/zero-data-retention.md#features-disabled-under-zdr), and organizations with the [HIPAA configuration](https://code.claude.com/docs/en/hipaa-setup.md) applied
605* Sessions where Claude Code has [stopped offering feedback after a refused report](https://code.claude.com/docs/en/errors.md#feedback-is-disabled-by-your-organizations-policy)
595606 
596607## Task tool availability
597608 

agent-sdk/python Changed · +1 / -1 lines

from line 2783
27832783 
27842784Runs a background source and delivers each event to Claude so it can react without polling: `command` runs a script and emits one event per stdout line, and `ws` opens a WebSocket and emits one event per text frame. Provide exactly one of `command` or `ws`.
27852785 
2786When Monitor runs a command, it follows the same permission rules as Bash; a WebSocket watch prompts for approval separately. The `ws` source requires Claude Code v2.1.195 or later. See the [Monitor tool reference](https://code.claude.com/docs/en/tools-reference.md#monitor-tool) for behavior and provider availability.
2786The `ws` source requires Claude Code v2.1.195 or later. When Monitor runs a command, it follows the same permission rules as Bash. See the [Monitor tool reference](https://code.claude.com/docs/en/tools-reference.md#monitor-tool) for WebSocket permissions, behavior, and provider availability.
27872787 
27882788**Input:**
27892789 

claude-apps-gateway Changed · +1 / -1 lines

from line 168
168168 
169169A successful boot doesn't validate the inference path, because Amazon Bedrock and Google Cloud's Agent Platform instance credentials resolve on the first request, not at boot.
170170 
171Watch stderr for the boot sequence. Log lines use the format `[gateway] <timestamp> <level> <message>`, audit events are single-line JSON with an `evt` field, and a startup banner, omitted below, prints between the migration and listening lines. A fresh database prints one `migration N applied` line per schema migration; an already-migrated database prints none. You should see, in order:
171Watch stderr for the boot sequence. By default, log lines use the format `[gateway] <timestamp> <level> <message>`, and a startup banner, omitted below, prints between the migration and listening lines. Audit events are single-line JSON with an `evt` field. A fresh database prints one `migration N applied` line per schema migration; an already-migrated database prints none. You should see, in order:
172172 
173173```text theme={null}
174174{"ts":"2026-06-10T17:03:21.114Z","evt":"config.load","path":"/etc/claude/gateway.yaml","sha256":"…"}

claude-tag Changed · +1 / -1 lines

from line 466
466466<div class="tm-strip"><div class="tm-strip-head"><p class="tm-strip-title">Security review</p><a href="/docs/claude-tag/concepts/security-and-data" class="link tm-strip-all">Security and data handling</a></div><p>The security model, what admins can and can’t restrict, audit trails, and network requirements.</p></div>
467467<h2 class="flex whitespace-pre-wrap group font-semibold" id="where-to-start-with-claude-tag" aria-labelledby="_R_255deehkd74t9_"><div class="absolute" tabindex="-1"><a href="#where-to-start-with-claude-tag" class="-ml-10 flex items-center opacity-0 border-0 group-hover:opacity-100 focus:opacity-100 focus:outline-0 group/link" aria-label="Navigate to header: Where to start with Claude Tag">​<div class="size-6 rounded-md flex items-center justify-center shadow-xs text-gray-400 dark:text-white/50 dark:bg-background-dark dark:brightness-[1.35] dark:ring-1 dark:hover:brightness-150 bg-white ring-1 ring-gray-400/30 dark:ring-gray-700/25 hover:ring-gray-400/60 dark:hover:ring-white/20 group-focus/link:border-2 group-focus/link:border-primary dark:group-focus/link:border-primary-light"><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="size-3 shrink-0"><use href="#mi-mint-1-Link"></use></svg></div></a></div><span id="_R_255deehkd74t9_" class="cursor-pointer">Where to start with Claude Tag</span></h2>
468468<div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:2"><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_675deehkd74t9_" tabindex="0" role="link"><div class="px-6 py-5 relative flex items-center gap-x-4" data-component-part="card-content-container"><div class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="m-0.5 size-3 shrink-0"><use href="#mi-mint-1-ExternalLink"></use></svg></div><div aria-hidden="true" class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_675deehkd74t9_" class="not-prose font-semibold text-base text-gray-800 dark:text-white" contentEditable="false" data-component-part="card-title">Set up Claude Tag</h2><div id="_R_675deehkd74t9H1_" class="prose font-normal text-base text-gray-600 dark:text-gray-400 leading-6 mt-0" data-component-part="card-content"><span data-as="p">Admins: pair your Slack workspace and launch</span></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_a75deehkd74t9_" tabindex="0" role="link"><div class="px-6 py-5 relative flex items-center gap-x-4" data-component-part="card-content-container"><div class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="m-0.5 size-3 shrink-0"><use href="#mi-mint-1-ExternalLink"></use></svg></div><div aria-hidden="true" class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_a75deehkd74t9_" class="not-prose font-semibold text-base text-gray-800 dark:text-white" contentEditable="false" data-component-part="card-title">Hand Claude Tag your first task</h2><div id="_R_a75deehkd74t9H1_" class="prose font-normal text-base text-gray-600 dark:text-gray-400 leading-6 mt-0" data-component-part="card-content"><span data-as="p">It’s already in your channel: send your first message</span></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_e75deehkd74t9_" tabindex="0" role="link"><div class="px-6 py-5 relative flex items-center gap-x-4" data-component-part="card-content-container"><div class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="m-0.5 size-3 shrink-0"><use href="#mi-mint-1-ExternalLink"></use></svg></div><div aria-hidden="true" class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_e75deehkd74t9_" class="not-prose font-semibold text-base text-gray-800 dark:text-white" contentEditable="false" data-component-part="card-title">How Claude Tag works</h2><div id="_R_e75deehkd74t9H1_" class="prose font-normal text-base text-gray-600 dark:text-gray-400 leading-6 mt-0" data-component-part="card-content"><span data-as="p">The session model, what it can read, and how memory follows places</span></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_i75deehkd74t9_" tabindex="0" role="link"><div class="px-6 py-5 relative flex items-center gap-x-4" data-component-part="card-content-container"><div class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="m-0.5 size-3 shrink-0"><use href="#mi-mint-1-ExternalLink"></use></svg></div><div aria-hidden="true" class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_i75deehkd74t9_" class="not-prose font-semibold text-base text-gray-800 dark:text-white" contentEditable="false" data-component-part="card-title">Use case library</h2><div id="_R_i75deehkd74t9H1_" class="prose font-normal text-base text-gray-600 dark:text-gray-400 leading-6 mt-0" data-component-part="card-content"><span data-as="p">Prompts to paste, by team and connection</span></div></div></div></div></div></div><div class="feedback-toolbar pb-16 w-full flex flex-col gap-y-8"><div class="flex flex-row flex-wrap gap-4 items-center justify-between"><p class="inline-block text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap">Was this page helpful?</p><div class="flex flex-wrap grow gap-3 items-center justify-end"><div class="flex gap-3 items-center"><button id="feedback-thumbs-up" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-4 shrink-0 text-current"><use href="#mi-mint-1-ThumbsUp"></use></svg><small class="text-sm font-normal leading-4">Yes</small></button><button id="feedback-thumbs-down" class="px-3.5 py-2 flex flex-row gap-3 items-center border-standard rounded-xl text-gray-600 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300 bg-white/50 dark:bg-codeblock/50 hover:border-gray-500 hover:dark:border-gray-500 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-4 shrink-0 text-current"><use href="#mi-mint-1-ThumbsDown"></use></svg><small class="text-sm font-normal leading-4">No</small></button></div><div class="flex gap-3"></div></div></div></div><nav id="pagination" data-layout-item="pagination" aria-label="Pagination" class="px-0.5 flex items-center gap-6 text-sm font-semibold text-gray-700 dark:text-gray-200"><a href="/docs/claude-tag/concepts/how-it-works" rel="next" aria-label="Next: How Claude Tag works" data-component-part="pagination-next" class="group flex items-center min-w-0 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light gap-3 rounded-sm ml-auto pagination-next"><div class="truncate group-hover:text-gray-900 dark:group-hover:text-white" data-component-part="pagination-title">How Claude Tag works</div><svg viewBox="0 0 3 6" aria-hidden="true" data-component-part="pagination-chevron" class="h-1.5 shrink-0 stroke-gray-400 overflow-visible group-hover:stroke-gray-600 dark:group-hover:stroke-gray-300 rotate-180"><path d="M3 0L0 3L3 6" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></a></nav><div data-assistant-bar="" class="left-0 right-0 sticky bottom-0 w-full overflow-hidden z-20 pointer-events-none print:hidden"><div class="chat-assistant-floating-input w-full group/assistant-bar relative translate-y-0 opacity-100"><div class="relative pb-4 sm:pb-6 max-w-2xl mx-auto"><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light dark:bg-background-dark border border-gray-200 dark:border-white/10 focus-within:border-primary dark:focus-within:border-primary-light transition-colors"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-600 dark:placeholder-gray-300 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm" style="resize:none" rows="2"></textarea><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30 absolute right-2.5 bottom-2" aria-label="Send message" disabled=""><svg aria-hidden="true" width="18" height="18" stroke-width="2" class="size-2.5 shrink-0 text-white dark:text-white"><use href="#mi-mint-1-Send"></use></svg></button></div></div></div></div></div></div></div></main></div><footer id="footer" data-layout-item="footer" class="advanced-footer flex flex-col items-center mx-auto border-t border-gray-100 dark:border-gray-800/50 peer-[.is-custom]:hidden! peer-[.is-custom]:sm:hidden! peer-[.is-custom]:md:hidden! peer-[.is-custom]:lg:hidden! peer-[.is-custom]:xl:hidden!"><div class="flex w-full flex-col gap-12 justify-between px-8 py-16 md:py-20 lg:py-28 max-w-246 z-20"><div class="flex flex-col md:flex-row gap-8 justify-between min-h-19"><div class="flex md:flex-col justify-between items-center md:items-start min-w-16 md:min-w-20 lg:min-w-48 md:gap-y-24"><a href="/docs" class="select-none" style="-webkit-touch-callout:none"><span class="sr-only">Claude.ai Documentation<!-- --> home page</span><img class="nav-logo w-auto relative object-contain shrink-0 block dark:hidden max-w-48 h-[26px]" src="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max&amp;auto=format&amp;n=1fyDNLAICe3KG6rB&amp;q=85&amp;s=e870c19cb781d8a7c7b7d19de53b0a10" alt="light logo"/><img class="nav-logo w-auto relative object-contain shrink-0 hidden dark:block max-w-48 h-[26px]" src="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/dark.svg?fit=max&amp;auto=format&amp;n=1fyDNLAICe3KG6rB&amp;q=85&amp;s=80cc0b06d8fd9aeefec8acb226de6866" alt="dark logo"/></a><div class="gap-4 min-w-[140px] max-w-[492px] flex-wrap h-fit flex justify-end md:justify-start"><a href="https://x.com/AnthropicAI" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">x</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a><a href="https://www.linkedin.com/company/anthropicresearch" target="_blank" rel="noopener noreferrer" class="h-fit"><span class="sr-only">linkedin</span><svg class="forced-colors:forced-color-adjust-none forced-colors:bg-[color:CanvasText]! w-5 h-5 bg-gray-500 dark:bg-gray-600 hover:bg-gray-600 dark:hover:bg-gray-500" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></a></div></div><div class="flex flex-col sm:grid max-md:grid-cols-2! gap-8 flex-1" style="grid-template-columns:repeat(4, minmax(0, 1fr))"><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Company</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/company" target="_blank" rel="noreferrer">Anthropic</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/careers" target="_blank" rel="noreferrer">Careers</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/economic-futures" target="_blank" rel="noreferrer">Economic Futures</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/research" target="_blank" rel="noreferrer">Research</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/news" target="_blank" rel="noreferrer">News</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://trust.anthropic.com/" target="_blank" rel="noreferrer">Trust center</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/transparency" target="_blank" rel="noreferrer">Transparency</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Help and security</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/supported-countries" target="_blank" rel="noreferrer">Availability</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://status.anthropic.com/" target="_blank" rel="noreferrer">Status</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://support.claude.com/" target="_blank" rel="noreferrer">Support center</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Learn</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://academy.claude.com/" target="_blank" rel="noreferrer">Courses</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://claude.com/partners/mcp" target="_blank" rel="noreferrer">MCP connectors</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.claude.com/customers" target="_blank" rel="noreferrer">Customer stories</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/engineering" target="_blank" rel="noreferrer">Engineering blog</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/events" target="_blank" rel="noreferrer">Events</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://claude.com/partners/powered-by-claude" target="_blank" rel="noreferrer">Powered by Claude</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://claude.com/partners/services" target="_blank" rel="noreferrer">Service partners</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://claude.com/programs/startups" target="_blank" rel="noreferrer">Startups program</a></div></div><div class="flex flex-col gap-4 flex-1 whitespace-nowrap w-full md:items-center"><div class="flex gap-4 flex-col"><p class="text-sm font-semibold text-gray-950 dark:text-white mb-1">Terms and policies</p><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/legal/privacy" target="_blank" rel="noreferrer">Privacy policy</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/responsible-disclosure-policy" target="_blank" rel="noreferrer">Disclosure policy</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/legal/aup" target="_blank" rel="noreferrer">Usage policy</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/legal/commercial-terms" target="_blank" rel="noreferrer">Commercial terms</a><a class="text-sm max-w-36 whitespace-normal md:truncate text-gray-950/50 dark:text-white/50 hover:text-gray-950/70 dark:hover:text-white/70" href="https://www.anthropic.com/legal/consumer-terms" target="_blank" rel="noreferrer">Consumer terms</a></div></div></div></div></div></footer></div></div></div></div>
469 <template data-mint="manifest">{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Claude.ai Documentation","colors":{"primary":"#0E0E0E","light":"#D4A27F","dark":"#0E0E0E"},"logo":{"light":"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=e870c19cb781d8a7c7b7d19de53b0a10","dark":"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/dark.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=80cc0b06d8fd9aeefec8acb226de6866"},"favicon":"https://mintcdn.com/claude-ai/N9YeVEPVxANlc2We/favicon.ico?fit=max\u0026auto=format\u0026n=N9YeVEPVxANlc2We\u0026q=85\u0026s=a22e48fa0189917f9be516d4a555898c","background":{"color":{"light":"#FDFDF7","dark":"#09090B"}},"navbar":{"links":[{"href":"https://support.anthropic.com","label":"Support"}],"primary":{"type":"button","label":"Go to Claude","href":"https://claude.ai"}},"footer":{"socials":{"x":"https://x.com/AnthropicAI","linkedin":"https://www.linkedin.com/company/anthropicresearch"},"links":[{"header":"Company","items":[{"label":"Anthropic","href":"https://www.anthropic.com/company"},{"label":"Careers","href":"https://www.anthropic.com/careers"},{"label":"Economic Futures","href":"https://www.anthropic.com/economic-futures"},{"label":"Research","href":"https://www.anthropic.com/research"},{"label":"News","href":"https://www.anthropic.com/news"},{"label":"Trust center","href":"https://trust.anthropic.com/"},{"label":"Transparency","href":"https://www.anthropic.com/transparency"}]},{"header":"Help and security","items":[{"label":"Availability","href":"https://www.anthropic.com/supported-countries"},{"label":"Status","href":"https://status.anthropic.com/"},{"label":"Support center","href":"https://support.claude.com/"}]},{"header":"Learn","items":[{"label":"Courses","href":"https://academy.claude.com/"},{"label":"MCP connectors","href":"https://claude.com/partners/mcp"},{"label":"Customer stories","href":"https://www.claude.com/customers"},{"label":"Engineering blog","href":"https://www.anthropic.com/engineering"},{"label":"Events","href":"https://www.anthropic.com/events"},{"label":"Powered by Claude","href":"https://claude.com/partners/powered-by-claude"},{"label":"Service partners","href":"https://claude.com/partners/services"},{"label":"Startups program","href":"https://claude.com/programs/startups"}]},{"header":"Terms and policies","items":[{"label":"Privacy policy","href":"https://www.anthropic.com/legal/privacy"},{"label":"Disclosure policy","href":"https://www.anthropic.com/responsible-disclosure-policy"},{"label":"Usage policy","href":"https://www.anthropic.com/legal/aup"},{"label":"Commercial terms","href":"https://www.anthropic.com/legal/commercial-terms"},{"label":"Consumer terms","href":"https://www.anthropic.com/legal/consumer-terms"}]}]},"seo":{"metatags":{"canonical":"https://claude.com/docs"}},"fonts":{"family":"Anthropic Sans"},"contextual":{"options":["copy","view","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"claude-ai","hasAudioNarration":false,"actualSubdomain":"claude-ai","customDomains":["claude.com"],"gitSource":{"type":"github","owner":"anthropics","repo":"claude-ai-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af21d3142832bf137e17d38","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Claude Tag","count":76},{"language":"default","tag":"For administrators","count":61},{"language":"default","tag":"Claude for Government","count":44},{"language":"default","tag":"Claude on third-party platforms","count":42},{"language":"default","tag":"Claude Desktop","count":42},{"language":"default","tag":"Claude Science","count":41},{"language":"default","tag":"Build for Claude","count":30},{"language":"default","tag":"Set up Claude Tag","count":30},{"language":"default","tag":"Use Claude Science","count":23},{"language":"default","tag":"Customize Claude","count":22}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/claude-ai/f864c4801ebb83ca/style.css"}],"page":{"pagePath":"claude-tag/overview","slug":"/claude-tag/overview","pageMetadata":{"title":"Work with Claude Tag","sidebarTitle":"Overview","description":"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.","keywords":["what is claude tag","claude in slack","claude slack app","slack bot","slack agent","@claude","tag claude","claude tag pricing","cost","how is claude tag billed","which plans include claude tag","team plan","enterprise plan","pro plan","max plan","ultra plan","personal account","claude tag vs cowork","use cases","public beta"],"mode":"wide","href":"/claude-tag/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{className:`tm-hero`,children:[_jsxs(`div`,{className:`tm-hero-copy`,children:[_jsx(`span`,{className:`tm-pill`,children:`Public Beta`}),_jsxs(`p`,{className:`tm-hero-title`,children:[`Tag `,_jsx(`span`,{className:`tm-hero-at`,children:`@Claude`}),` in. Get results back in the thread.`]}),_jsx(`p`,{className:`tm-hero-lede`,children:`Anyone in a Slack channel can tag Claude into a problem and hand it work: reproduce a bug and open a pull request, turn a decision thread into a doc, assemble the state of a project. It posts a checklist in the thread as it goes, and the whole exchange stays visible to the channel.`}),_jsxs(`div`,{className:`tm-hero-ctas`,children:[_jsx(_components.a,{className:`tm-btn tm-btn-dark`,href:`/claude-tag/admins/setup-overview`,children:`I’m setting it up →`}),_jsx(`a`,{className:`tm-btn tm-btn-light`,href:`#put-claude-tag-to-work`,children:`Use it in your channel ↓`})]})]}),_jsxs(`div`,{className:`tm-slack`,children:[_jsxs(`div`,{className:`tm-slack-head`,children:[_jsx(`span`,{className:`tm-slack-chan`,children:`# platform-eng`}),_jsx(`span`,{className:`tm-slack-members`,children:`38 members`})]}),_jsxs(`div`,{className:`tm-slack-body`,children:[_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-user`,\"aria-hidden\":`true`,children:`D`}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Dana`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:14 PM`})]}),_jsx(`p`,{children:`checkout has felt slow all morning — anyone else seeing it?`})]})]}),_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-user tm-avatar-b`,\"aria-hidden\":`true`,children:`L`}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Leo`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:15 PM`})]}),_jsxs(`p`,{children:[`same. `,_jsx(`span`,{className:`tm-mention`,children:`@Claude`}),` can you investigate? Compare latency against this morning’s deploy and find what’s causing it.`]})]})]}),_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-claude`,children:_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=032101c39ca3b1af9f72fc4af8e60d12`,alt:``,noZoom:true,\"data-og-width\":`94`,width:`94`,\"data-og-height\":`94`,height:`94`,\"data-path\":`images/claude-tag/logo/clay-spark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=cfd209bc25a4794740c6ce203eb3cbd5 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=56bcce983cd8bde205683364e24e1685 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=336614fa9447c4f4f985d322bb667df7 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=fb5b4831af3174e5b49abee42199b5fc 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=0244fb0eb9bb7dd0cf38fddeb44c41e0 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=5b9c8f67ae332a9922f449534d904bf7 2500w`})}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Claude`}),_jsx(`span`,{className:`tm-msg-app`,children:`APP`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:15 PM`})]}),_jsx(`p`,{children:`On it. I’ll compare latency before and after the deploy, track down the cause, and report back here.`}),_jsxs(`div`,{className:`tm-tasklist`,children:[_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Pulled p99 latency from Datadog`]}),_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Diffed deploy 4f2c1 against main`]}),_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Reproduced the slow query locally`]}),_jsxs(`span`,{className:`tm-task-doing`,children:[_jsx(`span`,{className:`tm-sr`,children:`In progress: `}),`Opening a pull request with the fix…`]})]})]})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`plans-that-include-claude-tag`,children:`Plans that include Claude Tag`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag is available on Team and Enterprise plans, on Anthropic’s first-party service. It isn’t available on individual plans (Free, Pro, Max, or Ultra), or for third-party deployments. To use it, your organization pairs its Slack workspace with its Claude organization; see `,_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`the setup overview`}),` for the full prerequisites.`]}),`\n`,_jsxs(_components.p,{children:[`If you’re choosing between Claude products for Slack-shaped work, `,_jsx(_components.a,{href:`/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code`,children:`how Claude Tag differs from Cowork and Claude Code`}),` compares them directly: team work in shared channels is Claude Tag; personal work on your own files is Cowork or Claude Code.`]}),`\n`,_jsx(Heading,{level:`3`,id:`who-needs-a-claude-seat`,children:`Who needs a Claude seat`}),`\n`,_jsx(_components.p,{children:`Slack users don’t each need a Claude seat to work with Claude in channels.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In channels`}),`: by default, anyone in the paired Slack workspace can tag `,_jsx(_components.code,{children:`@Claude`}),` in a channel, and an Owner can `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#restrict-who-can-use-claude`,children:`restrict who can use Claude`}),` to people in your Claude organization or, on Enterprise, to specific roles. Channel work bills by usage to your organization’s usage balance, under a `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`spend limit`}),` an Owner sets.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In group DMs`}),`: the same restriction on who can use Claude applies, and the work bills to your organization’s usage balance. See `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#group-dms`,children:`Group DMs`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In one-to-one DMs`}),`: a DM from a member who has connected a Claude account runs on that account and bills to that person’s seat. For the DM to work, that person needs either a seat that includes Claude Code or, on the Enterprise plan, Cowork access on a `,_jsx(_components.strong,{children:`Standard`}),` seat or a usage-based `,_jsx(_components.strong,{children:`Chat`}),` seat. A `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#direct-messages-from-members-without-a-claude-account`,children:`DM from a member who hasn’t connected a Claude account`}),` can bill to your organization for a limited time.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-claude-tag-runs`,children:`Where Claude Tag runs`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag works in Slack. You interact with it by writing in a Slack channel, thread, or direct message, and it replies there. Mention `,_jsx(_components.code,{children:`@Claude`}),` in a channel to guarantee it picks the message up.`]}),`\n`,_jsxs(_components.p,{children:[`When Claude works on a task, it runs in an ephemeral sandbox, not on your computer. The sandbox is created when a conversation starts, holds any code or files Claude is working with, and is discarded when the conversation goes idle. See `,_jsx(_components.a,{href:`/claude-tag/concepts/how-it-works`,children:`how Claude Tag works`}),` for the full lifecycle.`]}),`\n`,_jsxs(_components.p,{children:[`You extend what Claude can reach, like your repositories, ticketing systems, data warehouses, and custom tools, through `,_jsx(_components.a,{href:`/claude-tag/admins/add-connections`,children:`Claude Tag connectors`}),`, `,_jsx(_components.a,{href:`/claude-tag/admins/customize`,children:`plugins, and skills`}),`. An Owner or a `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#delegate-claude-tag-administration`,children:`Claude Tag admin`}),` configures these for all of Slack, for one workspace, or for one channel. Members’ own claude.ai connectors are separate from that configuration; Claude can use them in a channel for the member’s own requests, as `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`personal connectors in channels`}),` describes.`]}),`\n`,_jsxs(`div`,{className:`tm-route-grid`,children:[_jsxs(`div`,{className:`tm-card`,children:[_jsxs(_components.a,{className:`tm-band tm-band-admins`,href:`/claude-tag/admins/setup-overview`,children:[_jsxs(`span`,{className:`tm-band-text`,children:[_jsx(`span`,{className:`tm-band-label`,children:`For administrators`}),_jsx(`span`,{className:`tm-band-title`,children:`Set up Claude Tag`})]}),_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=1b7a9675728f971bc7a4663c7f1ea599`,alt:``,noZoom:true,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/claude-tag/illustrations/Hand-Key.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=3c3a2b136a48bc30066d77182034e131 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=32f7e1b6f5c94b09b60365d1f8656e62 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=07abecf209987dfae9183fbba74c2b28 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=f231bfb2475e80b9edf9d688f01ac0c1 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=135090cf14a0bc55ef2236e3075d4e2d 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=faf87e19781d3005c86f661bc60a0225 2500w`})]}),_jsxs(`div`,{className:`tm-qrows`,children:[_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/admins/setup-overview`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`Where do I start?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Pair your Slack workspace, launch, and test that it works`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/concepts/agent-identity`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What can Claude Tag access?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`How admins set access per channel, and where credentials are stored`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/admins/add-connections`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I connect each service?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Credential types, allowed hosts, and what each connection lets Claude reach`})]})})]})]}),_jsxs(`div`,{className:`tm-card`,children:[_jsxs(`a`,{className:`tm-band tm-band-users`,href:`#put-claude-tag-to-work`,children:[_jsxs(`span`,{className:`tm-band-text`,children:[_jsx(`span`,{className:`tm-band-label`,children:`For end users`}),_jsx(`span`,{className:`tm-band-title`,children:`Put Claude Tag to work`})]}),_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=c64df4c6d27a6da752aa32c9e0622781`,alt:``,noZoom:true,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/claude-tag/illustrations/Hand-NodePair.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=6251b24fc10f5926244a6233432ac5c5 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=33290118ade6efd057f734f4f23ab2bf 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=8d4ae134ca06a27910d5f69fec5ae319 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=bbc86fac6a1def129e50e42ebd2603ce 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=9ae67cdca30ed828416c4dd86403fc3b 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=58243f7f5c95da5ff412ccd61729165f 2500w`})]}),_jsxs(`div`,{className:`tm-qrows`,children:[_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/getting-started`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I hand Claude Tag a task?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Mention Claude in any channel it’s in, with nothing to install`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/use-cases`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What is Claude Tag good at?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Use cases for coding, data, incidents, and go-to-market`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/good-habits`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I get good results?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Good habits for scoping and reviewing work`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/memory`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What does Claude Tag remember?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Channel memory, what’s shared across the workspace, and who can see what`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/proactivity`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`Can Claude Tag run tasks on a schedule?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Scheduled jobs, channel watching, and triggers`})]})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`billing-and-spend-limits`,children:`Billing and spend limits`}),`\n`,_jsxs(_components.p,{children:[`Adding Claude to Slack doesn’t add a per-seat charge. Channel, thread, and group DM work is billed by usage instead: it draws from a `,_jsx(_components.strong,{children:`usage balance`}),`, an amount in your organization’s billing currency that an Owner funds. A `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`spend limit`}),` caps how much of that balance Claude Tag can use each billing period.`]}),`\n`,_jsxs(_components.p,{children:[`One-to-one direct messages from members who have connected a Claude account don’t draw from this balance. Such a DM runs on the sender’s own claude.ai account and follows that seat’s usual usage limits, so the organization spend limit doesn’t apply to it. A `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#direct-messages-from-members-without-a-claude-account`,children:`DM from a member who hasn’t connected a Claude account`}),` can draw from this balance.`]}),`\n`,_jsxs(_components.p,{children:[`To learn what your team’s usage costs, run a pilot with a spend limit set and watch the per-channel breakdown on the `,_jsx(_components.a,{href:`https://claude.ai/admin-settings/usage/claude-tag`,children:`usage page in your admin settings`}),`. `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`Set a spend limit`}),` covers how to fund the balance on each plan, set the limit, and what happens when usage reaches it.`]}),`\n`,_jsxs(`div`,{className:`tm-eyebrow`,children:[_jsx(`span`,{className:`tm-swatch tm-swatch-users`}),`For end users`]}),`\n`,_jsx(Heading,{level:`2`,id:`put-claude-tag-to-work`,children:`Put Claude Tag to work`}),`\n`,_jsxs(_components.p,{children:[`If Claude Tag is in your channel, you can use it now. (If it isn’t there yet, an Owner in your Claude organization runs setup: see `,_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`Set up Claude Tag`}),`.) Anyone in the channel can hand it work, and channel work bills to the organization, not to you.`]}),`\n`,_jsxs(_components.p,{children:[`What it can reach starts with the channel you’re in. The fastest way to find out is to ask it: `,_jsx(_components.code,{children:`@Claude what can you access from this channel?`}),` Or, if you’re signed in to your Claude organization, click `,_jsx(_components.strong,{children:`Configure`}),` in the footer of a Claude reply in the channel to see its `,_jsx(_components.a,{href:`/claude-tag/concepts/glossary#connection`,children:`connections`}),`, the external services an admin has connected for that channel. Replies in org-shared channels have no Configure link.`]}),`\n`,_jsxs(_components.p,{children:[`For your own requests, Claude can also `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`use the connectors on your claude.ai account`}),`, after you allow it.`]}),`\n`,_jsxs(_components.p,{children:[`In a one-to-one DM, Claude runs on your own claude.ai account instead of a channel’s setup. An Owner can turn off DMs for the whole organization; see `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#allow-or-disable-direct-messages`,children:`Allow or disable direct messages`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`common-uses`,children:`Common uses`}),`\n`,_jsx(_components.p,{children:`Each link opens a guide with the prompts to paste and the connections the task needs.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/watch-monitors`,children:`Watch monitors and alerts`}),`: scheduled dashboard checks, and alerts investigated as they arrive. Needs a monitoring connection like Datadog, Sentry, or PagerDuty.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/triage-requests`,children:`Triage requests`}),`: an intake channel where Claude answers what it can, flags duplicates, and routes the rest. Works on Slack content alone.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/find-answers`,children:`Find answers in your docs`}),`: policy and runbook questions answered with the source. Needs a docs connection like Google Drive, Notion, or Confluence.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/answer-data-questions`,children:`Answer data questions`}),`: a plain-language question becomes a warehouse query and a chart. Needs a data warehouse connection.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/track-projects`,children:`Track projects and chase approvals`}),`: standing status digests and follow-ups that run until an approval lands`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/create-artifacts`,children:`Turn threads into docs and tickets`}),`: a settled discussion becomes the decision doc, the customer reply, or the filed tickets`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/fix-bugs`,children:`Fix bugs`}),`: a bug reported in the channel comes back as a draft pull request. Needs GitHub.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/your-own-channel`,children:`Work from your own channel`}),`: scratch questions, digests of channels you don’t follow, and follow-ups on what you said you’d do`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/claude-tag/users/getting-started`,children:`Get started`}),` covers your first message, what you see while Claude works, and how to shape Claude’s behavior in your channel.`]}),`\n`,_jsxs(`div`,{className:`tm-eyebrow`,children:[_jsx(`span`,{className:`tm-swatch tm-swatch-admins`}),`For administrators`]}),`\n`,_jsx(Heading,{level:`2`,id:`set-claude-tag-up-once-for-everyone`,children:`Set Claude Tag up once for everyone`}),`\n`,_jsxs(_components.p,{children:[`You set up Claude Tag once, at `,_jsx(_components.a,{href:`https://claude.ai/admin-settings/claude-tag`,children:_jsx(_components.code,{children:`claude.ai/admin-settings/claude-tag`})}),`, and you must be an Owner in your Claude organization to do it. The setup page at that URL walks you through it:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pair your Slack workspace`}),`: send `,_jsx(_components.code,{children:`@Claude connect`}),` in Slack to get a pairing code, then enter it on the setup page.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set a monthly spend limit, add Claude to channels, and launch`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Once you launch, everyone in a channel Claude is in can use Claude Tag immediately, with no per-user setup.`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag starts with no access of its own to your external systems. After you launch, you connect the services Claude will work in, such as your issue tracker or data warehouse, and grant repositories to the Claude GitHub App. Members can also let Claude use their own `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`personal connectors`}),` for their requests.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`Set up Claude Tag`}),` walks through setup and connecting tools, with what to have ready, what each choice means, and how to verify Claude Tag works once you launch.`]}),`\n`,_jsxs(`div`,{className:`tm-strip`,children:[_jsxs(`div`,{className:`tm-strip-head`,children:[_jsx(`p`,{className:`tm-strip-title`,children:`Security review`}),_jsx(_components.a,{className:`tm-strip-all`,href:`/claude-tag/concepts/security-and-data`,children:`Security and data handling`})]}),_jsx(`p`,{children:`The security model, what admins can and can’t restrict, audit trails, and network requirements.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`where-to-start-with-claude-tag`,children:`Where to start with Claude Tag`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Set up Claude Tag`,icon:`gear`,href:`/claude-tag/admins/setup-overview`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Admins: pair your Slack workspace and launch`})}),_jsx(Card,{title:`Hand Claude Tag your first task`,icon:`paper-plane`,href:`/claude-tag/users/getting-started`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`It’s already in your channel: send your first message`})}),_jsx(Card,{title:`How Claude Tag works`,icon:`diagram-project`,href:`/claude-tag/concepts/how-it-works`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`The session model, what it can read, and how memory follows places`})}),_jsx(Card,{title:`Use case library`,icon:`list`,href:`/claude-tag/users/use-cases`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Prompts to paste, by team and connection`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Work with Claude Tag","sidebarTitle":"Overview","description":"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.","keywords":["what is claude tag","claude in slack","claude slack app","slack bot","slack agent","@claude","tag claude","claude tag pricing","cost","how is claude tag billed","which plans include claude tag","team plan","enterprise plan","pro plan","max plan","ultra plan","personal account","claude tag vs cowork","use cases","public beta"],"mode":"wide","href":"/claude-tag/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Plans that include Claude Tag","slug":"plans-that-include-claude-tag","depth":2,"children":[{"title":"Who needs a Claude seat","slug":"who-needs-a-claude-seat","depth":3,"children":[]}]},{"title":"Where Claude Tag runs","slug":"where-claude-tag-runs","depth":2,"children":[]},{"title":"Billing and spend limits","slug":"billing-and-spend-limits","depth":2,"children":[]},{"title":"Put Claude Tag to work","slug":"put-claude-tag-to-work","depth":2,"children":[{"title":"Common uses","slug":"common-uses","depth":3,"children":[]}]},{"title":"Set Claude Tag up once for everyone","slug":"set-claude-tag-up-once-for-everyone","depth":2,"children":[]},{"title":"Where to start with Claude Tag","slug":"where-to-start-with-claude-tag","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/claude-ai/b857db804a3a9481/desktop-app-nav.js"],"subdomain":"claude-ai","siteName":"Claude.ai Documentation","title":"Work with Claude Tag - Claude.ai Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T19:55:52.006Z","originalFileLocation":"claude-tag/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Work with Claude Tag - Claude.ai Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://claude.com/docs/claude-tag/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://claude-ai.mintlify.site/docs/_mintlify/api/og/v2?division=+\u0026amp;title=Work+with+Claude+Tag\u0026amp;description=Claude+Tag+puts+Claude+in+your+Slack+channels+with+admin-governed+access.+See+what+to+hand+it%2C+how+setup+works%2C+and+where+to+start+as+an+admin+or+end+user.\u0026amp;theme=9a76ca0aba14a40680086237\u0026amp;signature=31330571c25b0d3e677c84835974fc0a91843e1177a2a0283ccde3cf4c1be894\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Work with Claude Tag - Claude.ai Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://claude-ai.mintlify.site/docs/_mintlify/api/og/v2?division=+\u0026amp;title=Work+with+Claude+Tag\u0026amp;description=Claude+Tag+puts+Claude+in+your+Slack+channels+with+admin-governed+access.+See+what+to+hand+it%2C+how+setup+works%2C+and+where+to+start+as+an+admin+or+end+user.\u0026amp;theme=9a76ca0aba14a40680086237\u0026amp;signature=31330571c25b0d3e677c84835974fc0a91843e1177a2a0283ccde3cf4c1be894\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0E0E0E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://claude.com/docs/claude-tag/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/claude-tag/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://claude.com/#organization\",\"name\":\"Claude.ai Documentation\",\"url\":\"https://claude.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=e870c19cb781d8a7c7b7d19de53b0a10\"}},{\"@type\":\"WebSite\",\"@id\":\"https://claude.com/docs#website\",\"name\":\"Claude.ai Documentation\",\"url\":\"https://claude.com/docs\",\"publisher\":{\"@id\":\"https://claude.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://claude.com/docs/claude-tag/overview#webpage\",\"url\":\"https://claude.com/docs/claude-tag/overview\",\"name\":\"Work with Claude Tag\",\"description\":\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\",\"dateModified\":\"2026-11-04T19:55:52.006Z\",\"isPartOf\":{\"@id\":\"https://claude.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://claude.com/docs/claude-tag/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://claude.com/docs/claude-tag/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Claude.ai Documentation\",\"item\":\"https://claude.com/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Work with Claude Tag\",\"item\":\"https://claude.com/docs/claude-tag/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://claude.com/docs/claude-tag/overview#article\",\"headline\":\"Work with Claude Tag\",\"name\":\"Work with Claude Tag\",\"description\":\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\",\"url\":\"https://claude.com/docs/claude-tag/overview\",\"mainEntityOfPage\":{\"@id\":\"https://claude.com/docs/claude-tag/overview#webpage\"},\"dateModified\":\"2026-11-04T19:55:52.006Z\",\"keywords\":\"what is claude tag, claude in slack, claude slack app, slack bot, slack agent, @claude, tag claude, claude tag pricing, cost, how is claude tag billed, which plans include claude tag, team plan, enterprise plan, pro plan, max plan, ultra plan, personal account, claude tag vs cowork, use cases, public beta\",\"publisher\":{\"@id\":\"https://claude.com/#organization\"},\"isPartOf\":{\"@id\":\"https://claude.com/docs#website\"}}]}\u003c/script>","siteName":"Claude.ai Documentation","nav":{"global":null,"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":""}]},{"tab":"Customize Claude","pages":[{"title":"Customize Claude","href":"/extend/overview"}]},{"tab":"Build for Claude","pages":[{"title":"Build for Claude","href":"/build/overview"}]},{"tab":"Cowork","pages":[{"title":"Cowork","href":"/cowork/overview"}]},{"tab":"Claude Tag","groups":[{"group":" ","pages":[{"title":"Work with Claude Tag","sidebarTitle":"Overview","mode":"wide","href":"/claude-tag/overview"}]},{"group":"How it works","pages":[{"title":"How Claude Tag works","description":"Each Claude Tag thread in Slack runs a working session in a sandbox. See how progress shows in the thread, how to steer mid-task, what survives between turns, and how memory is scoped.","href":"/claude-tag/concepts/how-it-works"},{"title":"Glossary","href":"/claude-tag/concepts/glossary"}]},{"group":"For administrators","pages":[{"group":"Before you install","pages":[{"title":"How agent identity works","href":"/claude-tag/concepts/agent-identity"},{"title":"Personal connectors in channels","href":"/claude-tag/concepts/personal-connectors"},{"title":"Security and data handling","href":"/claude-tag/concepts/security-and-data"},{"title":"Data lifecycle and deletion","sidebarTitle":"Data lifecycle","href":"/claude-tag/concepts/data-lifecycle"},{"title":"What the Claude Slack app can access","sidebarTitle":"For Slack admins","href":"/claude-tag/admins/for-slack-admins"}]},{"group":"Set up Claude Tag","root":{"title":"Set up Claude Tag","sidebarTitle":"Set up Claude Tag","href":"/claude-tag/admins/setup-overview"},"pages":[{"title":"Give Claude access to your tools","sidebarTitle":"Give Claude access","href":"/claude-tag/admins/add-connections"},{"title":"Configure GitHub access","sidebarTitle":"GitHub access","href":"/claude-tag/admins/configure-github"},{"title":"Configure GitLab access","sidebarTitle":"GitLab access","href":"/claude-tag/admins/configure-gitlab"},{"title":"Set a spend limit","sidebarTitle":"Set a spend limit","href":"/claude-tag/admins/set-spend-limit"},{"title":"Set up Claude Tag for on-call","sidebarTitle":"On-call setup","href":"/claude-tag/admins/setup-oncall"},{"group":"Connection guides","root":{"title":"Per-service connection guides","sidebarTitle":"Connection guides","href":"/claude-tag/admins/connections/overview"},"pages":[{"title":"Connect a service that isn't in the list","sidebarTitle":"Custom connector","href":"/claude-tag/admins/connections/custom"},{"title":"Connect Amplitude","sidebarTitle":"Amplitude","href":"/claude-tag/admins/connections/amplitude"},{"title":"Connect Asana","sidebarTitle":"Asana","href":"/claude-tag/admins/connections/asana"},{"title":"Connect Jira and Confluence","sidebarTitle":"Jira and Confluence","href":"/claude-tag/admins/connections/atlassian"},{"title":"Connect BigQuery","sidebarTitle":"BigQuery","href":"/claude-tag/admins/connections/bigquery"},{"title":"Connect Datadog","sidebarTitle":"Datadog","href":"/claude-tag/admins/connections/datadog"},{"title":"Connect GitLab","sidebarTitle":"GitLab","href":"/claude-tag/admins/connections/gitlab"},{"title":"Connect Gong","sidebarTitle":"Gong","href":"/claude-tag/admins/connections/gong"},{"title":"Connect Google Drive, Calendar, and Gmail","sidebarTitle":"Google Drive, Calendar, and Gmail","href":"/claude-tag/admins/connections/google"},{"title":"Connect HubSpot","sidebarTitle":"HubSpot","href":"/claude-tag/admins/connections/hubspot"},{"title":"Connect Linear","sidebarTitle":"Linear","href":"/claude-tag/admins/connections/linear"},{"title":"Connect Notion","sidebarTitle":"Notion","href":"/claude-tag/admins/connections/notion"},{"title":"Connect PagerDuty","sidebarTitle":"PagerDuty","href":"/claude-tag/admins/connections/pagerduty"},{"title":"Connect Salesforce","sidebarTitle":"Salesforce","href":"/claude-tag/admins/connections/salesforce"},{"title":"Connect Sentry","sidebarTitle":"Sentry","href":"/claude-tag/admins/connections/sentry"},{"title":"Connect Snowflake","sidebarTitle":"Snowflake","href":"/claude-tag/admins/connections/snowflake"},{"title":"Connect Stripe","sidebarTitle":"Stripe","href":"/claude-tag/admins/connections/stripe"},{"title":"Connect Vercel","sidebarTitle":"Vercel","href":"/claude-tag/admins/connections/vercel"}]},{"group":"Federated agent access","root":{"title":"Federated agent access","sidebarTitle":"Overview","href":"/claude-tag/admins/federated-access/overview"},"pages":[{"title":"Connect a gateway","sidebarTitle":"Connect a gateway","href":"/claude-tag/admins/federated-access/connect-a-gateway"},{"title":"Connect an AWS role","sidebarTitle":"AWS role","href":"/claude-tag/admins/federated-access/aws"},{"title":"Connect a Google Cloud identity","sidebarTitle":"Google Cloud identity","href":"/claude-tag/admins/federated-access/gcp"},{"title":"Connect an authorization server","sidebarTitle":"Authorization server","href":"/claude-tag/admins/federated-access/authorization-server"},{"title":"Identity token reference","sidebarTitle":"Token reference","href":"/claude-tag/admins/federated-access/token-reference"},{"title":"Limits for federated agent access","sidebarTitle":"Limits","href":"/claude-tag/admins/federated-access/limits"},{"title":"Troubleshoot federated agent access","sidebarTitle":"Troubleshooting","href":"/claude-tag/admins/federated-access/troubleshooting"}]}]},{"group":"Roll out","pages":[{"title":"Configure per-channel access","sidebarTitle":"Per-channel access","href":"/claude-tag/admins/attach-to-scope"},{"title":"Restrict where Claude Tag operates","href":"/claude-tag/admins/restrict-access"},{"title":"Manage workspaces and versions","sidebarTitle":"Workspaces and versions","href":"/claude-tag/admins/workspaces"},{"title":"Use Claude Tag at a healthcare organization","sidebarTitle":"Healthcare organizations","href":"/claude-tag/admins/healthcare"}]},{"group":"Customize","pages":[{"title":"Customize Claude Tag","sidebarTitle":"Customize Claude Tag","href":"/claude-tag/admins/customize"},{"title":"Claude Tag settings map","sidebarTitle":"Settings map","href":"/claude-tag/concepts/settings-map"},{"title":"Manage a channel's instructions from another channel","sidebarTitle":"Managed by","href":"/claude-tag/admins/managed-by"},{"title":"Set up a skills repository Claude can update","sidebarTitle":"Add custom skills","href":"/claude-tag/admins/skills-repo"}]},{"group":"Operate","pages":[{"title":"Review what Claude Tag has done","sidebarTitle":"Audit and review","href":"/claude-tag/admins/audit"},{"title":"Attribute costs to users","sidebarTitle":"Attribute costs to users","href":"/claude-tag/admins/attribute-costs"},{"title":"Troubleshoot Claude Tag setup","sidebarTitle":"Troubleshooting","href":"/claude-tag/admins/troubleshooting"},{"title":"Network requirements","href":"/claude-tag/admins/network-requirements"},{"title":"Migrate from the earlier Claude in Slack","sidebarTitle":"Migrate from legacy Claude in Slack","href":"/claude-tag/admins/migrate-from-earlier"}]}]},{"group":"For end users","pages":[{"title":"Get started","href":"/claude-tag/users/getting-started"},{"title":"Claude Tag for Claude Code users","sidebarTitle":"For Claude Code users","href":"/claude-tag/concepts/for-claude-code-users"},{"title":"Commands Claude Tag understands","sidebarTitle":"Commands","href":"/claude-tag/users/commands"},{"title":"Control when Claude Tag responds","href":"/claude-tag/users/when-claude-responds"},{"title":"Use Claude Tag in a group DM","sidebarTitle":"Group DMs","href":"/claude-tag/users/group-dms"},{"title":"Good habits for working with Claude Tag","sidebarTitle":"Good habits","href":"/claude-tag/users/good-habits"},{"title":"Set up routines","href":"/claude-tag/users/proactivity"},{"title":"What Claude Tag remembers","href":"/claude-tag/users/memory"},{"title":"Choose the model Claude Tag uses","sidebarTitle":"Choose the model","href":"/claude-tag/users/models"},{"title":"Prompt library","href":"/claude-tag/users/prompt-library"},{"title":"Troubleshoot Claude Tag in channels and DMs","sidebarTitle":"Troubleshooting","href":"/claude-tag/users/troubleshooting"}]},{"group":"Use case library","pages":[{"title":"Use case library","sidebarTitle":"Browse the library","href":"/claude-tag/users/use-cases"},{"title":"Triage requests","href":"/claude-tag/users/use-cases/triage-requests"},{"title":"Catch up","href":"/claude-tag/users/use-cases/catch-up"},{"title":"Work from your own channel","href":"/claude-tag/users/use-cases/your-own-channel"},{"title":"Turn threads into docs and tickets","href":"/claude-tag/users/use-cases/create-artifacts"},{"title":"Track projects and chase approvals","href":"/claude-tag/users/use-cases/track-projects"},{"title":"Answer data questions","href":"/claude-tag/users/use-cases/answer-data-questions"},{"title":"Find answers in your docs","href":"/claude-tag/users/use-cases/find-answers"},{"title":"Review documents against a checklist","href":"/claude-tag/users/use-cases/review-documents"},{"title":"Pull deal and account state","href":"/claude-tag/users/use-cases/pull-deal-state"},{"title":"Claude Tag for marketing teams","sidebarTitle":"Marketing teams","href":"/claude-tag/users/use-cases/marketing-team"},{"title":"Watch monitors and alerts","href":"/claude-tag/users/use-cases/watch-monitors"},{"title":"Fix bugs","href":"/claude-tag/users/use-cases/fix-bugs"},{"title":"Work with your GitHub repositories","sidebarTitle":"Work with GitHub","href":"/claude-tag/users/use-cases/work-with-github"}]}]},{"tab":"Claude for M365","pages":[{"title":"Claude for M365","href":"/office-agents/overview"}]},{"tab":"Claude Science","pages":[{"title":"Claude Science","href":"/claude-science/overview"}]},{"tab":"Claude on third-party platforms","pages":[{"title":"Claude on third-party platforms","href":"/third-party/claude-desktop/overview"}]},{"tab":"Claude self-hosted","hidden":true,"pages":[{"title":"Claude self-hosted","href":"/third-party/claude-desktop/self-hosted/overview"}]},{"tab":"Claude for Government","pages":[{"title":"Claude for Government","href":"/government/overview"}]}]},"basePath":"","title":"Work with Claude Tag - Claude.ai Documentation","buildId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","deploymentId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","dynamics":[],"chunks":[]}</template>
469 <template data-mint="manifest">{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Claude.ai Documentation","colors":{"primary":"#0E0E0E","light":"#D4A27F","dark":"#0E0E0E"},"logo":{"light":"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=e870c19cb781d8a7c7b7d19de53b0a10","dark":"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/dark.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=80cc0b06d8fd9aeefec8acb226de6866"},"favicon":"https://mintcdn.com/claude-ai/N9YeVEPVxANlc2We/favicon.ico?fit=max\u0026auto=format\u0026n=N9YeVEPVxANlc2We\u0026q=85\u0026s=a22e48fa0189917f9be516d4a555898c","background":{"color":{"light":"#FDFDF7","dark":"#09090B"}},"navbar":{"links":[{"href":"https://support.anthropic.com","label":"Support"}],"primary":{"type":"button","label":"Go to Claude","href":"https://claude.ai"}},"footer":{"socials":{"x":"https://x.com/AnthropicAI","linkedin":"https://www.linkedin.com/company/anthropicresearch"},"links":[{"header":"Company","items":[{"label":"Anthropic","href":"https://www.anthropic.com/company"},{"label":"Careers","href":"https://www.anthropic.com/careers"},{"label":"Economic Futures","href":"https://www.anthropic.com/economic-futures"},{"label":"Research","href":"https://www.anthropic.com/research"},{"label":"News","href":"https://www.anthropic.com/news"},{"label":"Trust center","href":"https://trust.anthropic.com/"},{"label":"Transparency","href":"https://www.anthropic.com/transparency"}]},{"header":"Help and security","items":[{"label":"Availability","href":"https://www.anthropic.com/supported-countries"},{"label":"Status","href":"https://status.anthropic.com/"},{"label":"Support center","href":"https://support.claude.com/"}]},{"header":"Learn","items":[{"label":"Courses","href":"https://academy.claude.com/"},{"label":"MCP connectors","href":"https://claude.com/partners/mcp"},{"label":"Customer stories","href":"https://www.claude.com/customers"},{"label":"Engineering blog","href":"https://www.anthropic.com/engineering"},{"label":"Events","href":"https://www.anthropic.com/events"},{"label":"Powered by Claude","href":"https://claude.com/partners/powered-by-claude"},{"label":"Service partners","href":"https://claude.com/partners/services"},{"label":"Startups program","href":"https://claude.com/programs/startups"}]},{"header":"Terms and policies","items":[{"label":"Privacy policy","href":"https://www.anthropic.com/legal/privacy"},{"label":"Disclosure policy","href":"https://www.anthropic.com/responsible-disclosure-policy"},{"label":"Usage policy","href":"https://www.anthropic.com/legal/aup"},{"label":"Commercial terms","href":"https://www.anthropic.com/legal/commercial-terms"},{"label":"Consumer terms","href":"https://www.anthropic.com/legal/consumer-terms"}]}]},"seo":{"metatags":{"canonical":"https://claude.com/docs"}},"fonts":{"family":"Anthropic Sans"},"contextual":{"options":["copy","view","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"claude-ai","hasAudioNarration":false,"actualSubdomain":"claude-ai","customDomains":["claude.com"],"gitSource":{"type":"github","owner":"anthropics","repo":"claude-ai-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af23016e843f29c23ab2624","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Claude Tag","count":76},{"language":"default","tag":"For administrators","count":61},{"language":"default","tag":"Claude for Government","count":44},{"language":"default","tag":"Claude on third-party platforms","count":42},{"language":"default","tag":"Claude Desktop","count":42},{"language":"default","tag":"Claude Science","count":41},{"language":"default","tag":"Build for Claude","count":30},{"language":"default","tag":"Set up Claude Tag","count":30},{"language":"default","tag":"Use Claude Science","count":23},{"language":"default","tag":"Customize Claude","count":22}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/claude-ai/f864c4801ebb83ca/style.css"}],"page":{"pagePath":"claude-tag/overview","slug":"/claude-tag/overview","pageMetadata":{"title":"Work with Claude Tag","sidebarTitle":"Overview","description":"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.","keywords":["what is claude tag","claude in slack","claude slack app","slack bot","slack agent","@claude","tag claude","claude tag pricing","cost","how is claude tag billed","which plans include claude tag","team plan","enterprise plan","pro plan","max plan","ultra plan","personal account","claude tag vs cowork","use cases","public beta"],"mode":"wide","href":"/claude-tag/overview"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(`div`,{className:`tm-hero`,children:[_jsxs(`div`,{className:`tm-hero-copy`,children:[_jsx(`span`,{className:`tm-pill`,children:`Public Beta`}),_jsxs(`p`,{className:`tm-hero-title`,children:[`Tag `,_jsx(`span`,{className:`tm-hero-at`,children:`@Claude`}),` in. Get results back in the thread.`]}),_jsx(`p`,{className:`tm-hero-lede`,children:`Anyone in a Slack channel can tag Claude into a problem and hand it work: reproduce a bug and open a pull request, turn a decision thread into a doc, assemble the state of a project. It posts a checklist in the thread as it goes, and the whole exchange stays visible to the channel.`}),_jsxs(`div`,{className:`tm-hero-ctas`,children:[_jsx(_components.a,{className:`tm-btn tm-btn-dark`,href:`/claude-tag/admins/setup-overview`,children:`I’m setting it up →`}),_jsx(`a`,{className:`tm-btn tm-btn-light`,href:`#put-claude-tag-to-work`,children:`Use it in your channel ↓`})]})]}),_jsxs(`div`,{className:`tm-slack`,children:[_jsxs(`div`,{className:`tm-slack-head`,children:[_jsx(`span`,{className:`tm-slack-chan`,children:`# platform-eng`}),_jsx(`span`,{className:`tm-slack-members`,children:`38 members`})]}),_jsxs(`div`,{className:`tm-slack-body`,children:[_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-user`,\"aria-hidden\":`true`,children:`D`}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Dana`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:14 PM`})]}),_jsx(`p`,{children:`checkout has felt slow all morning — anyone else seeing it?`})]})]}),_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-user tm-avatar-b`,\"aria-hidden\":`true`,children:`L`}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Leo`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:15 PM`})]}),_jsxs(`p`,{children:[`same. `,_jsx(`span`,{className:`tm-mention`,children:`@Claude`}),` can you investigate? Compare latency against this morning’s deploy and find what’s causing it.`]})]})]}),_jsxs(`div`,{className:`tm-msg`,children:[_jsx(`span`,{className:`tm-avatar tm-avatar-claude`,children:_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=032101c39ca3b1af9f72fc4af8e60d12`,alt:``,noZoom:true,\"data-og-width\":`94`,width:`94`,\"data-og-height\":`94`,height:`94`,\"data-path\":`images/claude-tag/logo/clay-spark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=cfd209bc25a4794740c6ce203eb3cbd5 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=56bcce983cd8bde205683364e24e1685 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=336614fa9447c4f4f985d322bb667df7 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=fb5b4831af3174e5b49abee42199b5fc 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=0244fb0eb9bb7dd0cf38fddeb44c41e0 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=5b9c8f67ae332a9922f449534d904bf7 2500w`})}),_jsxs(`div`,{className:`tm-msg-col`,children:[_jsxs(`div`,{className:`tm-msg-meta`,children:[_jsx(`span`,{className:`tm-msg-name`,children:`Claude`}),_jsx(`span`,{className:`tm-msg-app`,children:`APP`}),_jsx(`span`,{className:`tm-msg-time`,children:`2:15 PM`})]}),_jsx(`p`,{children:`On it. I’ll compare latency before and after the deploy, track down the cause, and report back here.`}),_jsxs(`div`,{className:`tm-tasklist`,children:[_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Pulled p99 latency from Datadog`]}),_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Diffed deploy 4f2c1 against main`]}),_jsxs(`span`,{className:`tm-task-done`,children:[_jsx(`span`,{className:`tm-sr`,children:`Done: `}),`Reproduced the slow query locally`]}),_jsxs(`span`,{className:`tm-task-doing`,children:[_jsx(`span`,{className:`tm-sr`,children:`In progress: `}),`Opening a pull request with the fix…`]})]})]})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`plans-that-include-claude-tag`,children:`Plans that include Claude Tag`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag is available on Team and Enterprise plans, on Anthropic’s first-party service. It isn’t available on individual plans (Free, Pro, Max, or Ultra), or for third-party deployments. To use it, your organization pairs its Slack workspace with its Claude organization; see `,_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`the setup overview`}),` for the full prerequisites.`]}),`\n`,_jsxs(_components.p,{children:[`If you’re choosing between Claude products for Slack-shaped work, `,_jsx(_components.a,{href:`/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code`,children:`how Claude Tag differs from Cowork and Claude Code`}),` compares them directly: team work in shared channels is Claude Tag; personal work on your own files is Cowork or Claude Code.`]}),`\n`,_jsx(Heading,{level:`3`,id:`who-needs-a-claude-seat`,children:`Who needs a Claude seat`}),`\n`,_jsx(_components.p,{children:`Slack users don’t each need a Claude seat to work with Claude in channels.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In channels`}),`: by default, anyone in the paired Slack workspace can tag `,_jsx(_components.code,{children:`@Claude`}),` in a channel, and an Owner can `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#restrict-who-can-use-claude`,children:`restrict who can use Claude`}),` to people in your Claude organization or, on Enterprise, to specific roles. Channel work bills by usage to your organization’s usage balance, under a `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`spend limit`}),` an Owner sets.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In group DMs`}),`: the same restriction on who can use Claude applies, and the work bills to your organization’s usage balance. See `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#group-dms`,children:`Group DMs`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`In one-to-one DMs`}),`: a DM from a member who has connected a Claude account runs on that account and bills to that person’s seat. For the DM to work, that person needs either a seat that includes Claude Code or, on the Enterprise plan, Cowork access on a `,_jsx(_components.strong,{children:`Standard`}),` seat or a usage-based `,_jsx(_components.strong,{children:`Chat`}),` seat. A `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#direct-messages-from-members-without-a-claude-account`,children:`DM from a member who hasn’t connected a Claude account`}),` can bill to your organization for a limited time.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-claude-tag-runs`,children:`Where Claude Tag runs`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag works in Slack. You interact with it by writing in a Slack channel, thread, or direct message, and it replies there. Mention `,_jsx(_components.code,{children:`@Claude`}),` in a channel to guarantee it picks the message up.`]}),`\n`,_jsxs(_components.p,{children:[`When Claude works on a task, it runs in an ephemeral sandbox, not on your computer. The sandbox is created when a conversation starts, holds any code or files Claude is working with, and is discarded when the conversation goes idle. See `,_jsx(_components.a,{href:`/claude-tag/concepts/how-it-works`,children:`how Claude Tag works`}),` for the full lifecycle.`]}),`\n`,_jsxs(_components.p,{children:[`You extend what Claude can reach, like your repositories, ticketing systems, data warehouses, and custom tools, through `,_jsx(_components.a,{href:`/claude-tag/admins/add-connections`,children:`Claude Tag connectors`}),`, `,_jsx(_components.a,{href:`/claude-tag/admins/customize`,children:`plugins, and skills`}),`. An Owner or a `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#delegate-claude-tag-administration`,children:`Claude Tag admin`}),` configures these for all of Slack, for one workspace, or for one channel. Members’ own claude.ai connectors are separate from that configuration; Claude can use them in a channel for the member’s own requests, as `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`personal connectors in channels`}),` describes.`]}),`\n`,_jsxs(`div`,{className:`tm-route-grid`,children:[_jsxs(`div`,{className:`tm-card`,children:[_jsxs(_components.a,{className:`tm-band tm-band-admins`,href:`/claude-tag/admins/setup-overview`,children:[_jsxs(`span`,{className:`tm-band-text`,children:[_jsx(`span`,{className:`tm-band-label`,children:`For administrators`}),_jsx(`span`,{className:`tm-band-title`,children:`Set up Claude Tag`})]}),_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=1b7a9675728f971bc7a4663c7f1ea599`,alt:``,noZoom:true,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/claude-tag/illustrations/Hand-Key.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=3c3a2b136a48bc30066d77182034e131 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=32f7e1b6f5c94b09b60365d1f8656e62 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=07abecf209987dfae9183fbba74c2b28 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=f231bfb2475e80b9edf9d688f01ac0c1 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=135090cf14a0bc55ef2236e3075d4e2d 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=faf87e19781d3005c86f661bc60a0225 2500w`})]}),_jsxs(`div`,{className:`tm-qrows`,children:[_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/admins/setup-overview`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`Where do I start?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Pair your Slack workspace, launch, and test that it works`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/concepts/agent-identity`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What can Claude Tag access?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`How admins set access per channel, and where credentials are stored`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/admins/add-connections`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I connect each service?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Credential types, allowed hosts, and what each connection lets Claude reach`})]})})]})]}),_jsxs(`div`,{className:`tm-card`,children:[_jsxs(`a`,{className:`tm-band tm-band-users`,href:`#put-claude-tag-to-work`,children:[_jsxs(`span`,{className:`tm-band-text`,children:[_jsx(`span`,{className:`tm-band-label`,children:`For end users`}),_jsx(`span`,{className:`tm-band-title`,children:`Put Claude Tag to work`})]}),_jsx(`img`,{src:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=c64df4c6d27a6da752aa32c9e0622781`,alt:``,noZoom:true,\"data-og-width\":`1000`,width:`1000`,\"data-og-height\":`1000`,height:`1000`,\"data-path\":`images/claude-tag/illustrations/Hand-NodePair.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=280\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=6251b24fc10f5926244a6233432ac5c5 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=560\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=33290118ade6efd057f734f4f23ab2bf 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=840\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=8d4ae134ca06a27910d5f69fec5ae319 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=bbc86fac6a1def129e50e42ebd2603ce 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=9ae67cdca30ed828416c4dd86403fc3b 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=5JFKyLlO7sHMMf5J\u0026q=85\u0026s=58243f7f5c95da5ff412ccd61729165f 2500w`})]}),_jsxs(`div`,{className:`tm-qrows`,children:[_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/getting-started`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I hand Claude Tag a task?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Mention Claude in any channel it’s in, with nothing to install`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/use-cases`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What is Claude Tag good at?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Use cases for coding, data, incidents, and go-to-market`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/good-habits`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`How do I get good results?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Good habits for scoping and reviewing work`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/memory`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`What does Claude Tag remember?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Channel memory, what’s shared across the workspace, and who can see what`})]})}),_jsx(_components.a,{className:`tm-qrow`,href:`/claude-tag/users/proactivity`,children:_jsxs(`span`,{className:`tm-qrow-text`,children:[_jsx(`span`,{className:`tm-qrow-q`,children:`Can Claude Tag run tasks on a schedule?`}),_jsx(`span`,{className:`tm-qrow-sub`,children:`Scheduled jobs, channel watching, and triggers`})]})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`billing-and-spend-limits`,children:`Billing and spend limits`}),`\n`,_jsxs(_components.p,{children:[`Adding Claude to Slack doesn’t add a per-seat charge. Channel, thread, and group DM work is billed by usage instead: it draws from a `,_jsx(_components.strong,{children:`usage balance`}),`, an amount in your organization’s billing currency that an Owner funds. A `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`spend limit`}),` caps how much of that balance Claude Tag can use each billing period.`]}),`\n`,_jsxs(_components.p,{children:[`One-to-one direct messages from members who have connected a Claude account don’t draw from this balance. Such a DM runs on the sender’s own claude.ai account and follows that seat’s usual usage limits, so the organization spend limit doesn’t apply to it. A `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#direct-messages-from-members-without-a-claude-account`,children:`DM from a member who hasn’t connected a Claude account`}),` can draw from this balance.`]}),`\n`,_jsxs(_components.p,{children:[`To learn what your team’s usage costs, run a pilot with a spend limit set and watch the per-channel breakdown on the `,_jsx(_components.a,{href:`https://claude.ai/admin-settings/usage/claude-tag`,children:`usage page in your admin settings`}),`. `,_jsx(_components.a,{href:`/claude-tag/admins/set-spend-limit`,children:`Set a spend limit`}),` covers how to fund the balance on each plan, set the limit, and what happens when usage reaches it.`]}),`\n`,_jsxs(`div`,{className:`tm-eyebrow`,children:[_jsx(`span`,{className:`tm-swatch tm-swatch-users`}),`For end users`]}),`\n`,_jsx(Heading,{level:`2`,id:`put-claude-tag-to-work`,children:`Put Claude Tag to work`}),`\n`,_jsxs(_components.p,{children:[`If Claude Tag is in your channel, you can use it now. (If it isn’t there yet, an Owner in your Claude organization runs setup: see `,_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`Set up Claude Tag`}),`.) Anyone in the channel can hand it work, and channel work bills to the organization, not to you.`]}),`\n`,_jsxs(_components.p,{children:[`What it can reach starts with the channel you’re in. The fastest way to find out is to ask it: `,_jsx(_components.code,{children:`@Claude what can you access from this channel?`}),` Or, if you’re signed in to your Claude organization, click `,_jsx(_components.strong,{children:`Configure`}),` in the footer of a Claude reply in the channel to see its `,_jsx(_components.a,{href:`/claude-tag/concepts/glossary#connection`,children:`connections`}),`, the external services an admin has connected for that channel. Replies in org-shared channels have no Configure link.`]}),`\n`,_jsxs(_components.p,{children:[`For your own requests, Claude can also `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`use the connectors on your claude.ai account`}),`, after you allow it.`]}),`\n`,_jsxs(_components.p,{children:[`In a one-to-one DM, Claude runs on your own claude.ai account instead of a channel’s setup. An Owner can turn off DMs for the whole organization; see `,_jsx(_components.a,{href:`/claude-tag/admins/restrict-access#allow-or-disable-direct-messages`,children:`Allow or disable direct messages`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`common-uses`,children:`Common uses`}),`\n`,_jsx(_components.p,{children:`Each link opens a guide with the prompts to paste and the connections the task needs.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/watch-monitors`,children:`Watch monitors and alerts`}),`: scheduled dashboard checks, and alerts investigated as they arrive. Needs a monitoring connection like Datadog, Sentry, or PagerDuty.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/triage-requests`,children:`Triage requests`}),`: an intake channel where Claude answers what it can, flags duplicates, and routes the rest. Works on Slack content alone.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/find-answers`,children:`Find answers in your docs`}),`: policy and runbook questions answered with the source. Needs a docs connection like Google Drive, Notion, or Confluence.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/answer-data-questions`,children:`Answer data questions`}),`: a plain-language question becomes a warehouse query and a chart. Needs a data warehouse connection.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/track-projects`,children:`Track projects and chase approvals`}),`: standing status digests and follow-ups that run until an approval lands`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/create-artifacts`,children:`Turn threads into docs and tickets`}),`: a settled discussion becomes the decision doc, the customer reply, or the filed tickets`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/fix-bugs`,children:`Fix bugs`}),`: a bug reported in the channel comes back as a draft pull request. Needs GitHub.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/claude-tag/users/use-cases/your-own-channel`,children:`Work from your own channel`}),`: scratch questions, digests of channels you don’t follow, and follow-ups on what you said you’d do`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/claude-tag/users/getting-started`,children:`Get started`}),` covers your first message, what you see while Claude works, and how to shape Claude’s behavior in your channel.`]}),`\n`,_jsxs(`div`,{className:`tm-eyebrow`,children:[_jsx(`span`,{className:`tm-swatch tm-swatch-admins`}),`For administrators`]}),`\n`,_jsx(Heading,{level:`2`,id:`set-claude-tag-up-once-for-everyone`,children:`Set Claude Tag up once for everyone`}),`\n`,_jsxs(_components.p,{children:[`You set up Claude Tag once, at `,_jsx(_components.a,{href:`https://claude.ai/admin-settings/claude-tag`,children:_jsx(_components.code,{children:`claude.ai/admin-settings/claude-tag`})}),`, and you must be an Owner in your Claude organization to do it. The setup page at that URL walks you through it:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Pair your Slack workspace`}),`: send `,_jsx(_components.code,{children:`@Claude connect`}),` in Slack to get a pairing code, then enter it on the setup page.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set a monthly spend limit, add Claude to channels, and launch`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Once you launch, everyone in a channel Claude is in can use Claude Tag immediately, with no per-user setup.`}),`\n`,_jsxs(_components.p,{children:[`Claude Tag starts with no access of its own to your external systems. After you launch, you connect the services Claude will work in, such as your issue tracker or data warehouse, and grant repositories to the Claude GitHub App. Members can also let Claude use their own `,_jsx(_components.a,{href:`/claude-tag/concepts/personal-connectors`,children:`personal connectors`}),` for their requests.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/claude-tag/admins/setup-overview`,children:`Set up Claude Tag`}),` walks through setup and connecting tools, with what to have ready, what each choice means, and how to verify Claude Tag works once you launch.`]}),`\n`,_jsxs(`div`,{className:`tm-strip`,children:[_jsxs(`div`,{className:`tm-strip-head`,children:[_jsx(`p`,{className:`tm-strip-title`,children:`Security review`}),_jsx(_components.a,{className:`tm-strip-all`,href:`/claude-tag/concepts/security-and-data`,children:`Security and data handling`})]}),_jsx(`p`,{children:`The security model, what admins can and can’t restrict, audit trails, and network requirements.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`where-to-start-with-claude-tag`,children:`Where to start with Claude Tag`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Set up Claude Tag`,icon:`gear`,href:`/claude-tag/admins/setup-overview`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Admins: pair your Slack workspace and launch`})}),_jsx(Card,{title:`Hand Claude Tag your first task`,icon:`paper-plane`,href:`/claude-tag/users/getting-started`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`It’s already in your channel: send your first message`})}),_jsx(Card,{title:`How Claude Tag works`,icon:`diagram-project`,href:`/claude-tag/concepts/how-it-works`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`The session model, what it can read, and how memory follows places`})}),_jsx(Card,{title:`Use case library`,icon:`list`,href:`/claude-tag/users/use-cases`,horizontal:true,arrow:true,children:_jsx(_components.p,{children:`Prompts to paste, by team and connection`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Work with Claude Tag","sidebarTitle":"Overview","description":"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.","keywords":["what is claude tag","claude in slack","claude slack app","slack bot","slack agent","@claude","tag claude","claude tag pricing","cost","how is claude tag billed","which plans include claude tag","team plan","enterprise plan","pro plan","max plan","ultra plan","personal account","claude tag vs cowork","use cases","public beta"],"mode":"wide","href":"/claude-tag/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Plans that include Claude Tag","slug":"plans-that-include-claude-tag","depth":2,"children":[{"title":"Who needs a Claude seat","slug":"who-needs-a-claude-seat","depth":3,"children":[]}]},{"title":"Where Claude Tag runs","slug":"where-claude-tag-runs","depth":2,"children":[]},{"title":"Billing and spend limits","slug":"billing-and-spend-limits","depth":2,"children":[]},{"title":"Put Claude Tag to work","slug":"put-claude-tag-to-work","depth":2,"children":[{"title":"Common uses","slug":"common-uses","depth":3,"children":[]}]},{"title":"Set Claude Tag up once for everyone","slug":"set-claude-tag-up-once-for-everyone","depth":2,"children":[]},{"title":"Where to start with Claude Tag","slug":"where-to-start-with-claude-tag","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/claude-ai/b857db804a3a9481/desktop-app-nav.js"],"subdomain":"claude-ai","siteName":"Claude.ai Documentation","title":"Work with Claude Tag - Claude.ai Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-04T19:55:52.006Z","originalFileLocation":"claude-tag/overview.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Work with Claude Tag - Claude.ai Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://claude.com/docs/claude-tag/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://claude-ai.mintlify.site/docs/_mintlify/api/og/v2?division=+\u0026amp;title=Work+with+Claude+Tag\u0026amp;description=Claude+Tag+puts+Claude+in+your+Slack+channels+with+admin-governed+access.+See+what+to+hand+it%2C+how+setup+works%2C+and+where+to+start+as+an+admin+or+end+user.\u0026amp;theme=9a76ca0aba14a40680086237\u0026amp;signature=31330571c25b0d3e677c84835974fc0a91843e1177a2a0283ccde3cf4c1be894\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Work with Claude Tag - Claude.ai Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://claude-ai.mintlify.site/docs/_mintlify/api/og/v2?division=+\u0026amp;title=Work+with+Claude+Tag\u0026amp;description=Claude+Tag+puts+Claude+in+your+Slack+channels+with+admin-governed+access.+See+what+to+hand+it%2C+how+setup+works%2C+and+where+to+start+as+an+admin+or+end+user.\u0026amp;theme=9a76ca0aba14a40680086237\u0026amp;signature=31330571c25b0d3e677c84835974fc0a91843e1177a2a0283ccde3cf4c1be894\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Claude.ai Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0E0E0E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://claude.com/docs/claude-tag/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/claude-tag/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://claude.com/#organization\",\"name\":\"Claude.ai Documentation\",\"url\":\"https://claude.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max\u0026auto=format\u0026n=1fyDNLAICe3KG6rB\u0026q=85\u0026s=e870c19cb781d8a7c7b7d19de53b0a10\"}},{\"@type\":\"WebSite\",\"@id\":\"https://claude.com/docs#website\",\"name\":\"Claude.ai Documentation\",\"url\":\"https://claude.com/docs\",\"publisher\":{\"@id\":\"https://claude.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://claude.com/docs/claude-tag/overview#webpage\",\"url\":\"https://claude.com/docs/claude-tag/overview\",\"name\":\"Work with Claude Tag\",\"description\":\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\",\"dateModified\":\"2026-11-04T19:55:52.006Z\",\"isPartOf\":{\"@id\":\"https://claude.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://claude.com/docs/claude-tag/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://claude.com/docs/claude-tag/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Claude.ai Documentation\",\"item\":\"https://claude.com/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Work with Claude Tag\",\"item\":\"https://claude.com/docs/claude-tag/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://claude.com/docs/claude-tag/overview#article\",\"headline\":\"Work with Claude Tag\",\"name\":\"Work with Claude Tag\",\"description\":\"Claude Tag puts Claude in your Slack channels with admin-governed access. See what to hand it, how setup works, and where to start as an admin or end user.\",\"url\":\"https://claude.com/docs/claude-tag/overview\",\"mainEntityOfPage\":{\"@id\":\"https://claude.com/docs/claude-tag/overview#webpage\"},\"dateModified\":\"2026-11-04T19:55:52.006Z\",\"keywords\":\"what is claude tag, claude in slack, claude slack app, slack bot, slack agent, @claude, tag claude, claude tag pricing, cost, how is claude tag billed, which plans include claude tag, team plan, enterprise plan, pro plan, max plan, ultra plan, personal account, claude tag vs cowork, use cases, public beta\",\"publisher\":{\"@id\":\"https://claude.com/#organization\"},\"isPartOf\":{\"@id\":\"https://claude.com/docs#website\"}}]}\u003c/script>","siteName":"Claude.ai Documentation","nav":{"global":null,"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":""}]},{"tab":"Customize Claude","pages":[{"title":"Customize Claude","href":"/extend/overview"}]},{"tab":"Build for Claude","pages":[{"title":"Build for Claude","href":"/build/overview"}]},{"tab":"Cowork","pages":[{"title":"Cowork","href":"/cowork/overview"}]},{"tab":"Claude Tag","groups":[{"group":" ","pages":[{"title":"Work with Claude Tag","sidebarTitle":"Overview","mode":"wide","href":"/claude-tag/overview"}]},{"group":"How it works","pages":[{"title":"How Claude Tag works","description":"Each Claude Tag thread in Slack runs a working session in a sandbox. See how progress shows in the thread, how to steer mid-task, what survives between turns, and how memory is scoped.","href":"/claude-tag/concepts/how-it-works"},{"title":"Glossary","href":"/claude-tag/concepts/glossary"}]},{"group":"For administrators","pages":[{"group":"Before you install","pages":[{"title":"How agent identity works","href":"/claude-tag/concepts/agent-identity"},{"title":"Personal connectors in channels","href":"/claude-tag/concepts/personal-connectors"},{"title":"Security and data handling","href":"/claude-tag/concepts/security-and-data"},{"title":"Data lifecycle and deletion","sidebarTitle":"Data lifecycle","href":"/claude-tag/concepts/data-lifecycle"},{"title":"What the Claude Slack app can access","sidebarTitle":"For Slack admins","href":"/claude-tag/admins/for-slack-admins"}]},{"group":"Set up Claude Tag","root":{"title":"Set up Claude Tag","sidebarTitle":"Set up Claude Tag","href":"/claude-tag/admins/setup-overview"},"pages":[{"title":"Give Claude access to your tools","sidebarTitle":"Give Claude access","href":"/claude-tag/admins/add-connections"},{"title":"Configure GitHub access","sidebarTitle":"GitHub access","href":"/claude-tag/admins/configure-github"},{"title":"Configure GitLab access","sidebarTitle":"GitLab access","href":"/claude-tag/admins/configure-gitlab"},{"title":"Set a spend limit","sidebarTitle":"Set a spend limit","href":"/claude-tag/admins/set-spend-limit"},{"title":"Set up Claude Tag for on-call","sidebarTitle":"On-call setup","href":"/claude-tag/admins/setup-oncall"},{"group":"Connection guides","root":{"title":"Per-service connection guides","sidebarTitle":"Connection guides","href":"/claude-tag/admins/connections/overview"},"pages":[{"title":"Connect a service that isn't in the list","sidebarTitle":"Custom connector","href":"/claude-tag/admins/connections/custom"},{"title":"Connect Amplitude","sidebarTitle":"Amplitude","href":"/claude-tag/admins/connections/amplitude"},{"title":"Connect Asana","sidebarTitle":"Asana","href":"/claude-tag/admins/connections/asana"},{"title":"Connect Jira and Confluence","sidebarTitle":"Jira and Confluence","href":"/claude-tag/admins/connections/atlassian"},{"title":"Connect BigQuery","sidebarTitle":"BigQuery","href":"/claude-tag/admins/connections/bigquery"},{"title":"Connect Datadog","sidebarTitle":"Datadog","href":"/claude-tag/admins/connections/datadog"},{"title":"Connect GitLab","sidebarTitle":"GitLab","href":"/claude-tag/admins/connections/gitlab"},{"title":"Connect Gong","sidebarTitle":"Gong","href":"/claude-tag/admins/connections/gong"},{"title":"Connect Google Drive, Calendar, and Gmail","sidebarTitle":"Google Drive, Calendar, and Gmail","href":"/claude-tag/admins/connections/google"},{"title":"Connect HubSpot","sidebarTitle":"HubSpot","href":"/claude-tag/admins/connections/hubspot"},{"title":"Connect Linear","sidebarTitle":"Linear","href":"/claude-tag/admins/connections/linear"},{"title":"Connect Notion","sidebarTitle":"Notion","href":"/claude-tag/admins/connections/notion"},{"title":"Connect PagerDuty","sidebarTitle":"PagerDuty","href":"/claude-tag/admins/connections/pagerduty"},{"title":"Connect Salesforce","sidebarTitle":"Salesforce","href":"/claude-tag/admins/connections/salesforce"},{"title":"Connect Sentry","sidebarTitle":"Sentry","href":"/claude-tag/admins/connections/sentry"},{"title":"Connect Snowflake","sidebarTitle":"Snowflake","href":"/claude-tag/admins/connections/snowflake"},{"title":"Connect Stripe","sidebarTitle":"Stripe","href":"/claude-tag/admins/connections/stripe"},{"title":"Connect Vercel","sidebarTitle":"Vercel","href":"/claude-tag/admins/connections/vercel"}]},{"group":"Federated agent access","root":{"title":"Federated agent access","sidebarTitle":"Overview","href":"/claude-tag/admins/federated-access/overview"},"pages":[{"title":"Connect a gateway","sidebarTitle":"Connect a gateway","href":"/claude-tag/admins/federated-access/connect-a-gateway"},{"title":"Connect an AWS role","sidebarTitle":"AWS role","href":"/claude-tag/admins/federated-access/aws"},{"title":"Connect a Google Cloud identity","sidebarTitle":"Google Cloud identity","href":"/claude-tag/admins/federated-access/gcp"},{"title":"Connect an authorization server","sidebarTitle":"Authorization server","href":"/claude-tag/admins/federated-access/authorization-server"},{"title":"Identity token reference","sidebarTitle":"Token reference","href":"/claude-tag/admins/federated-access/token-reference"},{"title":"Limits for federated agent access","sidebarTitle":"Limits","href":"/claude-tag/admins/federated-access/limits"},{"title":"Troubleshoot federated agent access","sidebarTitle":"Troubleshooting","href":"/claude-tag/admins/federated-access/troubleshooting"}]}]},{"group":"Roll out","pages":[{"title":"Configure per-channel access","sidebarTitle":"Per-channel access","href":"/claude-tag/admins/attach-to-scope"},{"title":"Restrict where Claude Tag operates","href":"/claude-tag/admins/restrict-access"},{"title":"Manage workspaces and versions","sidebarTitle":"Workspaces and versions","href":"/claude-tag/admins/workspaces"},{"title":"Use Claude Tag at a healthcare organization","sidebarTitle":"Healthcare organizations","href":"/claude-tag/admins/healthcare"}]},{"group":"Customize","pages":[{"title":"Customize Claude Tag","sidebarTitle":"Customize Claude Tag","href":"/claude-tag/admins/customize"},{"title":"Claude Tag settings map","sidebarTitle":"Settings map","href":"/claude-tag/concepts/settings-map"},{"title":"Manage a channel's instructions from another channel","sidebarTitle":"Managed by","href":"/claude-tag/admins/managed-by"},{"title":"Set up a skills repository Claude can update","sidebarTitle":"Add custom skills","href":"/claude-tag/admins/skills-repo"}]},{"group":"Operate","pages":[{"title":"Review what Claude Tag has done","sidebarTitle":"Audit and review","href":"/claude-tag/admins/audit"},{"title":"Attribute costs to users","sidebarTitle":"Attribute costs to users","href":"/claude-tag/admins/attribute-costs"},{"title":"Troubleshoot Claude Tag setup","sidebarTitle":"Troubleshooting","href":"/claude-tag/admins/troubleshooting"},{"title":"Network requirements","href":"/claude-tag/admins/network-requirements"},{"title":"Migrate from the earlier Claude in Slack","sidebarTitle":"Migrate from legacy Claude in Slack","href":"/claude-tag/admins/migrate-from-earlier"}]}]},{"group":"For end users","pages":[{"title":"Get started","href":"/claude-tag/users/getting-started"},{"title":"Claude Tag for Claude Code users","sidebarTitle":"For Claude Code users","href":"/claude-tag/concepts/for-claude-code-users"},{"title":"Commands Claude Tag understands","sidebarTitle":"Commands","href":"/claude-tag/users/commands"},{"title":"Control when Claude Tag responds","href":"/claude-tag/users/when-claude-responds"},{"title":"Use Claude Tag in a group DM","sidebarTitle":"Group DMs","href":"/claude-tag/users/group-dms"},{"title":"Good habits for working with Claude Tag","sidebarTitle":"Good habits","href":"/claude-tag/users/good-habits"},{"title":"Set up routines","href":"/claude-tag/users/proactivity"},{"title":"What Claude Tag remembers","href":"/claude-tag/users/memory"},{"title":"Choose the model Claude Tag uses","sidebarTitle":"Choose the model","href":"/claude-tag/users/models"},{"title":"Prompt library","href":"/claude-tag/users/prompt-library"},{"title":"Troubleshoot Claude Tag in channels and DMs","sidebarTitle":"Troubleshooting","href":"/claude-tag/users/troubleshooting"}]},{"group":"Use case library","pages":[{"title":"Use case library","sidebarTitle":"Browse the library","href":"/claude-tag/users/use-cases"},{"title":"Triage requests","href":"/claude-tag/users/use-cases/triage-requests"},{"title":"Catch up","href":"/claude-tag/users/use-cases/catch-up"},{"title":"Work from your own channel","href":"/claude-tag/users/use-cases/your-own-channel"},{"title":"Turn threads into docs and tickets","href":"/claude-tag/users/use-cases/create-artifacts"},{"title":"Track projects and chase approvals","href":"/claude-tag/users/use-cases/track-projects"},{"title":"Answer data questions","href":"/claude-tag/users/use-cases/answer-data-questions"},{"title":"Find answers in your docs","href":"/claude-tag/users/use-cases/find-answers"},{"title":"Review documents against a checklist","href":"/claude-tag/users/use-cases/review-documents"},{"title":"Pull deal and account state","href":"/claude-tag/users/use-cases/pull-deal-state"},{"title":"Claude Tag for marketing teams","sidebarTitle":"Marketing teams","href":"/claude-tag/users/use-cases/marketing-team"},{"title":"Watch monitors and alerts","href":"/claude-tag/users/use-cases/watch-monitors"},{"title":"Fix bugs","href":"/claude-tag/users/use-cases/fix-bugs"},{"title":"Work with your GitHub repositories","sidebarTitle":"Work with GitHub","href":"/claude-tag/users/use-cases/work-with-github"}]}]},{"tab":"Claude for M365","pages":[{"title":"Claude for M365","href":"/office-agents/overview"}]},{"tab":"Claude Science","pages":[{"title":"Claude Science","href":"/claude-science/overview"}]},{"tab":"Claude on third-party platforms","pages":[{"title":"Claude on third-party platforms","href":"/third-party/claude-desktop/overview"}]},{"tab":"Claude self-hosted","hidden":true,"pages":[{"title":"Claude self-hosted","href":"/third-party/claude-desktop/self-hosted/overview"}]},{"tab":"Claude for Government","pages":[{"title":"Claude for Government","href":"/government/overview"}]}]},"basePath":"","title":"Work with Claude Tag - Claude.ai Documentation","buildId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","deploymentId":"dpl_3pZeXn3XukjzFRgAX73A7GNDfRJ1","dynamics":[],"chunks":[]}</template>
470470 </body>
471471</html>
472472 

costs Changed · +1 / -1 lines

from line 232
232232 * Run `/usage-credits` to request usage beyond the allowance, if you have [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) turned on.
233233 * On Claude Code v2.1.234 or later, [wait and continue the interrupted task automatically after the reset](https://code.claude.com/docs/en/interactive-mode.md#wait-for-a-usage-limit-to-reset); that section lists when Claude Code starts the wait on its own and when the developer picks it from `/rate-limit-options`. To control for your fleet whether Claude Code starts that wait on its own, set [`autoContinueAtUsageLimit`](https://code.claude.com/docs/en/settings-reference#autocontinueatusagelimit) in [managed settings](https://code.claude.com/docs/en/settings.md#settings-precedence).
234234* **"You've hit your individual spend limit", "org's monthly spend limit", or "team's shared budget"**: the developer's request would be billed to usage credits, and those credits have reached a spend limit you set. To let the developer continue, go to [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) and increase the limit the message names. When the message also names a plan reset time, the developer can instead wait until then. See [the error reference](https://code.claude.com/docs/en/errors.md#youve-hit-your-monthly-spend-limit) for each variant.
235* **A spend limit message from a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway)**: the developer passed a spend cap you set on your self-hosted gateway, and the gateway blocks their requests until the period resets or you raise the cap. See [gateway spend limits](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) for caps, reset schedules, and the message the developer sees.
235* **A spend limit message from a [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway)**: the developer passed a spend cap you set on your self-hosted gateway. The gateway blocks their requests until you raise the cap, or until the cap resets if it's above \$0. See [gateway spend limits](https://code.claude.com/docs/en/claude-apps-gateway-spend-limits.md) for caps, reset schedules, and the message the developer sees.
236236* **A context or auto-compact warning**: not a usage limit. The conversation has grown close to the session's [auto-compact window](https://code.claude.com/docs/en/model-config.md#set-the-auto-compact-window), the threshold where Claude Code summarizes older history to free space. Point the developer at [reduce token usage](#reduce-token-usage).
237237* **Unexpectedly high spend on an API or cloud-provider plan**: usually traces back to long sessions that were never cleared or to Opus left as the default model. The highest-impact habits to share are clearing between unrelated tasks and matching the model to the job, both covered in [reduce token usage](#reduce-token-usage).
238238 

permissions Changed · +2 / -1 lines

from line 249
249249| :- | :- | :- |
250250| `Bash(curl *)` | `curl https://example.com` | `/usr/bin/curl https://example.com`, `sh -c 'curl https://example.com'` |
251251| `Bash(rm *)` | `rm -rf build/` | `/bin/rm -rf build/`, `bash -c 'rm -rf build/'` |
252| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main`, `git 'push' origin main` |
252| `Bash(git push *)` | `git push origin main` | `git -C . push origin main`, `git -c push.default=current push origin main` |
253253 
254254Your other rules and the permission mode decide the commands in the last column.
255255 
from line 269
269269* **`docker` pointed at another daemon**: read-only forms of `docker` prompt when the command carries a flag that selects a different daemon, such as `-H`, `--context`, or Podman's `--url` and `--connection`.
270270* **`file` with path-opening flags**: `file` prompts when it passes `-m`/`--magic-file` or `-f`/`--files-from`, because those flags make `file` open the paths named in the flag's value.
271271* **`ps` that could print environment variables**: `ps` prompts when one of its arguments could act as the `e` option, such as in `ps auxe` or `ps aux -e`, because that option prints process environment variables. `ps aux` and `ps -ef` run without a prompt. The check on dashed forms such as `ps aux -e` requires Claude Code v2.1.290 or later.
272* **`which` with flags beyond lookup and display**: `which` prompts when it passes a flag such as `-i`/`--read-alias` or `--read-functions`. `which node` and `which -a node` run without a prompt.
272273* **Network paths on Windows**: a command whose arguments include a network (UNC) path, such as `\\server\share\file`, prompts because accessing a network path can send your Windows credentials to the host it names. The same check applies to [PowerShell tool](https://code.claude.com/docs/en/tools-reference.md#powershell-tool) commands.
273274* **Writes to special shell variables**: a command that sets, unsets, or loops over certain special shell variables, such as `PATH` or `IFS`, prompts even when the rest of the command is read-only.
274275* **Commands the analysis can't parse**: when Claude Code can't fully parse a command, it asks for approval instead of treating the command as read-only. Commands longer than 10,000 characters always prompt because they exceed what the analysis parses.
Feedback