One read of Claude Code CLIclaude-code-20261030T180701Z
88 pages moved out of 228 read.
Pages moved
88
significant first
Pages read
228
in this capture
Captured
18:07 UTC
Corpus hash
49664f3a50da
corpus-hash
What this read moved
1-25 of 88, page 1 of 4This capture is too large to show at once. Changes 1-25 of 88 are below, significant first; the rest are on the following screens.
agent-sdk/custom-tools Changed · +30 / -30 lines
from line 38
3838
3939Python examples on this page that make HTTP requests use [httpx](https://www.python-httpx.org/). Add it with the package manager your project uses:
4040
41**Python (uv)**
41> [tab] Python (uv)
42>
43> ```bash theme={null}
44> uv add httpx
45> ```
4246
43```bash theme={null}
44uv add httpx
45```
47> [tab] Python (pip)
48>
49> ```bash theme={null}
50> pip install httpx
51> ```
4652
47**Python (pip)**
48
49```bash theme={null}
50pip install httpx
51```
52
5353### Weather tool example
5454
5555This example defines a `get_temperature` tool and wraps it in an MCP server, without passing the server to `query`. To run the tool, see [Call a custom tool](#call-a-custom-tool) below.
from line 194
194194
195195Combine this snippet with the tool and server definitions from the [weather tool example](#weather-tool-example) in one file, `weather.py` or `weather.ts`, then run it from your terminal:
196196
197**TypeScript**
197> [tab] TypeScript
198>
199> ```bash theme={null}
200> npx tsx weather.ts
201> ```
198202
199```bash theme={null}
200npx tsx weather.ts
201```
203> [tab] Python (uv)
204>
205> ```bash theme={null}
206> uv run weather.py
207> ```
202208
203**Python (uv)**
204
205```bash theme={null}
206uv run weather.py
207```
208
209**Python (pip)**
210
211Activate the virtual environment where you installed the SDK, then run:
212
213```bash theme={null}
214python weather.py
215```
209> [tab] Python (pip)
210>
211> Activate the virtual environment where you installed the SDK, then run:
212>
213> ```bash theme={null}
214> python weather.py
215> ```
216216
217217Claude calls `get_temperature` and the script prints a one-line answer with the current temperature in San Francisco.
218218
agent-sdk/file-checkpointing Changed · +11 / -11 lines
from line 581
581581>
582582> Open your utility file (`utils.py` or `utils.ts`) in your IDE or editor before running the script. You'll see the file update in real-time as the agent adds doc comments, then revert back to the original when you choose to rewind.
583583
584**Python**
584> [tab] Python
585>
586> ```bash theme={null}
587> python try_checkpointing.py
588> ```
585589
586```bash theme={null}
587python try_checkpointing.py
588```
589
590**TypeScript**
591
592```bash theme={null}
593npx tsx try_checkpointing.ts
594```
590> [tab] TypeScript
591>
592> ```bash theme={null}
593> npx tsx try_checkpointing.ts
594> ```
595595
596596You'll see the agent add doc comments, then a prompt asking if you want to rewind. If you choose yes, the file is restored to its original state.
597597
agent-sdk/mcp Changed · +98 / -98 lines
from line 382
382382
383383Use the `env` field to pass API keys, tokens, and other credentials to the MCP server:
384384
385**In code**
385> [tab] In code
386>
387> ```typescript TypeScript hidelines={1,-1} theme={null}
388> const _ = {
389> options: {
390> mcpServers: {
391> "api-server": {
392> command: "npx",
393> args: ["-y", "@your-org/api-mcp-server"],
394> env: {
395> API_KEY: process.env.API_KEY
396> }
397> }
398> },
399> allowedTools: ["mcp__api-server__*"]
400> }
401> };
402> ```
403>
404> ```python Python theme={null}
405> options = ClaudeAgentOptions(
406> mcp_servers={
407> "api-server": {
408> "command": "npx",
409> "args": ["-y", "@your-org/api-mcp-server"],
410> "env": {"API_KEY": os.environ["API_KEY"]},
411> }
412> },
413> allowed_tools=["mcp__api-server__*"],
414> )
415> ```
386416
387```typescript TypeScript hidelines={1,-1} theme={null}
388const _ = {
389 options: {
390 mcpServers: {
391 "api-server": {
392 command: "npx",
393 args: ["-y", "@your-org/api-mcp-server"],
394 env: {
395 API_KEY: process.env.API_KEY
396 }
397 }
398 },
399 allowedTools: ["mcp__api-server__*"]
400 }
401};
402```
417> [tab] .mcp.json
418>
419> ```json theme={null}
420> {
421> "mcpServers": {
422> "api-server": {
423> "command": "npx",
424> "args": ["-y", "@your-org/api-mcp-server"],
425> "env": {
426> "API_KEY": "${API_KEY}"
427> }
428> }
429> }
430> }
431> ```
432>
433> The `${API_KEY}` syntax expands environment variables at runtime.
403434
404```python Python theme={null}
405options = ClaudeAgentOptions(
406 mcp_servers={
407 "api-server": {
408 "command": "npx",
409 "args": ["-y", "@your-org/api-mcp-server"],
410 "env": {"API_KEY": os.environ["API_KEY"]},
411 }
412 },
413 allowed_tools=["mcp__api-server__*"],
414)
415```
416
417**.mcp.json**
418
419```json theme={null}
420{
421 "mcpServers": {
422 "api-server": {
423 "command": "npx",
424 "args": ["-y", "@your-org/api-mcp-server"],
425 "env": {
426 "API_KEY": "${API_KEY}"
427 }
428 }
429 }
430}
431```
432
433The `${API_KEY}` syntax expands environment variables at runtime.
434
435435### HTTP headers for remote servers
436436
437437For HTTP and SSE servers, pass authentication headers directly in the server configuration:
438438
439**In code**
439> [tab] In code
440>
441> ```typescript TypeScript hidelines={1,-1} theme={null}
442> const _ = {
443> options: {
444> mcpServers: {
445> "secure-api": {
446> type: "http",
447> url: "https://api.example.com/mcp",
448> headers: {
449> Authorization: `Bearer ${process.env.API_TOKEN}`
450> }
451> }
452> },
453> allowedTools: ["mcp__secure-api__*"]
454> }
455> };
456> ```
457>
458> ```python Python theme={null}
459> options = ClaudeAgentOptions(
460> mcp_servers={
461> "secure-api": {
462> "type": "http",
463> "url": "https://api.example.com/mcp",
464> "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},
465> }
466> },
467> allowed_tools=["mcp__secure-api__*"],
468> )
469> ```
440470
441```typescript TypeScript hidelines={1,-1} theme={null}
442const _ = {
443 options: {
444 mcpServers: {
445 "secure-api": {
446 type: "http",
447 url: "https://api.example.com/mcp",
448 headers: {
449 Authorization: `Bearer ${process.env.API_TOKEN}`
450 }
451 }
452 },
453 allowedTools: ["mcp__secure-api__*"]
454 }
455};
456```
457
458```python Python theme={null}
459options = ClaudeAgentOptions(
460 mcp_servers={
461 "secure-api": {
462 "type": "http",
463 "url": "https://api.example.com/mcp",
464 "headers": {"Authorization": f"Bearer {os.environ['API_TOKEN']}"},
465 }
466 },
467 allowed_tools=["mcp__secure-api__*"],
468)
469```
470
471**.mcp.json**
472
473```json theme={null}
474{
475 "mcpServers": {
476 "secure-api": {
477 "type": "http",
478 "url": "https://api.example.com/mcp",
479 "headers": {
480 "Authorization": "Bearer ${API_TOKEN}"
481 }
482 }
483 }
484}
485```
486
487The `${API_TOKEN}` syntax expands environment variables at runtime.
471> [tab] .mcp.json
472>
473> ```json theme={null}
474> {
475> "mcpServers": {
476> "secure-api": {
477> "type": "http",
478> "url": "https://api.example.com/mcp",
479> "headers": {
480> "Authorization": "Bearer ${API_TOKEN}"
481> }
482> }
483> }
484> }
485> ```
486>
487> The `${API_TOKEN}` syntax expands environment variables at runtime.
488488
489489For a complete working example of a remote server authenticated with headers, see [List issues from a repository](#list-issues-from-a-repository).
490490
agent-sdk/permissions Changed · +95 / -95 lines
from line 159
159159
160160You can set the permission mode once when starting a query, or change it dynamically while the session is active.
161161
162**At query time**
162> [tab] At query time
163>
164> Pass `permission_mode` (Python) or `permissionMode` (TypeScript) when creating a query.
165>
166> ```python Python theme={null}
167> import asyncio
168> from claude_agent_sdk import query, ClaudeAgentOptions
169>
170>
171> async def main():
172> async for message in query(
173> prompt="Help me refactor this code",
174> options=ClaudeAgentOptions(
175> permission_mode="default", # Set the mode here
176> ),
177> ):
178> if hasattr(message, "result"):
179> print(message.result)
180>
181>
182> asyncio.run(main())
183> ```
184>
185> ```typescript TypeScript theme={null}
186> import { query } from "@anthropic-ai/claude-agent-sdk";
187>
188> async function main() {
189> for await (const message of query({
190> prompt: "Help me refactor this code",
191> options: {
192> permissionMode: "default" // Set the mode here
193> }
194> })) {
195> if ("result" in message) {
196> console.log(message.result);
197> }
198> }
199> }
200>
201> main();
202> ```
163203
164Pass `permission_mode` (Python) or `permissionMode` (TypeScript) when creating a query.
165
166```python Python theme={null}
167import asyncio
168from claude_agent_sdk import query, ClaudeAgentOptions
169
170
171async def main():
172 async for message in query(
173 prompt="Help me refactor this code",
174 options=ClaudeAgentOptions(
175 permission_mode="default", # Set the mode here
176 ),
177 ):
178 if hasattr(message, "result"):
179 print(message.result)
180
181
182asyncio.run(main())
183```
184
185```typescript TypeScript theme={null}
186import { query } from "@anthropic-ai/claude-agent-sdk";
187
188async function main() {
189 for await (const message of query({
190 prompt: "Help me refactor this code",
191 options: {
192 permissionMode: "default" // Set the mode here
193 }
194 })) {
195 if ("result" in message) {
196 console.log(message.result);
197 }
198 }
199}
200
201main();
202```
203
204**During streaming**
205
206Call `set_permission_mode()` (Python) or `setPermissionMode()` (TypeScript) to change the mode mid-session. The new mode takes effect immediately for all subsequent tool requests. This lets you start restrictive and loosen permissions as trust builds, for example switching to `acceptEdits` after reviewing Claude's initial approach.
207
208```python Python theme={null}
209import asyncio
210from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions
211
212
213async def main():
214 async with ClaudeSDKClient(
215 options=ClaudeAgentOptions(
216 permission_mode="default", # Start in default mode
217 )
218 ) as client:
219 await client.query("Help me refactor this code")
220
221 # Change mode dynamically mid-session
222 await client.set_permission_mode("acceptEdits")
223
224 # Process messages with the new permission mode
225 async for message in client.receive_response():
226 if hasattr(message, "result"):
227 print(message.result)
228
229
230asyncio.run(main())
231```
232
233```typescript TypeScript theme={null}
234import { query } from "@anthropic-ai/claude-agent-sdk";
235
236async function main() {
237 const q = query({
238 prompt: "Help me refactor this code",
239 options: {
240 permissionMode: "default" // Start in default mode
241 }
242 });
243
244 // Change mode dynamically mid-session
245 await q.setPermissionMode("acceptEdits");
246
247 // Process messages with the new permission mode
248 for await (const message of q) {
249 if ("result" in message) {
250 console.log(message.result);
251 }
252 }
253}
254
255main();
256```
204> [tab] During streaming
205>
206> Call `set_permission_mode()` (Python) or `setPermissionMode()` (TypeScript) to change the mode mid-session. The new mode takes effect immediately for all subsequent tool requests. This lets you start restrictive and loosen permissions as trust builds, for example switching to `acceptEdits` after reviewing Claude's initial approach.
207>
208> ```python Python theme={null}
209> import asyncio
210> from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions
211>
212>
213> async def main():
214> async with ClaudeSDKClient(
215> options=ClaudeAgentOptions(
216> permission_mode="default", # Start in default mode
217> )
218> ) as client:
219> await client.query("Help me refactor this code")
220>
221> # Change mode dynamically mid-session
222> await client.set_permission_mode("acceptEdits")
223>
224> # Process messages with the new permission mode
225> async for message in client.receive_response():
226> if hasattr(message, "result"):
227> print(message.result)
228>
229>
230> asyncio.run(main())
231> ```
232>
233> ```typescript TypeScript theme={null}
234> import { query } from "@anthropic-ai/claude-agent-sdk";
235>
236> async function main() {
237> const q = query({
238> prompt: "Help me refactor this code",
239> options: {
240> permissionMode: "default" // Start in default mode
241> }
242> });
243>
244> // Change mode dynamically mid-session
245> await q.setPermissionMode("acceptEdits");
246>
247> // Process messages with the new permission mode
248> for await (const message of q) {
249> if ("result" in message) {
250> console.log(message.result);
251> }
252> }
253> }
254>
255> main();
256> ```
257257
258258### Mode details
259259
agent-sdk/quickstart Changed · +82 / -82 lines
from line 32
3232
3333Install the Agent SDK package for your language:
3434
35**TypeScript (new project)**
35> [tab] TypeScript (new project)
36>
37> ```bash theme={null}
38> npm init -y
39> npm pkg set type=module
40> npm install @anthropic-ai/claude-agent-sdk
41> npm install --save-dev tsx
42> ```
43>
44> Setting `"type": "module"` in `package.json` lets your agent script use top-level `await`, and [tsx](https://tsx.hirok.io) runs TypeScript files directly. npm prints `added N packages` when the install succeeds.
3645
37```bash theme={null}
38npm init -y
39npm pkg set type=module
40npm install @anthropic-ai/claude-agent-sdk
41npm install --save-dev tsx
42```
46> [tab] TypeScript (existing project)
47>
48> ```bash theme={null}
49> npm install @anthropic-ai/claude-agent-sdk
50> npm install --save-dev tsx
51> ```
52>
53> [tsx](https://tsx.hirok.io) runs TypeScript files directly. If your project uses CommonJS, name your agent script `agent.mts` instead of `agent.ts`. The `.mts` extension makes tsx treat the file as an ES module, so top-level `await` works without converting your whole project to ES modules. Use `agent.mts` in place of `agent.ts` in the create and run steps later in this quickstart.
4354
44Setting `"type": "module"` in `package.json` lets your agent script use top-level `await`, and [tsx](https://tsx.hirok.io) runs TypeScript files directly. npm prints `added N packages` when the install succeeds.
55> [tab] Python (uv)
56>
57> [Install uv](https://docs.astral.sh/uv/), a fast Python package manager that handles virtual environments automatically. Then initialize a project and add the SDK:
58>
59> ```bash theme={null}
60> uv init
61> uv add claude-agent-sdk
62> ```
4563
46**TypeScript (existing project)**
64> [tab] Python (pip)
65>
66> Create and activate a virtual environment, then install the package.
67>
68> On macOS or Linux:
69>
70> ```bash theme={null}
71> python3 -m venv .venv
72> source .venv/bin/activate
73> pip install claude-agent-sdk
74> ```
75>
76> On Windows:
77>
78> ```powershell theme={null}
79> py -m venv .venv
80> .venv\Scripts\Activate.ps1
81> pip install claude-agent-sdk
82> ```
83>
84> If PowerShell blocks `Activate.ps1` with an execution policy error, run `Set-ExecutionPolicy -Scope Process RemoteSigned` first.
4785
48```bash theme={null}
49npm install @anthropic-ai/claude-agent-sdk
50npm install --save-dev tsx
51```
52
53[tsx](https://tsx.hirok.io) runs TypeScript files directly. If your project uses CommonJS, name your agent script `agent.mts` instead of `agent.ts`. The `.mts` extension makes tsx treat the file as an ES module, so top-level `await` works without converting your whole project to ES modules. Use `agent.mts` in place of `agent.ts` in the create and run steps later in this quickstart.
54
55**Python (uv)**
56
57[Install uv](https://docs.astral.sh/uv/), a fast Python package manager that handles virtual environments automatically. Then initialize a project and add the SDK:
58
59```bash theme={null}
60uv init
61uv add claude-agent-sdk
62```
63
64**Python (pip)**
65
66Create and activate a virtual environment, then install the package.
67
68On macOS or Linux:
69
70```bash theme={null}
71python3 -m venv .venv
72source .venv/bin/activate
73pip install claude-agent-sdk
74```
75
76On Windows:
77
78```powershell theme={null}
79py -m venv .venv
80.venv\Scripts\Activate.ps1
81pip install claude-agent-sdk
82```
83
84If PowerShell blocks `Activate.ps1` with an execution policy error, run `Set-ExecutionPolicy -Scope Process RemoteSigned` first.
85
8686> [!NOTE]
8787>
8888> Both the TypeScript and Python SDKs bundle a native Claude Code binary, so most installs need no separate Claude Code install. Some installs have no bundled binary:
from line 94
9494
9595Get an API key from the [Claude Console](https://platform.claude.com/), then set it as an environment variable in the shell where you'll run your agent:
9696
97**macOS / Linux**
97> [tab] macOS / Linux
98>
99> ```bash theme={null}
100> export ANTHROPIC_API_KEY=your-api-key
101> ```
98102
99```bash theme={null}
100export ANTHROPIC_API_KEY=your-api-key
101```
103> [tab] Windows (PowerShell)
104>
105> ```powershell theme={null}
106> $env:ANTHROPIC_API_KEY = "your-api-key"
107> ```
102108
103**Windows (PowerShell)**
104
105```powershell theme={null}
106$env:ANTHROPIC_API_KEY = "your-api-key"
107```
108
109109The SDK reads the key from the environment of the process that runs your agent; it doesn't load `.env` files automatically. If you keep the key in a `.env` file, load it yourself, for example with the `dotenv` package, before calling the SDK.
110110
111111The SDK also supports authentication via third-party API providers:
from line 220
220220
221221Your agent is ready. Run it with the following command:
222222
223**TypeScript**
223> [tab] TypeScript
224>
225> ```bash theme={null}
226> npx tsx agent.ts
227> ```
228>
229> If you named your script `agent.mts`, run `npx tsx agent.mts` instead.
224230
225```bash theme={null}
226npx tsx agent.ts
227```
231> [tab] Python (uv)
232>
233> ```bash theme={null}
234> uv run agent.py
235> ```
228236
229If you named your script `agent.mts`, run `npx tsx agent.mts` instead.
230
231**Python (uv)**
232
233```bash theme={null}
234uv run agent.py
235```
236
237**Python (pip)**
238
239With your virtual environment still activated:
240
241```bash theme={null}
242python agent.py
243```
237> [tab] Python (pip)
238>
239> With your virtual environment still activated:
240>
241> ```bash theme={null}
242> python agent.py
243> ```
244244
245245As it works, the agent prints its reasoning and each tool it calls, ending with `Done: success`. After running, check `utils.py`. You'll see defensive code handling empty lists and null users. Your agent autonomously:
246246
agent-sdk/skills Changed · +23 / -23 lines
from line 466
466466
467467Each SDK surfaces the rejection differently:
468468
469**TypeScript**
469> [tab] TypeScript
470>
471> The TypeScript SDK throws an `Error` stating the rule the entry broke. For example, `skills: ["docs:*"]` throws:
472>
473> ```text theme={null}
474> Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.
475> ```
476>
477> An empty name reports `Skill names must be non-empty strings.`
478>
479> Before TypeScript Agent SDK 0.3.221, the SDK didn't run this check.
470480
471The TypeScript SDK throws an `Error` stating the rule the entry broke. For example, `skills: ["docs:*"]` throws:
472
473```text theme={null}
474Invalid skill name "docs:*": wildcard-suffix names are not allowed; list each skill by its exact name.
475```
476
477An empty name reports `Skill names must be non-empty strings.`
478
479Before TypeScript Agent SDK 0.3.221, the SDK didn't run this check.
480
481**Python**
482
483The Python SDK raises `ValueError` stating the rule the entry broke. For example, `skills=["docs:*"]` raises:
484
485```text theme={null}
486ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.
487```
488
489An empty name reports `Skill names must be non-empty strings`.
490
491Before Python Agent SDK 0.2.129, the SDK didn't run this check.
481> [tab] Python
482>
483> The Python SDK raises `ValueError` stating the rule the entry broke. For example, `skills=["docs:*"]` raises:
484>
485> ```text theme={null}
486> ValueError: Invalid skill name 'docs:*': wildcard-suffix names are not allowed; list each skill by its exact name.
487> ```
488>
489> An empty name reports `Skill names must be non-empty strings`.
490>
491> Before Python Agent SDK 0.2.129, the SDK didn't run this check.
492492
493493### Additional troubleshooting
494494
agent-sdk/user-input Changed · +159 / -159 lines
from line 221
221221
222222The `ask_user` and `askUser` helpers in the following snippets stand in for your application's own prompt UI.
223223
224**Approve**
224> [tab] Approve
225>
226> The user approves the action as-is. Pass through the `input` from your callback unchanged and the tool executes exactly as Claude requested.
227>
228> ```python Python theme={null}
229> async def can_use_tool(tool_name, input_data, context):
230> print(f"Claude wants to use {tool_name}")
231> approved = await ask_user("Allow this action?")
232>
233> if approved:
234> return PermissionResultAllow(updated_input=input_data)
235> return PermissionResultDeny(message="User declined")
236> ```
237>
238> ```typescript TypeScript theme={null}
239> canUseTool: async (toolName, input) => {
240> console.log(`Claude wants to use ${toolName}`);
241> const approved = await askUser("Allow this action?");
242>
243> if (approved) {
244> return { behavior: "allow", updatedInput: input };
245> }
246> return { behavior: "deny", message: "User declined" };
247> };
248> ```
225249
226The user approves the action as-is. Pass through the `input` from your callback unchanged and the tool executes exactly as Claude requested.
250> [tab] Approve with changes
251>
252> The user approves but wants to modify the request first. You can change the input before the tool executes. Claude sees the result but isn't told you changed anything. Useful for sanitizing parameters, adding constraints, or scoping access.
253>
254> ```python Python theme={null}
255> async def can_use_tool(tool_name, input_data, context):
256> if tool_name == "Bash":
257> # User approved, but scope all commands to sandbox
258> sandboxed_input = {**input_data}
259> sandboxed_input["command"] = input_data["command"].replace(
260> "/tmp", "/tmp/sandbox"
261> )
262> return PermissionResultAllow(updated_input=sandboxed_input)
263> return PermissionResultAllow(updated_input=input_data)
264> ```
265>
266> ```typescript TypeScript theme={null}
267> canUseTool: async (toolName, input) => {
268> if (toolName === "Bash") {
269> // User approved, but scope all commands to sandbox
270> const sandboxedInput = {
271> ...input,
272> command: input.command.replace("/tmp", "/tmp/sandbox")
273> };
274> return { behavior: "allow", updatedInput: sandboxedInput };
275> }
276> return { behavior: "allow", updatedInput: input };
277> };
278> ```
227279
228```python Python theme={null}
229async def can_use_tool(tool_name, input_data, context):
230 print(f"Claude wants to use {tool_name}")
231 approved = await ask_user("Allow this action?")
280> [tab] Approve and remember
281>
282> The user approves and doesn't want to be asked again for this kind of call. The third callback argument carries `suggestions`, an array of ready-made [`PermissionUpdate`](https://code.claude.com/docs/en/agent-sdk/typescript#permissionupdate) entries. Echo one back in `updatedPermissions` to apply it. A suggestion with the `localSettings` destination writes the rule to `.claude/settings.local.json` so future sessions skip the prompt for matching calls.
283>
284> In TypeScript, skip the always-allow choice for a request whose options carry [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/en/agent-sdk/typescript#canusetool). The hint requires Agent SDK v0.3.268 or later, and the Python `context` doesn't carry it.
285>
286> The Python example requires `claude-agent-sdk` 0.1.80 or later.
287>
288> ```python Python theme={null}
289> async def can_use_tool(tool_name, input_data, context):
290> choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])
291>
292> if choice == "always":
293> persist = [
294> s for s in context.suggestions if s.destination == "localSettings"
295> ]
296> return PermissionResultAllow(
297> updated_input=input_data, updated_permissions=persist
298> )
299> if choice == "once":
300> return PermissionResultAllow(updated_input=input_data)
301> return PermissionResultDeny(message="User declined")
302> ```
303>
304> ```typescript TypeScript theme={null}
305> canUseTool: async (toolName, input, { suggestions = [] }) => {
306> const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);
307>
308> if (choice === "always") {
309> const persist = suggestions.filter(
310> (s) => s.destination === "localSettings"
311> );
312> return {
313> behavior: "allow",
314> updatedInput: input,
315> updatedPermissions: persist
316> };
317> }
318> if (choice === "once") {
319> return { behavior: "allow", updatedInput: input };
320> }
321> return { behavior: "deny", message: "User declined" };
322> };
323> ```
232324
233 if approved:
234 return PermissionResultAllow(updated_input=input_data)
235 return PermissionResultDeny(message="User declined")
236```
325> [tab] Reject
326>
327> The user doesn't want this action to happen. Block the tool and provide a message explaining why. Claude sees this message and may try a different approach.
328>
329> ```python Python theme={null}
330> async def can_use_tool(tool_name, input_data, context):
331> approved = await ask_user(f"Allow {tool_name}?")
332>
333> if not approved:
334> return PermissionResultDeny(message="User rejected this action")
335> return PermissionResultAllow(updated_input=input_data)
336> ```
337>
338> ```typescript TypeScript theme={null}
339> canUseTool: async (toolName, input) => {
340> const approved = await askUser(`Allow ${toolName}?`);
341>
342> if (!approved) {
343> return {
344> behavior: "deny",
345> message: "User rejected this action"
346> };
347> }
348> return { behavior: "allow", updatedInput: input };
349> };
350> ```
237351
238```typescript TypeScript theme={null}
239canUseTool: async (toolName, input) => {
240 console.log(`Claude wants to use ${toolName}`);
241 const approved = await askUser("Allow this action?");
352> [tab] Suggest alternative
353>
354> The user doesn't want this specific action, but has a different idea. Block the tool and include guidance in your message. Claude will read this and decide how to proceed based on your feedback.
355>
356> ```python Python theme={null}
357> async def can_use_tool(tool_name, input_data, context):
358> if tool_name == "Bash" and "rm" in input_data.get("command", ""):
359> # User doesn't want to delete, suggest archiving instead
360> return PermissionResultDeny(
361> message="User doesn't want to delete files. They asked if you could compress them into an archive instead."
362> )
363> return PermissionResultAllow(updated_input=input_data)
364> ```
365>
366> ```typescript TypeScript theme={null}
367> canUseTool: async (toolName, input) => {
368> if (toolName === "Bash" && input.command.includes("rm")) {
369> // User doesn't want to delete, suggest archiving instead
370> return {
371> behavior: "deny",
372> message:
373> "User doesn't want to delete files. They asked if you could compress them into an archive instead."
374> };
375> }
376> return { behavior: "allow", updatedInput: input };
377> };
378> ```
242379
243 if (approved) {
244 return { behavior: "allow", updatedInput: input };
245 }
246 return { behavior: "deny", message: "User declined" };
247};
248```
249
250**Approve with changes**
251
252The user approves but wants to modify the request first. You can change the input before the tool executes. Claude sees the result but isn't told you changed anything. Useful for sanitizing parameters, adding constraints, or scoping access.
253
254```python Python theme={null}
255async def can_use_tool(tool_name, input_data, context):
256 if tool_name == "Bash":
257 # User approved, but scope all commands to sandbox
258 sandboxed_input = {**input_data}
259 sandboxed_input["command"] = input_data["command"].replace(
260 "/tmp", "/tmp/sandbox"
261 )
262 return PermissionResultAllow(updated_input=sandboxed_input)
263 return PermissionResultAllow(updated_input=input_data)
264```
265
266```typescript TypeScript theme={null}
267canUseTool: async (toolName, input) => {
268 if (toolName === "Bash") {
269 // User approved, but scope all commands to sandbox
270 const sandboxedInput = {
271 ...input,
272 command: input.command.replace("/tmp", "/tmp/sandbox")
273 };
274 return { behavior: "allow", updatedInput: sandboxedInput };
275 }
276 return { behavior: "allow", updatedInput: input };
277};
278```
279
280**Approve and remember**
281
282The user approves and doesn't want to be asked again for this kind of call. The third callback argument carries `suggestions`, an array of ready-made [`PermissionUpdate`](https://code.claude.com/docs/en/agent-sdk/typescript#permissionupdate) entries. Echo one back in `updatedPermissions` to apply it. A suggestion with the `localSettings` destination writes the rule to `.claude/settings.local.json` so future sessions skip the prompt for matching calls.
283
284In TypeScript, skip the always-allow choice for a request whose options carry [`suppressAlwaysAllowRule: true`](https://code.claude.com/docs/en/agent-sdk/typescript#canusetool). The hint requires Agent SDK v0.3.268 or later, and the Python `context` doesn't carry it.
285
286The Python example requires `claude-agent-sdk` 0.1.80 or later.
287
288```python Python theme={null}
289async def can_use_tool(tool_name, input_data, context):
290 choice = await ask_user(f"Allow {tool_name}?", ["once", "always", "no"])
291
292 if choice == "always":
293 persist = [
294 s for s in context.suggestions if s.destination == "localSettings"
295 ]
296 return PermissionResultAllow(
297 updated_input=input_data, updated_permissions=persist
298 )
299 if choice == "once":
300 return PermissionResultAllow(updated_input=input_data)
301 return PermissionResultDeny(message="User declined")
302```
303
304```typescript TypeScript theme={null}
305canUseTool: async (toolName, input, { suggestions = [] }) => {
306 const choice = await askUser(`Allow ${toolName}?`, ["once", "always", "no"]);
307
308 if (choice === "always") {
309 const persist = suggestions.filter(
310 (s) => s.destination === "localSettings"
311 );
312 return {
313 behavior: "allow",
314 updatedInput: input,
315 updatedPermissions: persist
316 };
317 }
318 if (choice === "once") {
319 return { behavior: "allow", updatedInput: input };
320 }
321 return { behavior: "deny", message: "User declined" };
322};
323```
324
325**Reject**
326
327The user doesn't want this action to happen. Block the tool and provide a message explaining why. Claude sees this message and may try a different approach.
328
329```python Python theme={null}
330async def can_use_tool(tool_name, input_data, context):
331 approved = await ask_user(f"Allow {tool_name}?")
332
333 if not approved:
334 return PermissionResultDeny(message="User rejected this action")
335 return PermissionResultAllow(updated_input=input_data)
336```
337
338```typescript TypeScript theme={null}
339canUseTool: async (toolName, input) => {
340 const approved = await askUser(`Allow ${toolName}?`);
341
342 if (!approved) {
343 return {
344 behavior: "deny",
345 message: "User rejected this action"
346 };
347 }
348 return { behavior: "allow", updatedInput: input };
349};
350```
351
352**Suggest alternative**
353
354The user doesn't want this specific action, but has a different idea. Block the tool and include guidance in your message. Claude will read this and decide how to proceed based on your feedback.
355
356```python Python theme={null}
357async def can_use_tool(tool_name, input_data, context):
358 if tool_name == "Bash" and "rm" in input_data.get("command", ""):
359 # User doesn't want to delete, suggest archiving instead
360 return PermissionResultDeny(
361 message="User doesn't want to delete files. They asked if you could compress them into an archive instead."
362 )
363 return PermissionResultAllow(updated_input=input_data)
364```
365
366```typescript TypeScript theme={null}
367canUseTool: async (toolName, input) => {
368 if (toolName === "Bash" && input.command.includes("rm")) {
369 // User doesn't want to delete, suggest archiving instead
370 return {
371 behavior: "deny",
372 message:
373 "User doesn't want to delete files. They asked if you could compress them into an archive instead."
374 };
375 }
376 return { behavior: "allow", updatedInput: input };
377};
378```
379
380**Redirect entirely**
381
382For a complete change of direction (not just a nudge), use [streaming input](https://code.claude.com/docs/en/agent-sdk/streaming-vs-single-mode.md) to send Claude a new instruction directly. This bypasses the current tool request and gives Claude entirely new instructions to follow.
380> [tab] Redirect entirely
381>
382> For a complete change of direction (not just a nudge), use [streaming input](https://code.claude.com/docs/en/agent-sdk/streaming-vs-single-mode.md) to send Claude a new instruction directly. This bypasses the current tool request and gives Claude entirely new instructions to follow.
383383
384384## Handle clarifying questions
385385
artifacts Changed · +4 / -4 lines
from line 4
44
55> [!NOTE]
66>
7> Artifacts are available on Pro, Max, Team, and Enterprise plans and require a session signed in with [`/login`](https://code.claude.com/docs/en/setup#authenticate). See [Availability](#availability) for the full set of requirements.
7> Artifacts are available on Pro, Max, Ultra, Team, and Enterprise plans and require a session signed in with [`/login`](https://code.claude.com/docs/en/setup#authenticate). See [Availability](#availability) for the full set of requirements.
88
99An [artifact](https://claude.com/features/artifacts) is a live, interactive web page that Claude Code publishes from your session to a private URL on claude.ai. You open it in a browser, and it updates in place as the session continues. Share it from the page header when you want someone else to see it too.
1010
from line 193
193193
194194## Pull live data with MCP connectors
195195
196An artifact can call [MCP connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai) each time someone views it, so the page shows current data rather than a snapshot from the session that built it. Connector calls from artifacts are available on Pro, Max, Team, and Enterprise plans and require Claude Code v2.1.209 or later. On earlier versions, Claude publishes the page with whatever data the session gathered while building it.
196An artifact can call [MCP connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai) each time someone views it, so the page shows current data rather than a snapshot from the session that built it. Connector calls from artifacts are available on Pro, Max, Ultra, Team, and Enterprise plans and require Claude Code v2.1.209 or later. On earlier versions, Claude publishes the page with whatever data the session gathered while building it.
197197
198198To create a connector-backed page, name the connector and the data you want in your prompt:
199199
from line 310
310310
311311> [!NOTE]
312312>
313> Templates are in beta. They're on by default on Pro, Max, and Team plans. On Enterprise plans, an Owner [turns each template on](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) under **Organization settings > Artifacts**. If your organization has the Slides template turned off, `/slides` doesn't appear; if it has the Design template turned off, `/design` doesn't draft designs. Both commands require Claude Code v2.1.265 or later and a session where [artifacts are available](#availability).
313> Templates are in beta. They're on by default on Pro, Max, Ultra, and Team plans. On Enterprise plans, an Owner [turns each template on](https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans) under **Organization settings > Artifacts**. If your organization has the Slides template turned off, `/slides` doesn't appear; if it has the Design template turned off, `/design` doesn't draft designs. Both commands require Claude Code v2.1.265 or later and a session where [artifacts are available](#availability).
314314
315315### Make a slide deck
316316
from line 364
364364
365365| Requirement | Available when |
366366| :- | :- |
367| Plan | Pro, Max, Team, or Enterprise. On Pro and Max plans, artifacts are private to you until you share them, and no admin management applies. On Team and Enterprise plans, artifacts are on by default, and an Owner can [turn them off for the organization](#manage-artifacts-for-your-organization) in claude.ai admin settings. |
367| Plan | Pro, Max, Ultra, Team, or Enterprise. On Pro, Max, and Ultra plans, artifacts are private to you until you share them, and no admin management applies. On Team and Enterprise plans, artifacts are on by default, and an Owner can [turn them off for the organization](#manage-artifacts-for-your-organization) in claude.ai admin settings. |
368368| Authentication | The session is backed by a claude.ai account: sign in with `/login` in the CLI or desktop app. Claude Tag sessions need no sign-in step. Sessions using an API key, [gateway token](https://code.claude.com/docs/en/llm-gateway), or cloud-provider credential cannot publish. |
369369| Model provider | Anthropic API. Not available on [Amazon Bedrock](https://code.claude.com/docs/en/amazon-bedrock.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). |
370370| Organization policy | Customer-managed encryption keys (CMEK), HIPAA, and [Zero Data Retention](https://code.claude.com/docs/en/zero-data-retention.md) are not enabled for the organization. |
authentication Changed · +21 / -21 lines
from line 19
1919
2020You can authenticate with any of these account types:
2121
22* **Claude Pro or Max subscription**: log in with your claude.ai account. Subscribe at [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).
22* **Claude Pro, Max, or Ultra subscription**: log in with your claude.ai account. Subscribe at [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).
2323* **Claude for Teams or Enterprise**: log in with the claude.ai account your team admin invited you to.
2424* **Claude Console**: log in with your Console credentials. Your admin must have [invited you](#claude-console-authentication) first. You can sign in with or without [creating an API key](#sign-in-without-an-api-key).
2525* **Cloud providers**: if your organization uses [Amazon Bedrock](https://code.claude.com/docs/en/amazon-bedrock.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), set the required environment variables before running `claude`, or select **3rd-party platform** at the login prompt, which launches an interactive setup wizard for Bedrock and Vertex AI. No browser login is needed.
from line 249
2492494. [`apiKeyHelper`](https://code.claude.com/docs/en/settings-reference#apikeyhelper) script output. Use this for dynamic or rotating credentials, such as short-lived tokens fetched from a vault.
2502505. `CLAUDE_CODE_OAUTH_TOKEN` environment variable. A long-lived OAuth token generated by [`claude setup-token`](#generate-a-long-lived-token). Use this for CI pipelines and scripts where browser login isn't available. If you run `/login` while the variable is set, Claude Code switches the current session to the new login, but reads the variable again in every new session until you remove it from your shell profile or the `env` block of a [settings file](https://code.claude.com/docs/en/settings.md).
2512516. Anthropic profile and federation credentials, the credentials that the `ant` CLI and Workload Identity Federation use. A profile that `ant auth login` wrote ranks here only when you name it in `ANTHROPIC_PROFILE`; otherwise it ranks below `/login`. See [Anthropic profiles and federation credentials](#anthropic-profiles-and-federation-credentials).
2527. Subscription OAuth credentials from `/login`. This is the default for Claude Pro, Max, Team, and Enterprise users.
2527. Subscription OAuth credentials from `/login`. This is the default for Claude Pro, Max, Ultra, Team, and Enterprise users.
253253
254254A signed-in [Claude apps gateway](https://code.claude.com/docs/en/claude-apps-gateway) session sits outside this list: it is a provider selection like Amazon Bedrock or Google Cloud's Agent Platform, and it outranks them. When a gateway session exists, the CLI authenticates with the gateway token even if `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_VERTEX`, or `CLAUDE_CODE_USE_FOUNDRY` is set, and credential sources above such as the bearer token, API key, `apiKeyHelper`, and profiles are not used.
255255
from line 296
296296
297297The command opens the same browser authorization flow as `/login`, and the token prints to the terminal after you approve access in the browser. It does not save the token anywhere; copy it and set it as the `CLAUDE_CODE_OAUTH_TOKEN` environment variable wherever you want to authenticate:
298298
299**macOS, Linux, WSL**
299> [tab] macOS, Linux, WSL
300>
301> ```bash theme={null}
302> export CLAUDE_CODE_OAUTH_TOKEN=your-token
303> ```
300304
301```bash theme={null}
302export CLAUDE_CODE_OAUTH_TOKEN=your-token
303```
305> [tab] Windows PowerShell
306>
307> ```powershell theme={null}
308> $env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"
309> ```
304310
305**Windows PowerShell**
311> [tab] Windows CMD
312>
313> ```batch theme={null}
314> set CLAUDE_CODE_OAUTH_TOKEN=your-token
315> ```
306316
307```powershell theme={null}
308$env:CLAUDE_CODE_OAUTH_TOKEN = "your-token"
309```
310
311**Windows CMD**
312
313```batch theme={null}
314set CLAUDE_CODE_OAUTH_TOKEN=your-token
315```
316
317This token authenticates with your Claude subscription and requires a Pro, Max, Team, or Enterprise plan. It can only make model requests, so it can't establish [Remote Control](https://code.claude.com/docs/en/remote-control.md) sessions or fetch [claude.ai connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai). MCP servers you configure locally still work.
317This token authenticates with your Claude subscription and requires a Pro, Max, Ultra, Team, or Enterprise plan. It can only make model requests, so it can't establish [Remote Control](https://code.claude.com/docs/en/remote-control.md) sessions or fetch [claude.ai connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai). MCP servers you configure locally still work.
318318
319319[Bare mode](https://code.claude.com/docs/en/headless.md#start-faster-with-bare-mode) does not read `CLAUDE_CODE_OAUTH_TOKEN`. If your script passes `--bare`, authenticate with `ANTHROPIC_API_KEY` or an `apiKeyHelper` instead.
320320
channels Changed · +194 / -194 lines
from line 20
2020
2121Each supported channel is a plugin that requires [Bun](https://bun.sh). For a hands-on demo of the plugin flow before connecting a real platform, try the [fakechat quickstart](#quickstart).
2222
23**Telegram**
24
25View the full [Telegram plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).
26
27**1. Create a Telegram bot**
28
29Open [BotFather](https://t.me/BotFather) in Telegram and send `/newbot`. Give it a display name and a unique username ending in `bot`. Copy the token BotFather returns.
30
31**2. Install the plugin**
32
33Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
34
35```
36/plugin install telegram@claude-plugins-official
37```
38
39If the install fails, match the message Claude Code reports:
40
41* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
42* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
43
44When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
45
46**3. Configure your token**
47
48Run the configure command with the token from BotFather:
49
50```
51/telegram:configure <token>
52```
53
54This saves it to `~/.claude/channels/telegram/.env`. You can also set `TELEGRAM_BOT_TOKEN` in your shell environment before launching Claude Code.
55
56**4. Restart with channels enabled**
57
58Exit Claude Code and restart with the channel flag. This starts the Telegram plugin, which begins polling for messages from your bot:
59
60```bash theme={null}
61claude --channels plugin:telegram@claude-plugins-official
62```
63
64**5. Pair your account**
65
66Open Telegram and send any message to your bot. The bot replies with a pairing code.
67
68> [!NOTE]
23> [tab] Telegram
6924>
70> If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
25> View the full [Telegram plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/telegram).
26>
27> **1. Create a Telegram bot**
28>
29> Open [BotFather](https://t.me/BotFather) in Telegram and send `/newbot`. Give it a display name and a unique username ending in `bot`. Copy the token BotFather returns.
30>
31> **2. Install the plugin**
32>
33> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
34>
35> ```
36> /plugin install telegram@claude-plugins-official
37> ```
38>
39> If the install fails, match the message Claude Code reports:
40>
41> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
42> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
43>
44> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
45>
46> **3. Configure your token**
47>
48> Run the configure command with the token from BotFather:
49>
50> ```
51> /telegram:configure <token>
52> ```
53>
54> This saves it to `~/.claude/channels/telegram/.env`. You can also set `TELEGRAM_BOT_TOKEN` in your shell environment before launching Claude Code.
55>
56> **4. Restart with channels enabled**
57>
58> Exit Claude Code and restart with the channel flag. This starts the Telegram plugin, which begins polling for messages from your bot:
59>
60> ```bash theme={null}
61> claude --channels plugin:telegram@claude-plugins-official
62> ```
63>
64> **5. Pair your account**
65>
66> Open Telegram and send any message to your bot. The bot replies with a pairing code.
67>
68> > [!NOTE]
69> >
70> > If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
71>
72> Back in Claude Code, run:
73>
74> ```
75> /telegram:access pair <code>
76> ```
77>
78> Then lock down access so only your account can send messages:
79>
80> ```
81> /telegram:access policy allowlist
82> ```
7183
72Back in Claude Code, run:
73
74```
75/telegram:access pair <code>
76```
77
78Then lock down access so only your account can send messages:
79
80```
81/telegram:access policy allowlist
82```
83
84**Discord**
85
86View the full [Discord plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).
87
88**1. Create a Discord bot**
89
90Go to the [Discord Developer Portal](https://discord.com/developers/applications), click **New Application**, and name it. In the **Bot** section, create a username, then click **Reset Token** and copy the token.
91
92**2. Enable Message Content Intent**
93
94In your bot's settings, scroll to **Privileged Gateway Intents** and enable **Message Content Intent**.
95
96**3. Invite the bot to your server**
97
98Go to **OAuth2 > URL Generator**. Select the `bot` scope and enable these permissions:
99
100* View Channels
101* Send Messages
102* Send Messages in Threads
103* Read Message History
104* Attach Files
105* Add Reactions
106
107Open the generated URL to add the bot to your server.
108
109**4. Install the plugin**
110
111Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
112
113```
114/plugin install discord@claude-plugins-official
115```
116
117If the install fails, match the message Claude Code reports:
118
119* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
120* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
121
122When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
123
124**5. Configure your token**
125
126Run the configure command with the bot token you copied:
127
128```
129/discord:configure <token>
130```
131
132This saves it to `~/.claude/channels/discord/.env`. You can also set `DISCORD_BOT_TOKEN` in your shell environment before launching Claude Code.
133
134**6. Restart with channels enabled**
135
136Exit Claude Code and restart with the channel flag. This connects the Discord plugin so your bot can receive and respond to messages:
137
138```bash theme={null}
139claude --channels plugin:discord@claude-plugins-official
140```
141
142**7. Pair your account**
143
144DM your bot on Discord. The bot replies with a pairing code.
145
146> [!NOTE]
84> [tab] Discord
14785>
148> If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
86> View the full [Discord plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/discord).
87>
88> **1. Create a Discord bot**
89>
90> Go to the [Discord Developer Portal](https://discord.com/developers/applications), click **New Application**, and name it. In the **Bot** section, create a username, then click **Reset Token** and copy the token.
91>
92> **2. Enable Message Content Intent**
93>
94> In your bot's settings, scroll to **Privileged Gateway Intents** and enable **Message Content Intent**.
95>
96> **3. Invite the bot to your server**
97>
98> Go to **OAuth2 > URL Generator**. Select the `bot` scope and enable these permissions:
99>
100> * View Channels
101> * Send Messages
102> * Send Messages in Threads
103> * Read Message History
104> * Attach Files
105> * Add Reactions
106>
107> Open the generated URL to add the bot to your server.
108>
109> **4. Install the plugin**
110>
111> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
112>
113> ```
114> /plugin install discord@claude-plugins-official
115> ```
116>
117> If the install fails, match the message Claude Code reports:
118>
119> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
120> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
121>
122> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects. Check the install summary: if it reports `Run /reload-plugins to apply.`, see [Apply plugin changes without restarting](https://code.claude.com/docs/en/plugins/cli-reference.md#reload-plugins) to make the plugin's configure command available.
123>
124> **5. Configure your token**
125>
126> Run the configure command with the bot token you copied:
127>
128> ```
129> /discord:configure <token>
130> ```
131>
132> This saves it to `~/.claude/channels/discord/.env`. You can also set `DISCORD_BOT_TOKEN` in your shell environment before launching Claude Code.
133>
134> **6. Restart with channels enabled**
135>
136> Exit Claude Code and restart with the channel flag. This connects the Discord plugin so your bot can receive and respond to messages:
137>
138> ```bash theme={null}
139> claude --channels plugin:discord@claude-plugins-official
140> ```
141>
142> **7. Pair your account**
143>
144> DM your bot on Discord. The bot replies with a pairing code.
145>
146> > [!NOTE]
147> >
148> > If your bot doesn't respond, make sure Claude Code is running with `--channels` from the previous step. The bot can only reply while the channel is active.
149>
150> Back in Claude Code, run:
151>
152> ```
153> /discord:access pair <code>
154> ```
155>
156> Then lock down access so only your account can send messages:
157>
158> ```
159> /discord:access policy allowlist
160> ```
149161
150Back in Claude Code, run:
151
152```
153/discord:access pair <code>
154```
155
156Then lock down access so only your account can send messages:
157
158```
159/discord:access policy allowlist
160```
161
162**iMessage**
163
164View the full [iMessage plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).
165
166The iMessage channel reads your Messages database directly and sends replies through AppleScript. It requires macOS and needs no bot token or external service.
167
168**1. Grant Full Disk Access**
169
170The Messages database at `~/Library/Messages/chat.db` is protected by macOS. The first time the server reads it, macOS prompts for access: click **Allow**. The prompt names whichever app launched Bun, such as Terminal, iTerm, or your IDE.
171
172If the prompt doesn't appear or you clicked Don't Allow, grant access manually under **System Settings > Privacy & Security > Full Disk Access** and add your terminal. Without this, the server exits immediately with `authorization denied`.
173
174**2. Install the plugin**
175
176Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
177
178```
179/plugin install imessage@claude-plugins-official
180```
181
182If the install fails, match the message Claude Code reports:
183
184* `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
185* `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
186
187When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects.
188
189If the install summary reports `Run /reload-plugins to apply.`, you don't need to act on it here, because restarting in the next step picks up the plugin.
190
191**3. Restart with channels enabled**
192
193Exit Claude Code and restart with the channel flag:
194
195```bash theme={null}
196claude --channels plugin:imessage@claude-plugins-official
197```
198
199**4. Text yourself**
200
201Open Messages on any device signed into your Apple ID and send a message to yourself. It reaches Claude immediately: self-chat bypasses access control with no setup.
202
203> [!NOTE]
162> [tab] iMessage
204163>
205> The first reply Claude sends triggers a macOS Automation prompt asking if your terminal can control Messages. Click **OK**.
164> View the full [iMessage plugin source](https://github.com/anthropics/claude-plugins-official/tree/main/external_plugins/imessage).
165>
166> The iMessage channel reads your Messages database directly and sends replies through AppleScript. It requires macOS and needs no bot token or external service.
167>
168> **1. Grant Full Disk Access**
169>
170> The Messages database at `~/Library/Messages/chat.db` is protected by macOS. The first time the server reads it, macOS prompts for access: click **Allow**. The prompt names whichever app launched Bun, such as Terminal, iTerm, or your IDE.
171>
172> If the prompt doesn't appear or you clicked Don't Allow, grant access manually under **System Settings > Privacy & Security > Full Disk Access** and add your terminal. Without this, the server exits immediately with `authorization denied`.
173>
174> **2. Install the plugin**
175>
176> Start Claude Code by running `claude` in your terminal, then enter this at its prompt:
177>
178> ```
179> /plugin install imessage@claude-plugins-official
180> ```
181>
182> If the install fails, match the message Claude Code reports:
183>
184> * `Marketplace "claude-plugins-official" not found`: add the marketplace with `/plugin marketplace add anthropics/claude-plugins-official`, then retry the install.
185> * `Plugin "<name>" not found in marketplace "claude-plugins-official"`: your local copy of the marketplace catalog may be out of date. Refresh it with `/plugin marketplace update claude-plugins-official`, then retry the install. If the retry prints the same message, see [Plugin not found in marketplace](https://code.claude.com/docs/en/plugins/troubleshooting.md#plugin-not-found-in-marketplace).
186>
187> When the install asks for an installation scope, choose the user scope option so the plugin is available across all your projects.
188>
189> If the install summary reports `Run /reload-plugins to apply.`, you don't need to act on it here, because restarting in the next step picks up the plugin.
190>
191> **3. Restart with channels enabled**
192>
193> Exit Claude Code and restart with the channel flag:
194>
195> ```bash theme={null}
196> claude --channels plugin:imessage@claude-plugins-official
197> ```
198>
199> **4. Text yourself**
200>
201> Open Messages on any device signed into your Apple ID and send a message to yourself. It reaches Claude immediately: self-chat bypasses access control with no setup.
202>
203> > [!NOTE]
204> >
205> > The first reply Claude sends triggers a macOS Automation prompt asking if your terminal can control Messages. Click **OK**.
206>
207> **5. Allow other senders**
208>
209> By default, only your own messages pass through. To let another contact reach Claude, add their handle:
210>
211> ```
212> /imessage:access allow +15551234567
213> ```
214>
215> Handles are phone numbers in `+country` format or Apple ID emails like `[email protected]`.
206216
207**5. Allow other senders**
208
209By default, only your own messages pass through. To let another contact reach Claude, add their handle:
210
211```
212/imessage:access allow +15551234567
213```
214
215Handles are phone numbers in `+country` format or Apple ID emails like `[email protected]`.
216
217217## Quickstart
218218
219219Fakechat is an officially supported demo channel that runs a chat UI on localhost, with nothing to authenticate and no external service to configure.
from line 304
304304| `channelsEnabled` | Master switch. Must be `true` for any channel to deliver messages. Blocks all channels including the development flag when off. See [Enable channels for your organization](#enable-channels-for-your-organization). | claude.ai Team and Enterprise: channels blocked. Console: channels allowed unless your organization deploys managed settings, in which case channels are blocked until this key is set |
305305| `allowedChannelPlugins` | Which plugins can register once channels are enabled. Replaces the Anthropic-maintained list when set. | Anthropic default list applies |
306306
307Pro and Max users without an organization skip these checks entirely: channels are available and users opt in per session with `--channels`.
307Pro, Max, and Ultra users without an organization skip these checks entirely: channels are available and users opt in per session with `--channels`.
308308
309309### Enable channels for your organization
310310
claude-apps-gateway-on-aws Changed · +140 / -140 lines
from line 321
321321
322322**7. Deploy**
323323
324**ECS Fargate**
324> [tab] ECS Fargate
325>
326> Create the cluster and a log group for the gateway's stderr, which carries both its audit events and operational logs. Retention is a separate call, and without one CloudWatch keeps the logs forever; align the 90 days with your audit retention policy:
327>
328> ```bash theme={null}
329> aws ecs create-cluster --cluster-name claude-gateway
330> aws logs create-log-group --log-group-name /ecs/claude-gateway
331> aws logs put-retention-policy --log-group-name /ecs/claude-gateway \
332> --retention-in-days 90
333> ```
334>
335> Write the task definition. The task role carries the Bedrock permission and the execution role injects the secrets; use the secret ARNs from the Secrets Manager step:
336>
337> ```json claude-gateway-task.json theme={null}
338> {
339> "family": "claude-gateway",
340> "networkMode": "awsvpc",
341> "requiresCompatibilities": ["FARGATE"],
342> "cpu": "1024",
343> "memory": "2048",
344> "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },
345> "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",
346> "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",
347> "containerDefinitions": [
348> {
349> "name": "gateway",
350> "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",
351> "portMappings": [{ "containerPort": 8080 }],
352> "secrets": [
353> { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },
354> { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },
355> { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }
356> ],
357> "logConfiguration": {
358> "logDriver": "awslogs",
359> "options": {
360> "awslogs-group": "/ecs/claude-gateway",
361> "awslogs-region": "<region>",
362> "awslogs-stream-prefix": "gateway"
363> }
364> }
365> }
366> ]
367> }
368> ```
369>
370> Register it:
371>
372> ```bash theme={null}
373> aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json
374> ```
375>
376> Put an internal ALB in front with a target group that health-checks the gateway. `--ip-address-type ipv4` matters: an internal dual-stack ALB publishes public-range AAAA records, which the `/login` private-network check rejects:
377>
378> ```bash theme={null}
379> ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \
380> --scheme internal --type application --ip-address-type ipv4 \
381> --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \
382> --query 'LoadBalancers[0].LoadBalancerArn' --output text)"
383>
384> TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \
385> --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \
386> --health-check-path /readyz \
387> --query 'TargetGroups[0].TargetGroupArn' --output text)"
388> ```
389>
390> Add the HTTPS listener. `--ssl-policy` pins a modern TLS floor, since omitting it falls back to the legacy `ELBSecurityPolicy-2016-08` default, which still accepts TLS 1.0/1.1.
391>
392> The ALB closes a connection after 60 seconds with no data by default. The gateway's keepalive pings keep streams inside that default, so raising the timeout adds margin above the ping cadence; the [Troubleshooting](#troubleshooting) row on dropped streams covers the mechanism and older gateways. The commands below add the listener and raise the timeout:
393>
394> ```bash theme={null}
395> aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \
396> --protocol HTTPS --port 443 \
397> --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
398> --certificates CertificateArn=<your-acm-certificate-arn> \
399> --default-actions Type=forward,TargetGroupArn="$TG_ARN"
400>
401> aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \
402> --attributes Key=idle_timeout.timeout_seconds,Value=3600
403> ```
404>
405> Create the service. The deployment circuit breaker rolls a deployment whose tasks keep failing, from a bad image or an unbootable config, back to the last steady state instead of relaunching failing tasks forever:
406>
407> ```bash theme={null}
408> aws ecs create-service --cluster claude-gateway --service-name claude-gateway \
409> --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \
410> --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \
411> --health-check-grace-period-seconds 60 \
412> --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \
413> --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"
414> ```
415>
416> The 60-second grace period gives a cold task time to pull the image, connect to the store, and answer its first health check before ECS starts counting failures against the deployment.
417>
418> The target group's health check on `GET /readyz` verifies the store is reachable, so a task that can't reach Postgres never enters rotation. To keep tasks passing the check through a short database outage such as an RDS failover, set `store.readiness_grace_seconds` as described in [Outage behavior](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#outage-behavior), which also covers the `/healthz` alternative.
419>
420> The tasks run in private subnets with no public IP, so all egress (to Bedrock, your IdP, Secrets Manager, ECR, and CloudWatch Logs) goes through the NAT gateway. To keep Bedrock traffic off the public path, create a `bedrock-runtime` interface VPC endpoint and point the upstream's `base_url` at it, as shown in the [Bedrock upstream reference](https://code.claude.com/docs/en/claude-apps-gateway-config.md#amazon-bedrock); the IdP still needs internet egress.
421>
422> Finish by giving developers a privately resolvable hostname: in a Route 53 private hosted zone, alias the gateway's internal DNS name to the ALB, and set `listen.public_url` to that hostname. The ALB's own `*.elb.amazonaws.com` name resolves to private addresses on an internal ALB, but it can't carry your ACM certificate, so use your own name.
423>
424> Update the OAuth client's authorized redirect URI to `<public_url>/oauth/callback` before the first sign-in. After changing `public_url`, rebuild and push the image under a new tag, register a new task definition revision, and redeploy. On ECS the setting lives in the image's embedded `gateway.yaml`, and the gateway builds its public origin only from that setting, ignoring `X-Forwarded-Host` and `X-Forwarded-Proto`. `X-Forwarded-For` is honored for client IPs only when `listen.trusted_proxies` is set.
325425
326Create the cluster and a log group for the gateway's stderr, which carries both its audit events and operational logs. Retention is a separate call, and without one CloudWatch keeps the logs forever; align the 90 days with your audit retention policy:
327
328```bash theme={null}
329aws ecs create-cluster --cluster-name claude-gateway
330aws logs create-log-group --log-group-name /ecs/claude-gateway
331aws logs put-retention-policy --log-group-name /ecs/claude-gateway \
332 --retention-in-days 90
333```
334
335Write the task definition. The task role carries the Bedrock permission and the execution role injects the secrets; use the secret ARNs from the Secrets Manager step:
336
337```json claude-gateway-task.json theme={null}
338{
339 "family": "claude-gateway",
340 "networkMode": "awsvpc",
341 "requiresCompatibilities": ["FARGATE"],
342 "cpu": "1024",
343 "memory": "2048",
344 "runtimePlatform": { "cpuArchitecture": "X86_64", "operatingSystemFamily": "LINUX" },
345 "executionRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-execution",
346 "taskRoleArn": "arn:aws:iam::<account-id>:role/claude-gateway-task",
347 "containerDefinitions": [
348 {
349 "name": "gateway",
350 "image": "<account-id>.dkr.ecr.<region>.amazonaws.com/claude-gateway:<version>",
351 "portMappings": [{ "containerPort": 8080 }],
352 "secrets": [
353 { "name": "GATEWAY_JWT_SECRET", "valueFrom": "<gateway-jwt-secret ARN>" },
354 { "name": "OIDC_CLIENT_SECRET", "valueFrom": "<gateway-oidc-client-secret ARN>" },
355 { "name": "GATEWAY_POSTGRES_URL", "valueFrom": "<gateway-postgres-url ARN>" }
356 ],
357 "logConfiguration": {
358 "logDriver": "awslogs",
359 "options": {
360 "awslogs-group": "/ecs/claude-gateway",
361 "awslogs-region": "<region>",
362 "awslogs-stream-prefix": "gateway"
363 }
364 }
365 }
366 ]
367}
368```
369
370Register it:
371
372```bash theme={null}
373aws ecs register-task-definition --cli-input-json file://claude-gateway-task.json
374```
375
376Put an internal ALB in front with a target group that health-checks the gateway. `--ip-address-type ipv4` matters: an internal dual-stack ALB publishes public-range AAAA records, which the `/login` private-network check rejects:
377
378```bash theme={null}
379ALB_ARN="$(aws elbv2 create-load-balancer --name claude-gateway \
380 --scheme internal --type application --ip-address-type ipv4 \
381 --subnets $PRIVATE_SUBNETS --security-groups "$ALB_SG" \
382 --query 'LoadBalancers[0].LoadBalancerArn' --output text)"
383
384TG_ARN="$(aws elbv2 create-target-group --name claude-gateway \
385 --protocol HTTP --port 8080 --vpc-id "$VPC_ID" --target-type ip \
386 --health-check-path /readyz \
387 --query 'TargetGroups[0].TargetGroupArn' --output text)"
388```
389
390Add the HTTPS listener. `--ssl-policy` pins a modern TLS floor, since omitting it falls back to the legacy `ELBSecurityPolicy-2016-08` default, which still accepts TLS 1.0/1.1.
391
392The ALB closes a connection after 60 seconds with no data by default. The gateway's keepalive pings keep streams inside that default, so raising the timeout adds margin above the ping cadence; the [Troubleshooting](#troubleshooting) row on dropped streams covers the mechanism and older gateways. The commands below add the listener and raise the timeout:
393
394```bash theme={null}
395aws elbv2 create-listener --load-balancer-arn "$ALB_ARN" \
396 --protocol HTTPS --port 443 \
397 --ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06 \
398 --certificates CertificateArn=<your-acm-certificate-arn> \
399 --default-actions Type=forward,TargetGroupArn="$TG_ARN"
400
401aws elbv2 modify-load-balancer-attributes --load-balancer-arn "$ALB_ARN" \
402 --attributes Key=idle_timeout.timeout_seconds,Value=3600
403```
404
405Create the service. The deployment circuit breaker rolls a deployment whose tasks keep failing, from a bad image or an unbootable config, back to the last steady state instead of relaunching failing tasks forever:
406
407```bash theme={null}
408aws ecs create-service --cluster claude-gateway --service-name claude-gateway \
409 --task-definition claude-gateway --desired-count 1 --launch-type FARGATE \
410 --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \
411 --health-check-grace-period-seconds 60 \
412 --network-configuration "awsvpcConfiguration={subnets=[$(echo $PRIVATE_SUBNETS | tr ' ' ',')],securityGroups=[$GW_SG],assignPublicIp=DISABLED}" \
413 --load-balancers "targetGroupArn=$TG_ARN,containerName=gateway,containerPort=8080"
414```
415
416The 60-second grace period gives a cold task time to pull the image, connect to the store, and answer its first health check before ECS starts counting failures against the deployment.
417
418The target group's health check on `GET /readyz` verifies the store is reachable, so a task that can't reach Postgres never enters rotation. To keep tasks passing the check through a short database outage such as an RDS failover, set `store.readiness_grace_seconds` as described in [Outage behavior](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#outage-behavior), which also covers the `/healthz` alternative.
419
420The tasks run in private subnets with no public IP, so all egress (to Bedrock, your IdP, Secrets Manager, ECR, and CloudWatch Logs) goes through the NAT gateway. To keep Bedrock traffic off the public path, create a `bedrock-runtime` interface VPC endpoint and point the upstream's `base_url` at it, as shown in the [Bedrock upstream reference](https://code.claude.com/docs/en/claude-apps-gateway-config.md#amazon-bedrock); the IdP still needs internet egress.
421
422Finish by giving developers a privately resolvable hostname: in a Route 53 private hosted zone, alias the gateway's internal DNS name to the ALB, and set `listen.public_url` to that hostname. The ALB's own `*.elb.amazonaws.com` name resolves to private addresses on an internal ALB, but it can't carry your ACM certificate, so use your own name.
423
424Update the OAuth client's authorized redirect URI to `<public_url>/oauth/callback` before the first sign-in. After changing `public_url`, rebuild and push the image under a new tag, register a new task definition revision, and redeploy. On ECS the setting lives in the image's embedded `gateway.yaml`, and the gateway builds its public origin only from that setting, ignoring `X-Forwarded-Host` and `X-Forwarded-Proto`. `X-Forwarded-For` is honored for client IPs only when `listen.trusted_proxies` is set.
425
426**EKS**
427
428This track needs `kubectl` and `eksctl` installed locally, and an existing EKS cluster with an IAM OIDC provider and the AWS Load Balancer Controller installed. The cluster must be on `$VPC_ID` so pods can reach the RDS private endpoint, and the `claude-gateway-db` security group must admit the cluster's pod or node security group in place of `$GW_SG`.
429
430On EKS the gateway gets its Bedrock credentials through IRSA rather than the ECS roles. The `ecs-tasks.amazonaws.com` trust policy from the IAM step does not apply here; IRSA needs a role whose trust policy federates on the cluster's OIDC provider, scoped to `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` creates that role, attaches the policies, and annotates the Kubernetes service account with the role ARN in one step. Turn the two policy documents from the IAM step into managed policies it can attach:
431
432```bash theme={null}
433BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \
434 --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"
435SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \
436 --policy-document file://secrets-read.json --query Policy.Arn --output text)"
437
438kubectl create namespace claude-gateway
439eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \
440 --namespace claude-gateway --name gateway --role-name claude-gateway \
441 --attach-policy-arn "$BEDROCK_POLICY_ARN" \
442 --attach-policy-arn "$SECRETS_POLICY_ARN" \
443 --approve
444```
445
446The secrets policy is needed only when the pods read Secrets Manager themselves, as the Secrets Store CSI driver's AWS provider does using the mounting pod's service account; drop it if you create the Kubernetes Secrets another way. The provider needs both of the policy's actions: it calls `DescribeSecret` when it reconciles rotated secrets, so a `GetSecretValue`-only grant mounts on the first deploy but stops picking up rotations.
447
448Deploy the gateway as a standard Deployment plus a Service and an Ingress, as described in [Kubernetes deployment](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#kubernetes), with:
449
450* `serviceAccountName: gateway`
451* `gateway.yaml` mounted from a ConfigMap and the secrets mounted at `/secrets`
452* the readiness probe pointed at `GET /readyz`
453
454For the front end, an Ingress managed by the AWS Load Balancer Controller provisions the internal ALB. Annotate it with:
455
456* `alb.ingress.kubernetes.io/scheme: internal` and `alb.ingress.kubernetes.io/target-type: ip`
457* `alb.ingress.kubernetes.io/ip-address-type: ipv4`, so no public-range AAAA records are published for the `/login` [private-network check](https://code.claude.com/docs/en/claude-apps-gateway#prerequisites) to reject
458* `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, so the controller-managed frontend security group admits only your corporate network in place of its `0.0.0.0/0` default
459* `alb.ingress.kubernetes.io/certificate-arn` with the ACM certificate
460* `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, so the listener doesn't fall back to the legacy default policy that accepts TLS 1.0 and 1.1
461* `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, a margin above the gateway's streaming keepalive; see [Troubleshooting](#troubleshooting)
462
463With IRSA, the AWS SDK reads a projected service-account token and exchanges it with AWS STS, so the pod never needs the EC2 instance metadata service; an egress NetworkPolicy may block `169.254.169.254` for gateway pods. The node hop-limit problem in [Troubleshooting](#troubleshooting) below applies only to clusters that skip IRSA and rely on node instance roles.
426> [tab] EKS
427>
428> This track needs `kubectl` and `eksctl` installed locally, and an existing EKS cluster with an IAM OIDC provider and the AWS Load Balancer Controller installed. The cluster must be on `$VPC_ID` so pods can reach the RDS private endpoint, and the `claude-gateway-db` security group must admit the cluster's pod or node security group in place of `$GW_SG`.
429>
430> On EKS the gateway gets its Bedrock credentials through IRSA rather than the ECS roles. The `ecs-tasks.amazonaws.com` trust policy from the IAM step does not apply here; IRSA needs a role whose trust policy federates on the cluster's OIDC provider, scoped to `system:serviceaccount:claude-gateway:gateway`. `eksctl create iamserviceaccount` creates that role, attaches the policies, and annotates the Kubernetes service account with the role ARN in one step. Turn the two policy documents from the IAM step into managed policies it can attach:
431>
432> ```bash theme={null}
433> BEDROCK_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-bedrock-invoke \
434> --policy-document file://bedrock-invoke.json --query Policy.Arn --output text)"
435> SECRETS_POLICY_ARN="$(aws iam create-policy --policy-name claude-gateway-secrets-read \
436> --policy-document file://secrets-read.json --query Policy.Arn --output text)"
437>
438> kubectl create namespace claude-gateway
439> eksctl create iamserviceaccount --cluster <your-cluster> --region "$AWS_REGION" \
440> --namespace claude-gateway --name gateway --role-name claude-gateway \
441> --attach-policy-arn "$BEDROCK_POLICY_ARN" \
442> --attach-policy-arn "$SECRETS_POLICY_ARN" \
443> --approve
444> ```
445>
446> The secrets policy is needed only when the pods read Secrets Manager themselves, as the Secrets Store CSI driver's AWS provider does using the mounting pod's service account; drop it if you create the Kubernetes Secrets another way. The provider needs both of the policy's actions: it calls `DescribeSecret` when it reconciles rotated secrets, so a `GetSecretValue`-only grant mounts on the first deploy but stops picking up rotations.
447>
448> Deploy the gateway as a standard Deployment plus a Service and an Ingress, as described in [Kubernetes deployment](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#kubernetes), with:
449>
450> * `serviceAccountName: gateway`
451> * `gateway.yaml` mounted from a ConfigMap and the secrets mounted at `/secrets`
452> * the readiness probe pointed at `GET /readyz`
453>
454> For the front end, an Ingress managed by the AWS Load Balancer Controller provisions the internal ALB. Annotate it with:
455>
456> * `alb.ingress.kubernetes.io/scheme: internal` and `alb.ingress.kubernetes.io/target-type: ip`
457> * `alb.ingress.kubernetes.io/ip-address-type: ipv4`, so no public-range AAAA records are published for the `/login` [private-network check](https://code.claude.com/docs/en/claude-apps-gateway#prerequisites) to reject
458> * `alb.ingress.kubernetes.io/inbound-cidrs: <your-corporate-cidr>`, so the controller-managed frontend security group admits only your corporate network in place of its `0.0.0.0/0` default
459> * `alb.ingress.kubernetes.io/certificate-arn` with the ACM certificate
460> * `alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS13-1-2-2021-06`, so the listener doesn't fall back to the legacy default policy that accepts TLS 1.0 and 1.1
461> * `alb.ingress.kubernetes.io/load-balancer-attributes: idle_timeout.timeout_seconds=3600`, a margin above the gateway's streaming keepalive; see [Troubleshooting](#troubleshooting)
462>
463> With IRSA, the AWS SDK reads a projected service-account token and exchanges it with AWS STS, so the pod never needs the EC2 instance metadata service; an egress NetworkPolicy may block `169.254.169.254` for gateway pods. The node hop-limit problem in [Troubleshooting](#troubleshooting) below applies only to clusters that skip IRSA and rely on node instance roles.
464464
465465**8. Push the gateway URL to developer machines**
466466
claude-apps-gateway-on-gcp Changed · +79 / -79 lines
from line 199
199199
200200**7. Deploy**
201201
202**Cloud Run**
203
204The command below deploys for production behind an internal load balancer.
205
206```bash theme={null}
207gcloud run deploy claude-gateway \
208 --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \
209 --region="$REGION" \
210 --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \
211 --min-instances=1 \
212 --max-instances=8 \
213 --timeout=3600 \
214 --ingress=internal \
215 --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \
216 --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \
217 --no-invoker-iam-check
218```
219
220Direct VPC egress, via `--network`, `--subnet`, and `--vpc-egress=private-ranges-only`, lets the service reach the Cloud SQL private IP directly. Public egress to Google Cloud's Agent Platform endpoints and `accounts.google.com` goes directly to the internet rather than through the VPC, so no Cloud NAT is needed.
221
222> [!NOTE]
202> [tab] Cloud Run
223203>
224> Each instance holds up to [`store.max_connections`](https://code.claude.com/docs/en/claude-apps-gateway-config#store) Postgres connections, five by default. Use [Size the connection pool](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#size-the-connection-pool) to check `--max-instances=8` against the connections your database has left for the gateway, and include the extra instances a rolling update starts.
204> The command below deploys for production behind an internal load balancer.
205>
206> ```bash theme={null}
207> gcloud run deploy claude-gateway \
208> --image="${REGION}-docker.pkg.dev/${PROJECT_ID}/claude-gateway/gateway:<version>" \
209> --region="$REGION" \
210> --service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \
211> --min-instances=1 \
212> --max-instances=8 \
213> --timeout=3600 \
214> --ingress=internal \
215> --network="$VPC" --subnet=cc-gateway-subnet --vpc-egress=private-ranges-only \
216> --set-secrets=/etc/claude/gateway.yaml=gateway-config:latest,GATEWAY_JWT_SECRET=gateway-jwt-secret:latest,OIDC_CLIENT_SECRET=gateway-oidc-client-secret:latest,GATEWAY_POSTGRES_URL=gateway-postgres-url:latest \
217> --no-invoker-iam-check
218> ```
219>
220> Direct VPC egress, via `--network`, `--subnet`, and `--vpc-egress=private-ranges-only`, lets the service reach the Cloud SQL private IP directly. Public egress to Google Cloud's Agent Platform endpoints and `accounts.google.com` goes directly to the internet rather than through the VPC, so no Cloud NAT is needed.
221>
222> > [!NOTE]
223> >
224> > Each instance holds up to [`store.max_connections`](https://code.claude.com/docs/en/claude-apps-gateway-config#store) Postgres connections, five by default. Use [Size the connection pool](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#size-the-connection-pool) to check `--max-instances=8` against the connections your database has left for the gateway, and include the extra instances a rolling update starts.
225>
226> The invoker IAM check must be open or disabled. The gateway runs its own OIDC and its clients carry no GCP token, so Cloud Run's invoker check has to admit unauthenticated requests. The gateway's OIDC sign-in authenticates the request once it reaches the container, with `allowed_email_domains` gating which domains may sign in.
227>
228> Two flags admit unauthenticated requests:
229>
230> * `--no-invoker-iam-check`: disables the check with no `allUsers` binding to manage, and works under Domain Restricted Sharing
231> * `--allow-unauthenticated`: grants `allUsers` the `run.invoker` role; use it if your organization doesn't allow `--no-invoker-iam-check`
232>
233> Ingress restriction via `--ingress` is a separate, independent layer from the invoker check; keep it set to limit the service to your corporate network.
234>
235> By default the Cloud Run `*.run.app` URL resolves to a public address, which the `/login` [private-network check](https://code.claude.com/docs/en/claude-apps-gateway#prerequisites) rejects. Two topologies give developers a privately resolvable hostname, and Cloud Run provisions neither for you:
236>
237> * **Internal Application Load Balancer**, the topology this page's `gateway.yaml` assumes: provision an internal Application Load Balancer in front of the service with an internal DNS name and certificate, and set `listen.public_url` to that hostname. The `internal` ingress setting already admits traffic from internal Application Load Balancers; `internal-and-cloud-load-balancing` additionally admits external Application Load Balancers, whose public addresses the `/login` private-network check rejects, so no topology on this page needs it.
238> * **Internal-only ingress with no load balancer**: keep the deploy command as is and leave `listen.public_url` as the `*.run.app` URL, the default in the [reference assets](#terraform-reference) below. For `*.run.app` to resolve privately, your network team must already operate a Private Service Connect endpoint for Google APIs, a Cloud DNS private zone resolving `*.run.app` to it, and on-premises routing to that endpoint.
239>
240> Google's [private networking guide for Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) covers the infrastructure both options need. Verify sign-in once the gateway is serving on a private hostname; until then, confirm the container booted from its logs in Cloud Run.
241>
242> Update the OAuth client's authorized redirect URI to `<public_url>/oauth/callback` before the first sign-in. Redeploy after changing `public_url`, because the gateway builds its public origin only from that setting and ignores `X-Forwarded-Host` and `X-Forwarded-Proto`. `X-Forwarded-For` is honored for client IPs only when `listen.trusted_proxies` is set.
225243
226The invoker IAM check must be open or disabled. The gateway runs its own OIDC and its clients carry no GCP token, so Cloud Run's invoker check has to admit unauthenticated requests. The gateway's OIDC sign-in authenticates the request once it reaches the container, with `allowed_email_domains` gating which domains may sign in.
227
228Two flags admit unauthenticated requests:
229
230* `--no-invoker-iam-check`: disables the check with no `allUsers` binding to manage, and works under Domain Restricted Sharing
231* `--allow-unauthenticated`: grants `allUsers` the `run.invoker` role; use it if your organization doesn't allow `--no-invoker-iam-check`
232
233Ingress restriction via `--ingress` is a separate, independent layer from the invoker check; keep it set to limit the service to your corporate network.
234
235By default the Cloud Run `*.run.app` URL resolves to a public address, which the `/login` [private-network check](https://code.claude.com/docs/en/claude-apps-gateway#prerequisites) rejects. Two topologies give developers a privately resolvable hostname, and Cloud Run provisions neither for you:
236
237* **Internal Application Load Balancer**, the topology this page's `gateway.yaml` assumes: provision an internal Application Load Balancer in front of the service with an internal DNS name and certificate, and set `listen.public_url` to that hostname. The `internal` ingress setting already admits traffic from internal Application Load Balancers; `internal-and-cloud-load-balancing` additionally admits external Application Load Balancers, whose public addresses the `/login` private-network check rejects, so no topology on this page needs it.
238* **Internal-only ingress with no load balancer**: keep the deploy command as is and leave `listen.public_url` as the `*.run.app` URL, the default in the [reference assets](#terraform-reference) below. For `*.run.app` to resolve privately, your network team must already operate a Private Service Connect endpoint for Google APIs, a Cloud DNS private zone resolving `*.run.app` to it, and on-premises routing to that endpoint.
239
240Google's [private networking guide for Cloud Run](https://cloud.google.com/run/docs/securing/private-networking) covers the infrastructure both options need. Verify sign-in once the gateway is serving on a private hostname; until then, confirm the container booted from its logs in Cloud Run.
241
242Update the OAuth client's authorized redirect URI to `<public_url>/oauth/callback` before the first sign-in. Redeploy after changing `public_url`, because the gateway builds its public origin only from that setting and ignores `X-Forwarded-Host` and `X-Forwarded-Proto`. `X-Forwarded-For` is honored for client IPs only when `listen.trusted_proxies` is set.
243
244**GKE**
245
246The cluster must be on the `$VPC` created in the Cloud SQL step so pods can reach the database's private IP; VPC peering alone doesn't work, because Cloud SQL private IP is itself a peered network and peering is non-transitive. To create a new cluster on that VPC, pass `--network="$VPC" --subnetwork=cc-gateway-subnet` to `gcloud container clusters create`.
247
248Enable Workload Identity on the cluster and its node pools, then bind the Google service account to the Kubernetes service account so pods inherit its credentials:
249
250```bash theme={null}
251gcloud container clusters update <cluster> --region="$REGION" \
252 --workload-pool="${PROJECT_ID}.svc.id.goog"
253# On a Standard cluster, existing node pools also need GKE_METADATA;
254# Autopilot enables this by default.
255gcloud container node-pools update <pool> --cluster=<cluster> \
256 --region="$REGION" --workload-metadata=GKE_METADATA
257
258kubectl create namespace claude-gateway
259kubectl create serviceaccount gateway -n claude-gateway
260
261gcloud iam service-accounts add-iam-policy-binding \
262 "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \
263 --role roles/iam.workloadIdentityUser \
264 --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"
265
266kubectl annotate serviceaccount gateway -n claude-gateway \
267 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"
268```
269
270Deploy the gateway as a standard Deployment plus a Service and an internal Ingress, class `gce-internal`, as described in [Kubernetes deployment](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#kubernetes), with:
271
272* `serviceAccountName: gateway`
273* the Secret Manager CSI driver mounting secrets at `/secrets`
274* the readiness probe pointed at `GET /readyz`
275
276Attach a BackendConfig with a raised `timeoutSec` to the gateway Service: the load balancer backend service behind GKE Ingress defaults to a 30-second timeout, which cuts off long streaming responses.
277
278Don't apply an egress NetworkPolicy that blocks `169.254.169.254` on a Workload Identity cluster; the pod must reach the metadata server for credentials. The gateway's built-in [SSRF guard](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#threat-model-summary) is the defense there.
279
280The gateway logs a boot warning that the metadata endpoint is reachable and suggests applying an egress NetworkPolicy. Under Workload Identity that warning is expected, because the pod needs the endpoint.
244> [tab] GKE
245>
246> The cluster must be on the `$VPC` created in the Cloud SQL step so pods can reach the database's private IP; VPC peering alone doesn't work, because Cloud SQL private IP is itself a peered network and peering is non-transitive. To create a new cluster on that VPC, pass `--network="$VPC" --subnetwork=cc-gateway-subnet` to `gcloud container clusters create`.
247>
248> Enable Workload Identity on the cluster and its node pools, then bind the Google service account to the Kubernetes service account so pods inherit its credentials:
249>
250> ```bash theme={null}
251> gcloud container clusters update <cluster> --region="$REGION" \
252> --workload-pool="${PROJECT_ID}.svc.id.goog"
253> # On a Standard cluster, existing node pools also need GKE_METADATA;
254> # Autopilot enables this by default.
255> gcloud container node-pools update <pool> --cluster=<cluster> \
256> --region="$REGION" --workload-metadata=GKE_METADATA
257>
258> kubectl create namespace claude-gateway
259> kubectl create serviceaccount gateway -n claude-gateway
260>
261> gcloud iam service-accounts add-iam-policy-binding \
262> "claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com" \
263> --role roles/iam.workloadIdentityUser \
264> --member "serviceAccount:${PROJECT_ID}.svc.id.goog[claude-gateway/gateway]"
265>
266> kubectl annotate serviceaccount gateway -n claude-gateway \
267> iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"
268> ```
269>
270> Deploy the gateway as a standard Deployment plus a Service and an internal Ingress, class `gce-internal`, as described in [Kubernetes deployment](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#kubernetes), with:
271>
272> * `serviceAccountName: gateway`
273> * the Secret Manager CSI driver mounting secrets at `/secrets`
274> * the readiness probe pointed at `GET /readyz`
275>
276> Attach a BackendConfig with a raised `timeoutSec` to the gateway Service: the load balancer backend service behind GKE Ingress defaults to a 30-second timeout, which cuts off long streaming responses.
277>
278> Don't apply an egress NetworkPolicy that blocks `169.254.169.254` on a Workload Identity cluster; the pod must reach the metadata server for credentials. The gateway's built-in [SSRF guard](https://code.claude.com/docs/en/claude-apps-gateway-deploy.md#threat-model-summary) is the defense there.
279>
280> The gateway logs a boot warning that the metadata endpoint is reachable and suggests applying an egress NetworkPolicy. Under Workload Identity that warning is expected, because the pod needs the endpoint.
281281
282282**8. Push the gateway URL to developer machines**
283283
claude-code-on-the-web Changed · +2 / -4 lines
#### Share from a Max, Ultra, or Pro account #### Share from a Max or Pro account
from line 4
44
55> [!NOTE]
66>
7> Cloud sessions are available on Pro, Max, and Team plans, and for Enterprise users with premium seats or Chat + Claude Code seats. If [custom roles](https://support.claude.com/en/articles/13930452) govern your access, you also need a role with the cloud sessions permission to start sessions on Anthropic's infrastructure from the browser, apps, or terminal. Ask an Owner to add it to one of your roles at [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).
7> Cloud sessions are available on Pro, Max, Ultra, and Team plans, and for Enterprise users with premium seats or Chat + Claude Code seats. If [custom roles](https://support.claude.com/en/articles/13930452) govern your access, you also need a role with the cloud sessions permission to start sessions on Anthropic's infrastructure from the browser, apps, or terminal. Ask an Owner to add it to one of your roles at [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).
88
99A cloud session is a Claude Code session that runs on cloud infrastructure instead of on your machine. By default it runs on infrastructure Anthropic manages, or on your organization's [self-hosted environment](https://code.claude.com/docs/en/self-hosted-environments) when routed there. The session keeps running after you close your laptop, and you can check on it or steer it from any device. It counts toward your plan's usage limits alongside the rest of your Claude and Claude Code usage, and there's no separate charge for the cloud VM.
1010
from line 338
338338* **Your name**: your account's display name is visible to all recipients with access
339339* **Slack sessions**: [Claude in Slack](https://code.claude.com/docs/en/slack.md) sessions are automatically shared with Team visibility
340340
341#### Share from a Max or Pro account
342
343Sharing works as follows for Max and Pro accounts:
341#### Share from a Max, Ultra, or Pro account
344342
345343* **Visibility options**: **Private** and **Public**. Public visibility makes the session visible to any user logged into claude.ai
346344* **Repository access**: verification isn't enabled by default
claude-projects Changed · +6 / -4 lines
from line 4
44
55> [!NOTE]
66>
7> Projects are in public beta on Pro and Max plans and rolling out gradually. The rollout started with accounts that have used [cloud sessions](https://code.claude.com/docs/en/claude-code-on-the-web.md) and don't have existing projects in claude.ai chat or Cowork. Projects aren't offered on Team or Enterprise plans yet.
7> Projects are in public beta on Pro, Max, and Ultra plans and rolling out gradually. The rollout started with accounts that have used [cloud sessions](https://code.claude.com/docs/en/claude-code-on-the-web.md) and don't have existing projects in claude.ai chat or Cowork. Projects aren't offered on Team or Enterprise plans yet.
88>
99> If you don't see **Projects** in the sidebar at [claude.ai/code](https://claude.ai/code) or in the Code tab of the [desktop app](https://code.claude.com/docs/en/desktop.md), check under **More** there. If it's missing there too, the rollout hasn't reached your account yet. You can [join the waitlist](https://claude.com/form/projects), and see [Run agents in parallel](https://code.claude.com/docs/en/agents.md) for what you can use in the meantime.
1010
from line 74
7474
7575Before you create a project, check your plan, your GitHub setup, and what the work needs to reach:
7676
77* **Plan**: you're on Pro or Max, and **Projects** shows in your sidebar, directly or under **More**. Select **Projects** and check that it offers **New project** or **Get started**.
77* **Plan**: you're on Pro, Max, or Ultra, and **Projects** shows in your sidebar, directly or under **More**. Select **Projects** and check that it offers **New project** or **Get started**.
7878* **GitHub, if the project will work on code**: your code is on github.com rather than GitHub Enterprise Server, GitLab, or Bitbucket, your connected GitHub account has push access to it, and the Claude GitHub App is installed on it. If you connected GitHub with [`/web-setup`](https://code.claude.com/docs/en/web-quickstart#connect-from-your-terminal), that token lets your other cloud sessions reach a repository but isn't enough for a project's cloud threads, which need the Claude GitHub App. [Set up GitHub access](#set-up-github-access) has the steps.
7979* **Network access, secrets, and tools**: for cloud threads, these come from the project's [cloud environment](#choose-an-environment-for-threads). The default environment already reaches [common package registries](https://code.claude.com/docs/en/cloud-environments.md#default-allowed-domains), so check this only if the work needs other domains, a secret, or a tool that isn't preinstalled. If the work needs an MCP server, check that it shows as connected in your [claude.ai connectors](https://claude.ai/customize/connectors).
8080
from line 417
417417
418418Open **Usage** in **Project settings** to see token use by thread and by model, and how much went to the project conversation. To bring it down:
419419
420* A follow-up routed to a thread that has been idle longer than the [cache lifetime](https://code.claude.com/docs/en/prompt-caching.md#cache-lifetime), an hour on Pro and Max within your plan's limits, re-reads that thread's whole conversation before doing anything. For new work, asking Claude to start a fresh thread can use less than reviving a large old one.
420* On Pro, Max, and Ultra within your plan's limits, the [cache lifetime](https://code.claude.com/docs/en/prompt-caching.md#cache-lifetime) is an hour. A thread that has been idle longer than that re-reads its whole conversation before doing anything when a follow-up reaches it. For new work, ask Claude to start a fresh thread, which can use less than reviving a large old one.
421421* For work that doesn't need the largest model, [choose a smaller model or a lower effort level](#choose-models-and-let-claude-manage-context) for threads, the conversation, or both.
422422* Ask Claude in the project conversation to run fewer threads at a time, or to answer small questions itself instead of starting a thread.
423423
from line 425
425425
426426Several Claude Code features let more than one session work at the same time, so running work in parallel is not by itself what a project is for. In a project, Claude starts and tracks the sessions instead of you, and each one starts from the same instructions. This is how each neighboring feature connects to a project:
427427
428* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) is Claude in your team's Slack channels, on Team and Enterprise plans. Anyone in a channel can give it work, everyone in the channel sees and steers it, and it uses connections an admin set up for that channel. A project is yours alone: you're the only one who sends it work or sees its threads, it uses your own GitHub access and connectors, and it's on Pro and Max. [How Claude Tag differs from Cowork and Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) has the side-by-side.
428* **Claude Tag**: [Claude Tag](https://claude.com/docs/claude-tag/overview) is Claude in your team's Slack channels, on Team and Enterprise plans. Anyone in a channel can give it work, everyone in the channel sees and steers it, and it uses connections an admin set up for that channel.
429
430 Projects are on Pro, Max, and Ultra. A project is yours alone: you're the only one who sends it work or sees its threads, and it uses your own GitHub access and connectors. [How Claude Tag differs from Cowork and Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) has the side-by-side.
429431* **Cloud sessions**: every thread is a [cloud session](https://code.claude.com/docs/en/claude-code-on-the-web.md) unless you ask Claude to run it on your machine. Either way, Claude starts and tracks it instead of you. You can also bring the work of a cloud session you started yourself into a project: choose [**Continue in project**](#start-from-an-existing-cloud-session) in that session's sidebar menu.
430432* **Scheduled tasks**: when you ask for scheduled work in a project, Claude creates a [cloud scheduled task](https://code.claude.com/docs/en/routines.md) that runs as threads in that project and appears on its **Scheduled tasks** tab. Scheduled tasks you create outside a project keep working on their own.
431433* **Remote Control**: [Remote Control](https://code.claude.com/docs/en/remote-control.md) connects claude.ai to a Claude Code session running on your machine. When you ask Claude in a project to run a thread on your computer, the project [uses Remote Control to do it](#run-a-thread-on-your-own-computer).
claude-tag Changed · +6 / -6 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 1
1<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark" data-banner-state="visible" data-assistant-state="closed" data-page-mode="none" data-current-path="/"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/docs/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/docs/_next/static/media/PaperMono_Variable.p.4fb029ee.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/docs/_next/static/media/f67ad414ed34149c.p.84166d94.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=e870c19cb781d8a7c7b7d19de53b0a10"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/dark.svg?fit=max&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=80cc0b06d8fd9aeefec8acb226de6866"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=032101c39ca3b1af9f72fc4af8e60d12"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=1b7a9675728f971bc7a4663c7f1ea599"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=c64df4c6d27a6da752aa32c9e0622781"/><link rel="stylesheet" href="/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" data-precedence="next"/><link rel="stylesheet" href="/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/docs/_next/static/chunks/fef82564330d369d.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA"/><script src="/docs/_next/static/chunks/44795504c795ca32.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/58658e6d73dc7cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/c16efd9677d8c131.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/70935e0f797eb3b6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/turbopack-ae68518e704486b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/bdef5cb1dd1fe134.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/1c9ea445a53800b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/f72a09b3cf088304.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/0112e547ab8f7c14.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/5fd1092da631a2eb.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/5ac81d523ab60e9d.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/1d1fd08450a5d051.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/55bd7cebf7c5b56c.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><script src="/docs/_next/static/chunks/46a52e9bfd45b026.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" async=""></script><title>Work with Claude Tag - Claude.ai Documentation</title><meta 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."/><meta name="application-name" content="Claude.ai Documentation"/><meta name="generator" content="Mintlify"/><meta name="msapplication-config" content="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/browserconfig.xml"/><meta name="apple-mobile-web-app-title" content="Claude.ai Documentation"/><meta name="msapplication-TileColor" content="#0E0E0E"/><link rel="canonical" href="https://claude.com/docs/claude-tag/overview"/><link rel="alternate" type="application/xml" href="/docs/sitemap.xml"/><link rel="alternate" type="text/markdown" href="/docs/claude-tag/overview.md"/><meta property="og:title" content="Work with Claude Tag - Claude.ai Documentation"/><meta 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."/><meta property="og:url" content="https://claude.com/docs/claude-tag/overview"/><meta property="og:site_name" content="Claude.ai Documentation"/><meta property="og:image" content="https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+&title=Work+with+Claude+Tag&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.&theme=c937feb09b37748e448783d0&signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Work with Claude Tag - Claude.ai Documentation"/><meta 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."/><meta name="twitter:image" content="https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+&title=Work+with+Claude+Tag&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.&theme=c937feb09b37748e448783d0&signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: light)"/><link rel="apple-touch-icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/apple-touch-icon.png" type="image/png" sizes="180x180"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: light)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link rel="shortcut icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: light)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link rel="shortcut icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: dark)"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><script type="text/javascript">!function(){var b="/docs";
1<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark" data-banner-state="visible" data-assistant-state="closed" data-page-mode="none" data-current-path="/"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" href="/docs/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/docs/_next/static/media/PaperMono_Variable.p.4fb029ee.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/docs/_next/static/media/f67ad414ed34149c.p.84166d94.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/light.svg?fit=max&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=e870c19cb781d8a7c7b7d19de53b0a10"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/1fyDNLAICe3KG6rB/logo/dark.svg?fit=max&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=80cc0b06d8fd9aeefec8acb226de6866"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=032101c39ca3b1af9f72fc4af8e60d12"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-Key.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=1b7a9675728f971bc7a4663c7f1ea599"/><link rel="preload" as="image" href="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/illustrations/Hand-NodePair.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=c64df4c6d27a6da752aa32c9e0622781"/><link rel="stylesheet" href="/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" data-precedence="next"/><link rel="stylesheet" href="/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/docs/_next/static/chunks/fef82564330d369d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP"/><script src="/docs/_next/static/chunks/44795504c795ca32.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/622af22a507c4516.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/c16efd9677d8c131.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/d92d95128e9b5440.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/turbopack-ab6fc140c02a2d5b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/80fcf5f3be2bbbdd.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/e8871f28046fe546.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/e0d99e8f8c302b0c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/0112e547ab8f7c14.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/860ccbeb3af78c27.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/5ac81d523ab60e9d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/c1f04993bafb01e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/55bd7cebf7c5b56c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><script src="/docs/_next/static/chunks/1f40b1577dcaea2e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" async=""></script><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><title>Work with Claude Tag - Claude.ai Documentation</title><meta 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."/><meta name="application-name" content="Claude.ai Documentation"/><meta name="generator" content="Mintlify"/><meta name="msapplication-config" content="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/browserconfig.xml"/><meta name="apple-mobile-web-app-title" content="Claude.ai Documentation"/><meta name="msapplication-TileColor" content="#0E0E0E"/><link rel="canonical" href="https://claude.com/docs/claude-tag/overview"/><link rel="alternate" type="application/xml" href="/docs/sitemap.xml"/><link rel="alternate" type="text/markdown" href="/docs/claude-tag/overview.md"/><meta property="og:title" content="Work with Claude Tag - Claude.ai Documentation"/><meta 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."/><meta property="og:url" content="https://claude.com/docs/claude-tag/overview"/><meta property="og:site_name" content="Claude.ai Documentation"/><meta property="og:image" content="https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+&title=Work+with+Claude+Tag&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.&theme=c937feb09b37748e448783d0&signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Work with Claude Tag - Claude.ai Documentation"/><meta 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."/><meta name="twitter:image" content="https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+&title=Work+with+Claude+Tag&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.&theme=c937feb09b37748e448783d0&signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: light)"/><link rel="apple-touch-icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/apple-touch-icon.png" type="image/png" sizes="180x180"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: light)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link rel="shortcut icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: light)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link rel="shortcut icon" href="/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: dark)"/><script type="text/javascript">!function(){var b="/docs";
22function a(p){if(p==null)return"/";p=""+p;if(""===p)return"/";return"/"===p.charAt(0)?p:"/"+p}
33function u(p){if(p==null)return p;p=""+p;if(!p||p.charAt(p.length-1)==="/")return p.slice(0,-1);return p}
44function i(p){if(p==null)return p;p=""+p;if(6<=p.length&&p.substring(p.length-6)==="/index")return p.substring(0,p.length-6);if("index"===p)return"";return p}
from line 57
5757})();</script><script type="text/javascript">(function(a,b){try{let c=document.querySelector("div#banner")?.innerText;if(c){for(let d=0;d<localStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)&&localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible");return}for(let c=0;c<localStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)&&localStorage.getItem(d))return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible")}catch(a){document.documentElement.setAttribute(b,"hidden")}})(
5858 "bannerDismissed",
5959 "data-banner-state",
60)</script><script src="/docs/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" noModule=""></script><svg aria-hidden="true" style="position:absolute;width:0;height:0;overflow:hidden"><symbol id="mi-mint-1-Sparkle" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Expand" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M10.75 2.75H15.25V7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M15.25 2.75L10.75 7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 10.75V15.25H7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 15.25L7.25 10.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Close" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14 4L4 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4 4L14 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Attach" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M7.75 5V11.75C7.75 12.578 8.422 13.25 9.25 13.25C10.078 13.25 10.75 12.578 10.75 11.75V4.75C10.75 3.093 9.407 1.75 7.75 1.75C6.093 1.75 4.75 3.093 4.75 4.75V11.75C4.75 14.235 6.765 16.25 9.25 16.25C11.735 16.25 13.75 14.235 13.75 11.75V5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Send" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Search" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M15.25 15.25L11.285 11.285" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ChevronRight" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeSystem" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M4.5 15.5L9 14.5L13.5 15.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 11.75V14.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.25 2.75H3.75C2.64543 2.75 1.75 3.64543 1.75 4.75V9.75C1.75 10.8546 2.64543 11.75 3.75 11.75H14.25C15.3546 11.75 16.25 10.8546 16.25 9.75V4.75C16.25 3.64543 15.3546 2.75 14.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeLight" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M9 1.25V2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 3.52002L13.773 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M16.75 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 14.4799L13.773 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 16.75V15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 14.4799L4.227 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M1.25 9H2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 3.52002L4.227 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 13.25C11.3472 13.25 13.25 11.3472 13.25 9C13.25 6.65279 11.3472 4.75 9 4.75C6.65279 4.75 4.75 6.65279 4.75 9C4.75 11.3472 6.65279 13.25 9 13.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeDark" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M13 11.75C9.548 11.75 6.75 8.95201 6.75 5.50001C6.75 4.14801 7.183 2.90101 7.912 1.87801C4.548 2.50601 2 5.45301 2 9.00001C2 13.004 5.246 16.25 9.25 16.25C12.622 16.25 15.448 13.944 16.259 10.826C15.309 11.409 14.196 11.75 13 11.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Menu" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M2.25 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 3.75H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 14.25H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Copy" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Link" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ExternalLink" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThumbsUp" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.25 7.494C5.25 7.014 5.423 6.55 5.736 6.187L10 1.25C10.854 1.677 11.25 2.678 10.92 3.574L9.75 6.75H14.152C15.465 6.75 16.421 7.993 16.085 9.262L14.894 13.762C14.662 14.639 13.868 15.25 12.961 15.25H7.25C6.145 15.25 5.25 14.355 5.25 13.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 6.75H2.75C2.19772 6.75 1.75 7.19772 1.75 7.75V14.25C1.75 14.8023 2.19772 15.25 2.75 15.25H4.25C4.80228 15.25 5.25 14.8023 5.25 14.25V7.75C5.25 7.19772 4.80228 6.75 4.25 6.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThumbsDown" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.25 10.506C5.25 10.986 5.423 11.45 5.736 11.813L10 16.75C10.854 16.323 11.25 15.322 10.92 14.426L9.75 11.25H14.152C15.465 11.25 16.421 10.007 16.085 8.738L14.894 4.238C14.662 3.361 13.868 2.75 12.961 2.75H7.25C6.145 2.75 5.25 3.645 5.25 4.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 2.75H2.75C2.19772 2.75 1.75 3.19772 1.75 3.75V10.25C1.75 10.8023 2.19772 11.25 2.75 11.25H4.25C4.80228 11.25 5.25 10.8023 5.25 10.25V3.75C5.25 3.19772 4.80228 2.75 4.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol></svg></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>(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'&&p!=='dark'&&p!=='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)})();</script><blockquote class="sr-only" data-agent-docs-index="true" aria-hidden="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at:<!-- --> <a href="/docs/llms.txt" tabindex="-1">/docs/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><style>:root{--banner-height:0px!important}</style><script id="_mintlify-banner-script">(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split("/").filter(a=>""!==a&&"global"!==a).slice(0,2)}catch{h=[]}let i=h.map(a=>c.find(b=>b.toLowerCase()===a.toLowerCase())).find(a=>void 0!==a),j=[];for(let c of(i?j.push(i):j.push(b),j.push("global"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,"hidden");let k=!0,l=0;for(;l<localStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b&&b===f){k=!1;break}g&&(a.startsWith(`lang:${g}_`)||!a.startsWith("lang:"))&&(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?"visible":"hidden")}catch(a){console.error(a),document.documentElement.setAttribute(d,"hidden")}})(
60)</script><script src="/docs/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" noModule=""></script><svg aria-hidden="true" style="position:absolute;width:0;height:0;overflow:hidden"><symbol id="mi-mint-1-Sparkle" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.65799 2.99L4.39499 2.569L3.97399 1.306C3.83699 0.898 3.16199 0.898 3.02499 1.306L2.60399 2.569L1.34099 2.99C1.13699 3.058 0.998993 3.249 0.998993 3.464C0.998993 3.679 1.13699 3.87 1.34099 3.938L2.60399 4.359L3.02499 5.622C3.09299 5.826 3.28499 5.964 3.49999 5.964C3.71499 5.964 3.90599 5.826 3.97499 5.622L4.39599 4.359L5.65899 3.938C5.86299 3.87 6.00099 3.679 6.00099 3.464C6.00099 3.249 5.86199 3.058 5.65799 2.99Z" fill="currentColor" stroke="none"></path><path d="M9.5 2.75L11.412 7.587L16.25 9.5L11.412 11.413L9.5 16.25L7.587 11.413L2.75 9.5L7.587 7.587L9.5 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Expand" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M10.75 2.75H15.25V7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M15.25 2.75L10.75 7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 10.75V15.25H7.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.75 15.25L7.25 10.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Close" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14 4L4 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4 4L14 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Attach" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M7.75 5V11.75C7.75 12.578 8.422 13.25 9.25 13.25C10.078 13.25 10.75 12.578 10.75 11.75V4.75C10.75 3.093 9.407 1.75 7.75 1.75C6.093 1.75 4.75 3.093 4.75 4.75V11.75C4.75 14.235 6.765 16.25 9.25 16.25C11.735 16.25 13.75 14.235 13.75 11.75V5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Send" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Search" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M15.25 15.25L11.285 11.285" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ChevronRight" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeSystem" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M4.5 15.5L9 14.5L13.5 15.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 11.75V14.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.25 2.75H3.75C2.64543 2.75 1.75 3.64543 1.75 4.75V9.75C1.75 10.8546 2.64543 11.75 3.75 11.75H14.25C15.3546 11.75 16.25 10.8546 16.25 9.75V4.75C16.25 3.64543 15.3546 2.75 14.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeLight" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M9 1.25V2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 3.52002L13.773 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M16.75 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 14.4799L13.773 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 16.75V15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 14.4799L4.227 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M1.25 9H2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 3.52002L4.227 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 13.25C11.3472 13.25 13.25 11.3472 13.25 9C13.25 6.65279 11.3472 4.75 9 4.75C6.65279 4.75 4.75 6.65279 4.75 9C4.75 11.3472 6.65279 13.25 9 13.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThemeDark" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M13 11.75C9.548 11.75 6.75 8.95201 6.75 5.50001C6.75 4.14801 7.183 2.90101 7.912 1.87801C4.548 2.50601 2 5.45301 2 9.00001C2 13.004 5.246 16.25 9.25 16.25C12.622 16.25 15.448 13.944 16.259 10.826C15.309 11.409 14.196 11.75 13 11.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Menu" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M2.25 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 3.75H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 14.25H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Copy" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-Link" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M8.50001 6.827C8.14801 6.995 7.81801 7.225 7.52701 7.517L7.51701 7.527C6.13601 8.908 6.13601 11.146 7.51701 12.527L9.69201 14.702C11.073 16.083 13.311 16.083 14.692 14.702L14.702 14.692C16.083 13.311 16.083 11.073 14.702 9.692L13.771 8.761" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9.50002 11.173C9.85202 11.005 10.182 10.775 10.473 10.483L10.483 10.473C11.864 9.092 11.864 6.854 10.483 5.473L8.30802 3.298C6.92702 1.917 4.68902 1.917 3.30802 3.298L3.29802 3.308C1.91702 4.689 1.91702 6.927 3.29802 8.308L4.22902 9.239" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ExternalLink" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThumbsUp" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.25 7.494C5.25 7.014 5.423 6.55 5.736 6.187L10 1.25C10.854 1.677 11.25 2.678 10.92 3.574L9.75 6.75H14.152C15.465 6.75 16.421 7.993 16.085 9.262L14.894 13.762C14.662 14.639 13.868 15.25 12.961 15.25H7.25C6.145 15.25 5.25 14.355 5.25 13.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 6.75H2.75C2.19772 6.75 1.75 7.19772 1.75 7.75V14.25C1.75 14.8023 2.19772 15.25 2.75 15.25H4.25C4.80228 15.25 5.25 14.8023 5.25 14.25V7.75C5.25 7.19772 4.80228 6.75 4.25 6.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol><symbol id="mi-mint-1-ThumbsDown" overflow="visible"><svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="inherit" stroke-linecap="round" stroke-linejoin="round" style="overflow:visible"><path d="M5.25 10.506C5.25 10.986 5.423 11.45 5.736 11.813L10 16.75C10.854 16.323 11.25 15.322 10.92 14.426L9.75 11.25H14.152C15.465 11.25 16.421 10.007 16.085 8.738L14.894 4.238C14.662 3.361 13.868 2.75 12.961 2.75H7.25C6.145 2.75 5.25 3.645 5.25 4.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.25 2.75H2.75C2.19772 2.75 1.75 3.19772 1.75 3.75V10.25C1.75 10.8023 2.19772 11.25 2.75 11.25H4.25C4.80228 11.25 5.25 10.8023 5.25 10.25V3.75C5.25 3.19772 4.80228 2.75 4.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></symbol></svg></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>(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'&&p!=='dark'&&p!=='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)})();</script><blockquote class="sr-only" data-agent-docs-index="true" aria-hidden="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at:<!-- --> <a href="/docs/llms.txt" tabindex="-1">/docs/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><style>:root{--banner-height:0px!important}</style><script id="_mintlify-banner-script">(function i(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split("/").filter(a=>""!==a&&"global"!==a).slice(0,2)}catch{h=[]}let i=h.map(a=>c.find(b=>b.toLowerCase()===a.toLowerCase())).find(a=>void 0!==a),j=[];for(let c of(i?j.push(i):j.push(b),j.push("global"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,"hidden");let k=!0,l=0;for(;l<localStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b&&b===f){k=!1;break}g&&(a.startsWith(`lang:${g}_`)||!a.startsWith("lang:"))&&(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?"visible":"hidden")}catch(a){console.error(a),document.documentElement.setAttribute(d,"hidden")}})(
6161 {},
6262 "en",
6363 [],
from line 142
142142 var itemTopRelative = itemRect.top - parentRect.top + parent.scrollTop;
143143 parent.scrollTop = itemTopRelative - parentRect.height / 2 + itemRect.height / 2;
144144 } catch (e) {}
145})();</script></div></div></div></div></div></nav><main id="content-container" class="lg:flex-1 lg:min-w-0"><script 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&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=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-10-05T18:53:22.206Z","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-10-05T18:53:22.206Z","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, personal account, claude tag vs cowork, use cases, public beta","publisher":{"@id":"https://claude.com/#organization"},"isPartOf":{"@id":"https://claude.com/docs#website"}}]}</script><script>document.documentElement.setAttribute('data-page-mode', "wide");</script><style>html{background:rgb(var(--background-light))!important}html.dark{background:rgb(var(--background-dark))!important}html body{background:transparent!important}</style><span class="fixed inset-0 -z-10 pointer-events-none" id="background-color"></span><span class="block absolute dark:hidden inset-0 overflow-hidden pointer-events-none"></span><span class="hidden absolute dark:block inset-0 overflow-hidden pointer-events-none"></span><style data-custom-css-index="0" data-custom-css-path="style.css">/* Anthropic Sans - Static fonts from assets.claude.ai */
145})();</script></div></div></div></div></div></nav><main id="content-container" class="lg:flex-1 lg:min-w-0"><script 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&auto=format&n=1fyDNLAICe3KG6rB&q=85&s=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-10-30T18:06:52.694Z","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-10-30T18:06:52.694Z","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"}}]}</script><script>document.documentElement.setAttribute('data-page-mode', "wide");</script><style>html{background:rgb(var(--background-light))!important}html.dark{background:rgb(var(--background-dark))!important}html body{background:transparent!important}</style><span class="fixed inset-0 -z-10 pointer-events-none" id="background-color"></span><span class="block absolute dark:hidden inset-0 overflow-hidden pointer-events-none"></span><span class="hidden absolute dark:block inset-0 overflow-hidden pointer-events-none"></span><style data-custom-css-index="0" data-custom-css-path="style.css">/* Anthropic Sans - Static fonts from assets.claude.ai */
146146@font-face {
147147 font-family: "Anthropic Sans";
148148 src: url("https://assets.claude.ai/Fonts/AnthropicSans-Text-Regular-Static.otf") format("opentype");
from line 3121
31213121}
31223122</style><!--$--><!--/$--><div class="flex flex-row-reverse gap-12 box-border w-full pt-[calc(10rem+var(--banner-height,2.5rem))] lg:pt-10"><div class="relative grow box-border flex-col w-full mx-auto px-1 lg:pl-[5.7rem] lg:-ml-12 xl:w-[calc(100%-19rem)] xl:min-w-full" data-empty-page-layout="" id="content-area" data-layout-item="content"><header id="header" data-layout-item="page-header" class="relative leading-none @container/page-header"><div class="mt-0.5 space-y-2.5"><div class="eyebrow h-5 text-primary dark:text-primary-light text-sm font-semibold"> </div><div class="flex flex-col sm:flex-row items-start sm:items-center relative gap-2 min-w-0"><h1 id="page-title" class="text-3xl sm:text-4xl text-gray-900 tracking-tight dark:text-gray-200 [overflow-wrap:anywhere] font-semibold">Work with Claude Tag</h1><div id="page-context-menu" class="items-center shrink-0 min-w-[156px] justify-end ml-auto hidden @[520px]/page-header:flex"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-4 shrink-0"><use href="#mi-mint-1-Copy"></use></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_1ms8qqelubqoqe9qj4npfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&>span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><use href="#mi-mint-1-ChevronRight"></use></svg></button></div></div></div><div class="mt-2 text-lg prose prose-gray dark:prose-invert [&>*]:[overflow-wrap:anywhere]"><p>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.</p></div><div id="page-context-menu" class="flex items-center shrink-0 min-w-[156px] mt-3 @[520px]/page-header:hidden"><button id="page-context-menu-button" class="rounded-l-xl px-3 text-gray-700 dark:text-gray-300 py-1.5 border border-gray-200 dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5 border-r-0" aria-label="Copy page"><div class="flex items-center gap-2 text-sm text-center font-medium"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-4 shrink-0"><use href="#mi-mint-1-Copy"></use></svg><span class="grid"><span aria-hidden="true" class="invisible col-start-1 row-start-1">Copy page</span><span class="col-start-1 row-start-1">Copy page</span></span></div></button><button type="button" tabindex="0" aria-haspopup="menu" aria-expanded="false" id="base-ui-_R_3coqqelubqoqe9qj4npfiutb_" aria-label="More actions" class="group disabled:pointer-events-none [&>span]:line-clamp-1 overflow-hidden group focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-primary dark:focus-visible:outline-primary-light py-0.5 gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 rounded-none rounded-r-xl border flex items-center justify-center h-[34px] border-gray-200 aspect-square dark:border-white/[0.07] bg-background-light dark:bg-background-dark hover:bg-gray-600/5 dark:hover:bg-gray-200/5"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90"><use href="#mi-mint-1-ChevronRight"></use></svg></button></div></header><div class="mdx-content @container/columns-container relative mt-8 prose prose-gray dark:prose-invert [contain:inline-size] isolate empty:hidden mb-14" data-page-title="Work with Claude Tag" data-page-href="/claude-tag/overview" id="content"><div class="tm-hero"><div class="tm-hero-copy"><span class="tm-pill">Public Beta</span><p class="tm-hero-title">Tag <span class="tm-hero-at">@Claude</span> in. Get results back in the thread.</p><p class="tm-hero-lede">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.</p><div class="tm-hero-ctas"><a class="link tm-btn tm-btn-dark" href="/docs/claude-tag/admins/setup-overview">I’m setting it up →</a><a class="tm-btn tm-btn-light" href="#put-claude-tag-to-work">Use it in your channel ↓</a></div></div><div class="tm-slack"><div class="tm-slack-head"><span class="tm-slack-chan"># platform-eng</span><span class="tm-slack-members">38 members</span></div><div class="tm-slack-body"><div class="tm-msg"><span class="tm-avatar tm-avatar-user" aria-hidden="true">D</span><div class="tm-msg-col"><div class="tm-msg-meta"><span class="tm-msg-name">Dana</span><span class="tm-msg-time">2:14 PM</span></div><p>checkout has felt slow all morning — anyone else seeing it?</p></div></div><div class="tm-msg"><span class="tm-avatar tm-avatar-user tm-avatar-b" aria-hidden="true">L</span><div class="tm-msg-col"><div class="tm-msg-meta"><span class="tm-msg-name">Leo</span><span class="tm-msg-time">2:15 PM</span></div><p>same. <span class="tm-mention">@Claude</span> can you investigate? Compare latency against this morning’s deploy and find what’s causing it.</p></div></div><div class="tm-msg"><span class="tm-avatar tm-avatar-claude"><img src="https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=032101c39ca3b1af9f72fc4af8e60d12" alt="" 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&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=cfd209bc25a4794740c6ce203eb3cbd5 280w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=560&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=56bcce983cd8bde205683364e24e1685 560w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=840&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=336614fa9447c4f4f985d322bb667df7 840w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1100&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=fb5b4831af3174e5b49abee42199b5fc 1100w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=1650&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=0244fb0eb9bb7dd0cf38fddeb44c41e0 1650w, https://mintcdn.com/claude-ai/5JFKyLlO7sHMMf5J/images/claude-tag/logo/clay-spark.svg?w=2500&fit=max&auto=format&n=5JFKyLlO7sHMMf5J&q=85&s=5b9c8f67ae332a9922f449534d904bf7 2500w"/></span><div class="tm-msg-col"><div class="tm-msg-meta"><span class="tm-msg-name">Claude</span><span class="tm-msg-app">APP</span><span class="tm-msg-time">2:15 PM</span></div><p>On it. I’ll compare latency before and after the deploy, track down the cause, and report back here.</p><div class="tm-tasklist"><span class="tm-task-done"><span class="tm-sr">Done: </span>Pulled p99 latency from Datadog</span><span class="tm-task-done"><span class="tm-sr">Done: </span>Diffed deploy 4f2c1 against main</span><span class="tm-task-done"><span class="tm-sr">Done: </span>Reproduced the slow query locally</span><span class="tm-task-doing"><span class="tm-sr">In progress: </span>Opening a pull request with the fix…</span></div></div></div></div></div></div>
31233123<h2 class="flex whitespace-pre-wrap group font-semibold" id="plans-that-include-claude-tag"><div class="absolute" tabindex="-1"><a href="#plans-that-include-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"><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 class="cursor-pointer">Plans that include Claude Tag</span></h2>
3124<span data-as="p">Claude Tag is available on Team and Enterprise plans, on Anthropic’s first-party service. It isn’t available on individual plans (Free, Pro, or Max), or for third-party deployments. To use it, your organization pairs its Slack workspace with its Claude organization; see <a class="link" href="/docs/claude-tag/admins/setup-overview">the setup overview</a> for the full prerequisites.</span>
3124<span data-as="p">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 <a class="link" href="/docs/claude-tag/admins/setup-overview">the setup overview</a> for the full prerequisites.</span>
31253125<span data-as="p">If you’re choosing between Claude products for Slack-shaped work, <a class="link" href="/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code">how Claude Tag differs from Cowork and Claude Code</a> compares them directly: team work in shared channels is Claude Tag; personal work on your own files is Cowork or Claude Code.</span>
31263126<h3 class="flex whitespace-pre-wrap group font-semibold" id="who-needs-a-claude-seat"><div class="absolute" tabindex="-1"><a href="#who-needs-a-claude-seat" 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"><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 class="cursor-pointer">Who needs a Claude seat</span></h3>
31273127<span data-as="p">Slack users don’t each need a Claude seat to work with Claude in channels.</span>
from line 3170
31703170<span data-as="p"><a class="link" href="/docs/claude-tag/admins/setup-overview">Set up Claude Tag</a> 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.</span>
31713171<div class="tm-strip"><div class="tm-strip-head"><p class="tm-strip-title">Security review</p><a class="link tm-strip-all" href="/docs/claude-tag/concepts/security-and-data">Security and data handling</a></div><p>The security model, what admins can and can’t restrict, audit trails, and network requirements.</p></div>
31723172<h2 class="flex whitespace-pre-wrap group font-semibold" id="where-to-start-with-claude-tag"><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"><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 class="cursor-pointer">Where to start with Claude Tag</span></h2>
3173<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_ceaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_ceaqqelubqoqe9qj4npfiutb_" 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_ceaqqelubqoqe9qj4npfiutbH1_" 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_keaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_keaqqelubqoqe9qj4npfiutb_" 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_keaqqelubqoqe9qj4npfiutbH1_" 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_seaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_seaqqelubqoqe9qj4npfiutb_" 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_seaqqelubqoqe9qj4npfiutbH1_" 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_14eaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_14eaqqelubqoqe9qj4npfiutb_" 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_14eaqqelubqoqe9qj4npfiutbH1_" 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 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" href="/docs/claude-tag/concepts/how-it-works"><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"></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 class="select-none" style="-webkit-touch-callout:none" href="/docs"><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&auto=format&n=1fyDNLAICe3KG6rB&q=85&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&auto=format&n=1fyDNLAICe3KG6rB&q=85&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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");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><!--$?--><template id="B:0"></template><!--/$--></div></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/docs/_next/static/chunks/fef82564330d369d.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA" id="_R_" async=""></script><div hidden id="S:0"><div data-assistant-sheet-container="" class="sticky shrink-0 z-22 bg-background-light dark:bg-background-dark mt-(--banner-height,0px) top-(--banner-height,0px) h-[calc(100vh-var(--banner-height,0px))] max-lg:hidden print:hidden" style="width:var(--assistant-sheet-width, 0px);overflow:hidden"><div class="absolute left-0 top-0 bottom-0 w-px z-10 cursor-col-resize after:content-[""] after:absolute after:inset-y-0 after:-inset-x-2 after:select-none bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"></div><div id="chat-assistant-sheet" class="flex flex-col overflow-hidden shrink-0 relative h-full bg-background-light dark:bg-background-dark chat-assistant-sheet" aria-hidden="true"><div class="w-full flex flex-col flex-1 min-h-0 lg:pt-3"><div class="chat-assistant-sheet-header flex items-center justify-between pb-3 px-4"><div class="flex items-center gap-2"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-5 text-primary dark:text-primary-light shrink-0"><use href="#mi-mint-1-Sparkle"></use></svg><span class="font-medium text-gray-900 dark:text-gray-100">Assistant</span></div><div class="flex items-center gap-1"><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Maximize assistant panel"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-4 sm:size-3.5 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><use href="#mi-mint-1-Expand"></use></svg></button><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Close assistant panel"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-[20px] sm:size-4 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><use href="#mi-mint-1-Close"></use></svg></button></div></div><div id="chat-content" class="chat-assistant-sheet-content flex flex-col-reverse flex-1 overflow-y-auto relative px-5 min-h-0"><div class="grow"></div><div class="h-full flex flex-col justify-between"><div class="mt-4 flex flex-col items-center text-sm"><div class="mx-8 text-center text-gray-400 dark:text-gray-600 text-xs chat-assistant-disclaimer-text">Responses are generated using AI and may contain mistakes.</div></div></div></div><div class="px-4 pb-4 shrink-0"><div class=""><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 pb-0!" style="resize:none" rows="2"></textarea></div><div class="flex items-center justify-between px-2 pb-2"><input type="file" accept="image/*,.pdf,.js,.jsx,.ts,.tsx,.mjs,.cjs,.md,.mdx,.json,.html,.css,.py,.csv,.txt,.yaml,.yml,.xml,.sql,.sh,.bash,.zsh,.graphql,.gql,.toml,.env,.go,.rs,.rb,.java,.kt,.swift,.c,.cpp,.cc,.h,.hpp,.cs,.php,.dart,.lua,.r,.scala,.ini,.cfg,.conf,.log,.dockerfile,.makefile,.gitignore" multiple="" class="hidden"/><button type="button" class="p-1 rounded-lg text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-white/10" aria-label="Add attachment"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" focusable="false" class="size-3.5 shrink-0"><use href="#mi-mint-1-Attach"></use></svg></button><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" 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></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
3174$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\nb:I[168027,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"default\"]\n:HL[\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"style\"]\n:HL[\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"style\"]\n:HL[\"/docs/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/docs/_next/static/media/PaperMono_Variable.p.4fb029ee.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/docs/_next/static/media/f67ad414ed34149c.p.84166d94.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"1VbSPqsIUE9aEhhWzFr7w\",\"p\":\"/docs\",\"c\":[\"\",\"_sites\",\"claude-ai\",\"claude-tag\",\"overview\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"claude-ai\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"claude-tag/overview\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark\",\"data-banner-state\":\"visible\",\"data-assistant-state\":\"closed\",\"data-page-mode\":\"none\",\"data-current-path\":\"/\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){var b=\\\"/docs\\\";\\nfunction a(p){if(p==null)return\\\"/\\\";p=\\\"\\\"+p;if(\\\"\\\"===p)return\\\"/\\\";return\\\"/\\\"===p.charAt(0)?p:\\\"/\\\"+p}\\nfunction u(p){if(p==null)return p;p=\\\"\\\"+p;if(!p||p.charAt(p.length-1)===\\\"/\\\")return p.slice(0,-1);return p}\\nfunction i(p){if(p==null)return p;p=\\\"\\\"+p;if(6\u003c=p.length\u0026\u0026p.substring(p.length-6)===\\\"/index\\\")return p.substring(0,p.length-6);if(\\\"index\\\"===p)return\\\"\\\";return p}\\nvar p=(location.pathname||\\\"\\\").split(\\\"?\\\")[0].split(\\\"#\\\")[0]||\\\"\\\";\\nif(b)if(p===b)p=\\\"\\\";else if(0===p.indexOf(b+\\\"/\\\"))p=p.substring(b.length);\\np=a(p);p=u(p);p=i(p);p=\\\"\\\"===p||\\\"index\\\"===p?\\\"/\\\":a(p);\\ndocument.documentElement.setAttribute(\\\"data-current-path\\\",p);\\n}();\"}}],\"$undefined\",[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(() =\u003e {\\n const isIOS =\\n /iP(hone|ad|od)/.test(navigator.userAgent) ||\\n (/Macintosh/.test(navigator.userAgent) \u0026\u0026 navigator.maxTouchPoints \u003e 1);\\n if (!isIOS) return;\\n const apply = () =\u003e {\\n for (const meta of document.querySelectorAll('meta[name=\\\"viewport\\\"]')) {\\n const content = meta.getAttribute('content') || '';\\n if (!content.includes('maximum-scale')) {\\n meta.setAttribute('content', content + ', maximum-scale=1');\\n }\\n }\\n };\\n apply();\\n new MutationObserver(apply).observe(document.head, {\\n childList: true,\\n subtree: true,\\n attributes: true,\\n attributeFilter: ['content'],\\n });\\n})();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){\\nfunction read(){try{\\nvar e=performance.getEntriesByType?performance.getEntriesByType(\\\"navigation\\\"):[];\\nvar st=(e[0]\u0026\u0026e[0].serverTiming)||[];\\nvar g={};\\nfor(var i=0;i\u003cst.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\\nif(n===\\\"country\\\")g.country=d;else if(n===\\\"region\\\")g.region=d;else if(n===\\\"continent\\\")g.continent=d;}\\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\\n}catch(x){}}\\nread();document.addEventListener(\\\"DOMContentLoaded\\\",read);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){try{\\nvar w=window;w.mintlify=w.mintlify||{};\\nvar q=w.mintlify.__apiPlaygroundInputsQueue;\\nif(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}\\nw.mintlify.api=w.mintlify.api||{};\\nw.mintlify.api.playground=w.mintlify.api.playground||{};\\nif(typeof w.mintlify.api.playground.setServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.setServerVariables=function(v){q.push({type:\\\"set\\\",variables:v});};\\n}\\nif(typeof w.mintlify.api.playground.clearServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.clearServerVariables=function(){q.push({type:\\\"clear\\\"});};\\n}\\n}catch(e){}}();\"}}],\"$L2\",\"$L3\",false]}],\"$L4\"]}]]}],{\"children\":[\"%5Fsites\",\"$L5\",{\"children\":[[\"subdomain\",\"claude-ai\",\"d\"],\"$L6\",{\"children\":[\"(multitenant)\",\"$L7\",{\"children\":[[\"slug\",\"claude-tag/overview\",\"oc\"],\"$L8\",{\"children\":[\"__PAGE__\",\"$L9\",{},null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$La\",false]],\"m\":\"$undefined\",\"G\":[\"$b\",[\"$Lc\",\"$Ld\"]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"e:I[667786,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"MintlifyApiPlaygroundInputsInit\"]\nf:I[339756,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"default\"]\n10:I[556357,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bdef5cb1dd1fe134.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"default\"]\n11:I[837457,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"12:I[894587,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"13:I[152823,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"ColorVariables\"]\n"])</script><script>self.__next_f.push([1,"14:I[531961,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"FontScript\"]\n"])</script><script>self.__next_f.push([1,"15:I[649328,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"RoundedVariables\"]\n"])</script><script>self.__next_f.push([1,"16:I[702910,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"RecommendedPagesList\"]\n"])</script><script>self.__next_f.push([1,"17:I[570420,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"DataCurrentPathUpdater\"]\n"])</script><script>self.__next_f.push([1,"18:I[172816,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"MintlifyNavigateEvents\"]\n"])</script><script>self.__next_f.push([1,"19:I[341175,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1c9ea445a53800b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"default\"]\n1c:I[897367,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"OutletBoundary\"]\n1e:I[711533,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"AsyncMetadataOutlet\"]\n20:I[897367,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"ViewportBoundary\"]\n22:I[897367,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"MetadataBoundary\"]\n23:\"$Sreact.suspense\"\n2:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){\\nif(typeof CSS===\\\"undefined\\\"||!(\\\"registerProperty\\\" in CSS))return;\\nif(CSS.supports\u0026\u0026CSS.supports(\\\"-webkit-backdrop-filter:none\\\"))return;\\nvar n=[\\\"--scroll-area-overflow-x-start\\\",\\\"--scroll-area-overflow-x-end\\\",\\\"--scroll-area-overflow-y-start\\\",\\\"--scroll-area-overflow-y-end\\\"];\\nvar d={\\\"syntax\\\":\\\"\u003clength\u003e\\\",\\\"inherits\\\":false,\\\"initialValue\\\":\\\"0px\\\"};\\nfor(var i=0;i\u003cn.length;i++){try{CSS.registerProperty({name:n[i],syntax:d.syntax,inherits:d.inherits,initialValue:d.initialValue})}catch(e){}}\\n})();\"}}]\n"])</script><script>self.__next_f.push([1,"3:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(a,b){try{let c=document.querySelector(\\\"div#banner\\\")?.innerText;if(c){for(let d=0;d\u003clocalStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)\u0026\u0026localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\");return}for(let c=0;c\u003clocalStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)\u0026\u0026localStorage.getItem(d))return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\")}catch(a){document.documentElement.setAttribute(b,\\\"hidden\\\")}})(\\n \\\"bannerDismissed\\\",\\n \\\"data-banner-state\\\",\\n)\"}}]\n"])</script><script>self.__next_f.push([1,"4:[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[[\"$\",\"$Le\",null,{}],false,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$10\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/bdef5cb1dd1fe134.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}]],\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L16\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],false,[\"$\",\"$L17\",null,{}],[\"$\",\"$L18\",null,{}]]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$19\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/1c9ea445a53800b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true}]],\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L16\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L1a\"]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1b\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/f72a09b3cf088304.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/0112e547ab8f7c14.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/5fd1092da631a2eb.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/docs/_next/static/chunks/5ac81d523ab60e9d.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/docs/_next/static/chunks/1d1fd08450a5d051.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/docs/_next/static/chunks/55bd7cebf7c5b56c.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1c\",null,{\"children\":[\"$L1d\",[\"$\",\"$L1e\",null,{\"promise\":\"$@1f\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L20\",null,{\"children\":\"$L21\"}],null],[\"$\",\"$L22\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$23\",null,{\"fallback\":null,\"children\":\"$L24\"}]}]}]]}]\nc:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nd:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"21:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n1d:null\n"])</script><script>self.__next_f.push([1,"1f:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Work with Claude Tag - Claude.ai Documentation\"}],[\"$\",\"meta\",\"1\",{\"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.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"application-name\",\"content\":\"Claude.ai Documentation\"}],[\"$\",\"meta\",\"3\",{\"name\":\"generator\",\"content\":\"Mintlify\"}],[\"$\",\"meta\",\"4\",{\"name\":\"msapplication-config\",\"content\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/browserconfig.xml\"}],[\"$\",\"meta\",\"5\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Claude.ai Documentation\"}],[\"$\",\"meta\",\"6\",{\"name\":\"msapplication-TileColor\",\"content\":\"#0E0E0E\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://claude.com/docs/claude-tag/overview\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"application/xml\",\"href\":\"/docs/sitemap.xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"/docs/claude-tag/overview.md\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Work with Claude Tag - Claude.ai Documentation\"}],[\"$\",\"meta\",\"11\",{\"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.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://claude.com/docs/claude-tag/overview\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"Claude.ai Documentation\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image\",\"content\":\"https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+\u0026title=Work+with+Claude+Tag\u0026description=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.\u0026theme=c937feb09b37748e448783d0\u0026signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:title\",\"content\":\"Work with Claude Tag - Claude.ai Documentation\"}],[\"$\",\"meta\",\"20\",{\"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.\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image\",\"content\":\"https://claude-ai.mintlify.app/_mintlify/api/og/v2?division=+\u0026title=Work+with+Claude+Tag\u0026description=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.\u0026theme=c937feb09b37748e448783d0\u0026signature=2a34d181dc1df9166a2522a00ab3d9f3a1c1fa14205dd085f8c48b5252991e1e\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"25\",{\"rel\":\"apple-touch-icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/apple-touch-icon.png\",\"type\":\"image/png\",\"sizes\":\"180x180\",\"media\":\"$undefined\"}],[\"$\",\"link\",\"26\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"27\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: light)\"}],\"$L25\",\"$L26\",\"$L27\",\"$L28\",\"$L29\",\"$L2a\"],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"24:\"$1f:metadata\"\n"])</script><script>self.__next_f.push([1,"2b:I[27201,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"IconMark\"]\n25:[\"$\",\"link\",\"28\",{\"rel\":\"shortcut icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: light)\"}]\n26:[\"$\",\"link\",\"29\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: dark)\"}]\n27:[\"$\",\"link\",\"30\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: dark)\"}]\n28:[\"$\",\"link\",\"31\",{\"rel\":\"icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: dark)\"}]\n29:[\"$\",\"link\",\"32\",{\"rel\":\"shortcut icon\",\"href\":\"/docs/_mintlify/favicons/claude-ai/zHw4o4W7dZma2XXV/_generated/favicon-dark/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: dark)\"}]\n2a:[\"$\",\"$L2b\",\"33\",{}]\n"])</script><script>self.__next_f.push([1,"2c:I[172816,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"MintlifyNavigateBasePath\"]\n"])</script><script>self.__next_f.push([1,"2d:I[707934,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"WebMcpRegistration\"]\n"])</script><script>self.__next_f.push([1,"2e:I[590280,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"LivePreviewProvider\"]\n"])</script><script>self.__next_f.push([1,"2f:I[973254,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/a28d8f95ce50e6de.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/fa044135c609eee2.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/06dce3b10e0775d9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/de1844e894616c9b.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/bcb466e1574eea88.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/ff26d011573ca97e.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\"],\"LivePreviewFavicon\"]\n"])</script><script>self.__next_f.push([1,"30:I[197336,[\"/docs/_next/static/chunks/d4a29adf7ca704f5.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_FkNAv7zfpRP8FoAWc7Cmt6pKDMvA\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=d
3173<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_ceaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/gear.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_ceaqqelubqoqe9qj4npfiutb_" 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_ceaqqelubqoqe9qj4npfiutbH1_" 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_keaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/paper-plane.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_keaqqelubqoqe9qj4npfiutb_" 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_keaqqelubqoqe9qj4npfiutbH1_" 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_seaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/diagram-project.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_seaqqelubqoqe9qj4npfiutb_" 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_seaqqelubqoqe9qj4npfiutbH1_" 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_14eaqqelubqoqe9qj4npfiutb_" 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 [&>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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/regular/list.svg");mask-repeat:no-repeat;mask-position:center"></svg></div><div class="w-full"><h2 id="_R_14eaqqelubqoqe9qj4npfiutb_" 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_14eaqqelubqoqe9qj4npfiutbH1_" 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 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" href="/docs/claude-tag/concepts/how-it-works"><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"></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 class="select-none" style="-webkit-touch-callout:none" href="/docs"><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&auto=format&n=1fyDNLAICe3KG6rB&q=85&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&auto=format&n=1fyDNLAICe3KG6rB&q=85&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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/x-twitter.svg");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("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url("https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/brands/linkedin.svg");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><!--$?--><template id="B:0"></template><!--/$--></div></div><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/docs/_next/static/chunks/fef82564330d369d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP" id="_R_" async=""></script><div hidden id="S:0"><div data-assistant-sheet-container="" class="sticky shrink-0 z-22 bg-background-light dark:bg-background-dark mt-(--banner-height,0px) top-(--banner-height,0px) h-[calc(100vh-var(--banner-height,0px))] max-lg:hidden print:hidden" style="width:var(--assistant-sheet-width, 0px);overflow:hidden"><div class="absolute left-0 top-0 bottom-0 w-px z-10 cursor-col-resize after:content-[""] after:absolute after:inset-y-0 after:-inset-x-2 after:select-none bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"></div><div id="chat-assistant-sheet" class="flex flex-col overflow-hidden shrink-0 relative h-full bg-background-light dark:bg-background-dark chat-assistant-sheet" aria-hidden="true"><div class="w-full flex flex-col flex-1 min-h-0 lg:pt-3"><div class="chat-assistant-sheet-header flex items-center justify-between pb-3 px-4"><div class="flex items-center gap-2"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" class="size-5 text-primary dark:text-primary-light shrink-0"><use href="#mi-mint-1-Sparkle"></use></svg><span class="font-medium text-gray-900 dark:text-gray-100">Assistant</span></div><div class="flex items-center gap-1"><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Maximize assistant panel"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-4 sm:size-3.5 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><use href="#mi-mint-1-Expand"></use></svg></button><button class="group hover:bg-gray-100 dark:hover:bg-white/10 p-1.5 rounded-lg" aria-label="Close assistant panel"><svg aria-hidden="true" width="18" height="18" stroke-width="2" focusable="false" class="size-[20px] sm:size-4 text-gray-500 group-hover:text-gray-700 dark:group-hover:text-gray-300 shrink-0"><use href="#mi-mint-1-Close"></use></svg></button></div></div><div id="chat-content" class="chat-assistant-sheet-content flex flex-col-reverse flex-1 overflow-y-auto relative px-5 min-h-0"><div class="grow"></div><div class="h-full flex flex-col justify-between"><div class="mt-4 flex flex-col items-center text-sm"><div class="mx-8 text-center text-gray-400 dark:text-gray-600 text-xs chat-assistant-disclaimer-text">Responses are generated using AI and may contain mistakes.</div></div></div></div><div class="px-4 pb-4 shrink-0"><div class=""><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 pb-0!" style="resize:none" rows="2"></textarea></div><div class="flex items-center justify-between px-2 pb-2"><input type="file" accept="image/*,.pdf,.js,.jsx,.ts,.tsx,.mjs,.cjs,.md,.mdx,.json,.html,.css,.py,.csv,.txt,.yaml,.yml,.xml,.sql,.sh,.bash,.zsh,.graphql,.gql,.toml,.env,.go,.rs,.rb,.java,.kt,.swift,.c,.cpp,.cc,.h,.hpp,.cs,.php,.dart,.lua,.r,.scala,.ini,.cfg,.conf,.log,.dockerfile,.makefile,.gitignore" multiple="" class="hidden"/><button type="button" class="p-1 rounded-lg text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-white/10" aria-label="Add attachment"><svg aria-hidden="true" width="18" height="18" stroke-width="1.5" focusable="false" class="size-3.5 shrink-0"><use href="#mi-mint-1-Attach"></use></svg></button><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" 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></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
3174$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\nb:I[168027,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n:HL[\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"style\"]\n:HL[\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"style\"]\n:HL[\"/docs/_next/static/media/83afe278b6a6bb3c.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/docs/_next/static/media/PaperMono_Variable.p.4fb029ee.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/docs/_next/static/media/f67ad414ed34149c.p.84166d94.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"dQzjctBVRfY02tSsNQIzP\",\"p\":\"/docs\",\"c\":[\"\",\"_sites\",\"claude-ai\",\"claude-tag\",\"overview\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"claude-ai\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"claude-tag/overview\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark\",\"data-banner-state\":\"visible\",\"data-assistant-state\":\"closed\",\"data-page-mode\":\"none\",\"data-current-path\":\"/\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){var b=\\\"/docs\\\";\\nfunction a(p){if(p==null)return\\\"/\\\";p=\\\"\\\"+p;if(\\\"\\\"===p)return\\\"/\\\";return\\\"/\\\"===p.charAt(0)?p:\\\"/\\\"+p}\\nfunction u(p){if(p==null)return p;p=\\\"\\\"+p;if(!p||p.charAt(p.length-1)===\\\"/\\\")return p.slice(0,-1);return p}\\nfunction i(p){if(p==null)return p;p=\\\"\\\"+p;if(6\u003c=p.length\u0026\u0026p.substring(p.length-6)===\\\"/index\\\")return p.substring(0,p.length-6);if(\\\"index\\\"===p)return\\\"\\\";return p}\\nvar p=(location.pathname||\\\"\\\").split(\\\"?\\\")[0].split(\\\"#\\\")[0]||\\\"\\\";\\nif(b)if(p===b)p=\\\"\\\";else if(0===p.indexOf(b+\\\"/\\\"))p=p.substring(b.length);\\np=a(p);p=u(p);p=i(p);p=\\\"\\\"===p||\\\"index\\\"===p?\\\"/\\\":a(p);\\ndocument.documentElement.setAttribute(\\\"data-current-path\\\",p);\\n}();\"}}],\"$undefined\",[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(() =\u003e {\\n const isIOS =\\n /iP(hone|ad|od)/.test(navigator.userAgent) ||\\n (/Macintosh/.test(navigator.userAgent) \u0026\u0026 navigator.maxTouchPoints \u003e 1);\\n if (!isIOS) return;\\n const apply = () =\u003e {\\n for (const meta of document.querySelectorAll('meta[name=\\\"viewport\\\"]')) {\\n const content = meta.getAttribute('content') || '';\\n if (!content.includes('maximum-scale')) {\\n meta.setAttribute('content', content + ', maximum-scale=1');\\n }\\n }\\n };\\n apply();\\n new MutationObserver(apply).observe(document.head, {\\n childList: true,\\n subtree: true,\\n attributes: true,\\n attributeFilter: ['content'],\\n });\\n})();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){\\nfunction read(){try{\\nvar e=performance.getEntriesByType?performance.getEntriesByType(\\\"navigation\\\"):[];\\nvar st=(e[0]\u0026\u0026e[0].serverTiming)||[];\\nvar g={};\\nfor(var i=0;i\u003cst.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\\nif(n===\\\"country\\\")g.country=d;else if(n===\\\"region\\\")g.region=d;else if(n===\\\"continent\\\")g.continent=d;}\\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\\n}catch(x){}}\\nread();document.addEventListener(\\\"DOMContentLoaded\\\",read);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){try{\\nvar w=window;w.mintlify=w.mintlify||{};\\nvar q=w.mintlify.__apiPlaygroundInputsQueue;\\nif(!Array.isArray(q)){q=[];w.mintlify.__apiPlaygroundInputsQueue=q;}\\nw.mintlify.api=w.mintlify.api||{};\\nw.mintlify.api.playground=w.mintlify.api.playground||{};\\nif(typeof w.mintlify.api.playground.setServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.setServerVariables=function(v){q.push({type:\\\"set\\\",variables:v});};\\n}\\nif(typeof w.mintlify.api.playground.clearServerVariables!==\\\"function\\\"){\\nw.mintlify.api.playground.clearServerVariables=function(){q.push({type:\\\"clear\\\"});};\\n}\\n}catch(e){}}();\"}}],\"$L2\",\"$L3\",false]}],\"$L4\"]}]]}],{\"children\":[\"%5Fsites\",\"$L5\",{\"children\":[[\"subdomain\",\"claude-ai\",\"d\"],\"$L6\",{\"children\":[\"(multitenant)\",\"$L7\",{\"children\":[[\"slug\",\"claude-tag/overview\",\"oc\"],\"$L8\",{\"children\":[\"__PAGE__\",\"$L9\",{},null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$La\",false]],\"m\":\"$undefined\",\"G\":[\"$b\",[\"$Lc\",\"$Ld\"]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"e:I[667786,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"MintlifyApiPlaygroundInputsInit\"]\nf:I[339756,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n10:I[556357,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/80fcf5f3be2bbbdd.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n11:I[837457,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"12:I[894587,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"ThemeProvider\"]\n"])</script><script>self.__next_f.push([1,"13:I[152823,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"ColorVariables\"]\n"])</script><script>self.__next_f.push([1,"14:I[531961,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"FontScript\"]\n"])</script><script>self.__next_f.push([1,"15:I[649328,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"RoundedVariables\"]\n"])</script><script>self.__next_f.push([1,"16:I[702910,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"RecommendedPagesList\"]\n"])</script><script>self.__next_f.push([1,"17:I[570420,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"DataCurrentPathUpdater\"]\n"])</script><script>self.__next_f.push([1,"18:I[172816,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"MintlifyNavigateEvents\"]\n"])</script><script>self.__next_f.push([1,"19:I[341175,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e8871f28046fe546.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n1c:I[897367,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"OutletBoundary\"]\n1e:I[711533,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"AsyncMetadataOutlet\"]\n20:I[897367,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"ViewportBoundary\"]\n22:I[897367,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"MetadataBoundary\"]\n23:\"$Sreact.suspense\"\n2:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){\\nif(typeof CSS===\\\"undefined\\\"||!(\\\"registerProperty\\\" in CSS))return;\\nif(CSS.supports\u0026\u0026CSS.supports(\\\"-webkit-backdrop-filter:none\\\"))return;\\nvar n=[\\\"--scroll-area-overflow-x-start\\\",\\\"--scroll-area-overflow-x-end\\\",\\\"--scroll-area-overflow-y-start\\\",\\\"--scroll-area-overflow-y-end\\\"];\\nvar d={\\\"syntax\\\":\\\"\u003clength\u003e\\\",\\\"inherits\\\":false,\\\"initialValue\\\":\\\"0px\\\"};\\nfor(var i=0;i\u003cn.length;i++){try{CSS.registerProperty({name:n[i],syntax:d.syntax,inherits:d.inherits,initialValue:d.initialValue})}catch(e){}}\\n})();\"}}]\n"])</script><script>self.__next_f.push([1,"3:[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(a,b){try{let c=document.querySelector(\\\"div#banner\\\")?.innerText;if(c){for(let d=0;d\u003clocalStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)\u0026\u0026localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\");return}for(let c=0;c\u003clocalStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)\u0026\u0026localStorage.getItem(d))return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\")}catch(a){document.documentElement.setAttribute(b,\\\"hidden\\\")}})(\\n \\\"bannerDismissed\\\",\\n \\\"data-banner-state\\\",\\n)\"}}]\n"])</script><script>self.__next_f.push([1,"4:[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[[\"$\",\"$Le\",null,{}],false,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$10\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/80fcf5f3be2bbbdd.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}]],\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L16\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],false,[\"$\",\"$L17\",null,{}],[\"$\",\"$L18\",null,{}]]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$19\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/e8871f28046fe546.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true}]],\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"$L13\",null,{}],[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n --primary: 17 120 102;\\n --primary-light: 74 222 128;\\n --primary-dark: 22 101 52;\\n --background-light: 255 255 255;\\n --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L16\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L1a\"]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lf\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L11\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1b\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/docs/_next/static/chunks/e0d99e8f8c302b0c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/docs/_next/static/chunks/0112e547ab8f7c14.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/docs/_next/static/chunks/860ccbeb3af78c27.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/docs/_next/static/chunks/5ac81d523ab60e9d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/docs/_next/static/chunks/c1f04993bafb01e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/docs/_next/static/chunks/55bd7cebf7c5b56c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1c\",null,{\"children\":[\"$L1d\",[\"$\",\"$L1e\",null,{\"promise\":\"$@1f\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L20\",null,{\"children\":\"$L21\"}],null],[\"$\",\"$L22\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$23\",null,{\"fallback\":null,\"children\":\"$L24\"}]}]}]]}]\nc:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/1ddb69276dca9f27.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nd:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/docs/_next/static/chunks/76d685813b54cd6a.css?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script><script>self.__next_f.push([1,"21:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n1d:null\n"])</script><script>self.__next_f.push([1,"25:I[172816,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"MintlifyNavigateBasePath\"]\n"])</script><script>self.__next_f.push([1,"26:I[707934,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"WebMcpRegistration\"]\n"])</script><script>self.__next_f.push([1,"27:I[590280,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"LivePreviewProvider\"]\n"])</script><script>self.__next_f.push([1,"28:I[973254,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"LivePreviewFavicon\"]\n"])</script><script>self.__next_f.push([1,"29:I[197336,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2a:I[91557,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e0d99e8f8c302b0c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0112e547ab8f7c14.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/860ccbeb3af78c27.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/5ac81d523ab60e9d.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/c1f04993bafb01e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/55bd7cebf7c5b56c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\"],\"AuthProvider\"]\n"])</script><script>self.__next_f.push([1,"2b:I[91557,[\"/docs/_next/static/chunks/8f8284e4f312f93b.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1e7a188add93a653.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/18fe2a22edb834ec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/96e98f48e8424955.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/ed63c080278f9a90.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/543211fd3d7dd120.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/939ad20ca4e854e6.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/932ed8275d1e1506.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/936c15c865561b39.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/34a9b0bfcb5e2bdf.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/334db53feb0e0cec.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eacab2b3c4aa0943.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/eb698c6e38d596c8.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/46412fc451e7a566.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/2dc9542eaa51ff35.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/1218b43cc3036511.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/0ec3a60b871650b1.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e07fdeaa7fc096e9.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/64ec75202bfdbf9e.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/d2a27a5bb18658c3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/7b3da8012175b2ce.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/e0d99e8f8c302b0c.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/docs/_next/static/chunks/4be2f5c8ac27d5d3.js?dpl=dpl_Eb9bpvytZeRX8YvDYXtT2zhnWtgP\",\"/
cloud-environments Changed · +20 / -20 lines
from line 4
44
55> [!NOTE]
66>
7> Cloud environments apply to [cloud sessions](https://code.claude.com/docs/en/claude-code-on-the-web.md), which are available on Pro, Max, and Team plans, and for Enterprise users with [premium seats or Chat + Claude Code seats](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).
7> Cloud environments apply to [cloud sessions](https://code.claude.com/docs/en/claude-code-on-the-web.md), which are available on Pro, Max, Ultra, and Team plans, and for Enterprise users with [premium seats or Chat + Claude Code seats](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).
88
99Each [cloud session](https://code.claude.com/docs/en/claude-code-on-the-web.md) runs in a cloud environment. You can configure an environment to allow or deny [network access](#access-levels), [set environment variables](#set-environment-variables) for the session, store [network secrets](#add-network-secrets) that sessions use without seeing them, and run a [setup script](#setup-scripts) before Claude starts working.
1010
from line 28
2828If you don't have an environment yet, onboarding sets up the **Default** environment. How depends on where you onboard:
2929
3030* **CLI flows such as `/web-setup`**: create **Default** for you
31* **Web onboarding on Pro and Max**: creates **Default** for you
31* **Web onboarding on Pro, Max, and Ultra**: you get **Default** automatically
3232* **Web onboarding on Team and Enterprise**: shows a **Create your first cloud environment** form unless an Owner has turned on [Quick setup](https://code.claude.com/docs/en/claude-code-on-the-web.md#quick-setup-for-team-and-enterprise); keep the form's defaults and click **Create & finish** to get the same **Default** environment
3333
3434**Default** carries no configuration of its own:
from line 89
8989
9090A network secret is an API key or token you store on a cloud environment so Claude can call that API from any session in the environment without seeing the key. Anthropic's agent proxy adds the key to requests for the hosts you list, after each request leaves the session's VM, so the key itself stays outside the VM.
9191
92Network secrets are available on Pro, Max, Team, and Enterprise plans. To check whether you can add one yourself, see [Requirements](#requirements).
92Network secrets are available on Pro, Max, Ultra, Team, and Enterprise plans. To check whether you can add one yourself, see [Requirements](#requirements).
9393
9494#### Requirements
9595
from line 548
548548
549549With **Trusted** network access, sessions can reach the following domains by default. Domains marked with `*` indicate wildcard subdomain matching, so `*.gcr.io` allows any subdomain of `gcr.io`.
550550
551> **Anthropic services**
551> [accordion] Anthropic services
552552>
553553> * api.anthropic.com
554554> * docs.claude.com
from line 560
560560> * anthropic.com
561561> * [www.anthropic.com](http://www.anthropic.com)
562562
563> **Version control**
563> [accordion] Version control
564564>
565565> * github.com
566566> * [www.github.com](http://www.github.com)
from line 581
581581> * [www.bitbucket.org](http://www.bitbucket.org)
582582> * api.bitbucket.org
583583
584> **Container registries**
584> [accordion] Container registries
585585>
586586> * registry-1.docker.io
587587> * auth.docker.io
from line 598
598598> * \*.data.mcr.microsoft.com
599599> * public.ecr.aws
600600
601> **Cloud platforms**
601> [accordion] Cloud platforms
602602>
603603> * cloud.google.com
604604> * accounts.google.com
from line 629
629629> * yum.oracle.com
630630> * \*.r2.cloudflarestorage.com
631631
632> **JavaScript and Node package managers**
632> [accordion] JavaScript and Node package managers
633633>
634634> * registry.npmjs.org
635635> * [www.npmjs.com](http://www.npmjs.com)
from line 641
641641> * jsr.io
642642> * npm.jsr.io
643643
644> **Python package managers**
644> [accordion] Python package managers
645645>
646646> * pypi.org
647647> * [www.pypi.org](http://www.pypi.org)
from line 652
652652> * pypa.io
653653> * [www.pypa.io](http://www.pypa.io)
654654
655> **Ruby package managers**
655> [accordion] Ruby package managers
656656>
657657> * rubygems.org
658658> * [www.rubygems.org](http://www.rubygems.org)
from line 667
667667> * rvm.io
668668> * get.rvm.io
669669
670> **Rust package managers**
670> [accordion] Rust package managers
671671>
672672> * crates.io
673673> * [www.crates.io](http://www.crates.io)
from line 677
677677> * static.rust-lang.org
678678> * [www.rust-lang.org](http://www.rust-lang.org)
679679
680> **Go package managers**
680> [accordion] Go package managers
681681>
682682> * proxy.golang.org
683683> * sum.golang.org
from line 687
687687> * goproxy.io
688688> * pkg.go.dev
689689
690> **JVM package managers**
690> [accordion] JVM package managers
691691>
692692> * maven.org
693693> * repo.maven.org
from line 706
706706> * spring.io
707707> * repo.spring.io
708708
709> **Other package managers**
709> [accordion] Other package managers
710710>
711711> * packagist.org (PHP Composer)
712712> * [www.packagist.org](http://www.packagist.org)
from line 732
732732> * swift.org
733733> * [www.swift.org](http://www.swift.org)
734734
735> **Linux distributions**
735> [accordion] Linux distributions
736736>
737737> * archive.ubuntu.com
738738> * security.ubuntu.com
from line 744
744744> * [www.launchpad.net](http://www.launchpad.net)
745745> * \*.nixos.org
746746
747> **Development tools and platforms**
747> [accordion] Development tools and platforms
748748>
749749> * dl.k8s.io (Kubernetes)
750750> * pkgs.k8s.io
from line 776
776776> * pkg.stainless.com
777777> * binaries.prisma.sh
778778
779> **Cloud services and monitoring**
779> [accordion] Cloud services and monitoring
780780>
781781> * http-intake.logs.datadoghq.com
782782> * \*.datadoghq.com
from line 783
783783> * \*.datadoghq.eu
784784> * api.honeycomb.io
785785
786> **Content delivery and mirrors**
786> [accordion] Content delivery and mirrors
787787>
788788> * sourceforge.net
789789> * \*.sourceforge.net
from line 792
792792> * fonts.googleapis.com
793793> * fonts.gstatic.com
794794
795> **Schema and configuration**
795> [accordion] Schema and configuration
796796>
797797> * json-schema.org
798798> * [www.json-schema.org](http://www.json-schema.org)
from line 799
799799> * json.schemastore.org
800800> * [www.schemastore.org](http://www.schemastore.org)
801801
802> **Model Context Protocol**
802> [accordion] Model Context Protocol
803803>
804804> * \*.modelcontextprotocol.io
805805
common-workflows Changed · +4 / -4 lines
from line 496
496496
497497## Next steps
498498
499> **[Best practices](https://code.claude.com/docs/en/best-practices.md)**
499> [card] [Best practices](https://code.claude.com/docs/en/best-practices.md)
500500>
501501> Patterns for getting the most out of Claude Code
502502
503> **[Manage sessions](https://code.claude.com/docs/en/sessions.md)**
503> [card] [Manage sessions](https://code.claude.com/docs/en/sessions.md)
504504>
505505> Resume, name, and branch conversations
506506
507> **[Worktrees](https://code.claude.com/docs/en/worktrees.md)**
507> [card] [Worktrees](https://code.claude.com/docs/en/worktrees.md)
508508>
509509> Run isolated parallel sessions
510510
511> **[Extend Claude Code](https://code.claude.com/docs/en/features-overview.md)**
511> [card] [Extend Claude Code](https://code.claude.com/docs/en/features-overview.md)
512512>
513513> Add skills, hooks, MCP, subagents, and plugins
514514
communications-kit Changed · +108 / -108 lines
from line 29
2929
3030Use this as your standard org-wide rollout message. It covers what Claude Code is, gives a two-minute install path, hands readers one concrete task to try, and answers "where does my code go?" before anyone has to ask.
3131
32**Email**
32> [tab] Email
33>
34> ```text theme={null}
35> Subject: Claude Code is live for [Engineering / your team]
36>
37> Team,
38>
39> As of today you have access to Claude Code, an AI coding agent that runs in
40> your terminal, reads your actual codebase, and works through real tasks end
41> to end: debugging, refactors, tests, PRs. It is not autocomplete and it is
42> not a chat window. It edits files and runs your commands.
43>
44> Get running in two minutes:
45>
46> curl -fsSL https://claude.ai/install.sh | bash
47> cd <your-repo>
48> claude
49>
50> Then run /init once. Claude reads your project and writes a CLAUDE.md with
51> your build commands and conventions, so you stop re-explaining the basics.
52>
53> Then try one of these on the repo you are already in:
54>
55> - "The test in [file] is flaky. Figure out why and fix it"
56> - "Walk me through how [module] handles [X]"
57> - "Look at my working diff and tell me what's risky before I push"
58>
59> Where your code goes: Claude Code runs in your terminal and talks directly
60> to Anthropic's API. On our Team or Enterprise plan, Anthropic does not use
61> your code or prompts to train its models.
62> Details: https://code.claude.com/docs/en/data-usage
63> https://code.claude.com/docs/en/security
64>
65> Where to go with questions: #claude-code. [Owner name] is watching it
66> this week.
67>
68> - [Name]
69>
70> P.S. Prefer your editor? There is a VS Code extension and a JetBrains
71> plugin. Same agent, no terminal required.
72> ```
3373
34```text theme={null}
35Subject: Claude Code is live for [Engineering / your team]
74> [tab] Slack or Teams
75>
76> ```markdown theme={null}
77> 🚀 *Claude Code is live for [team]*
78>
79> AI coding agent, runs in your terminal, reads your repo, does real work:
80> bugs, refactors, tests, PRs.
81>
82> `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`
83>
84> *First thing to try* → run `/init`, then: "the test in [file] is flaky,
85> figure out why and fix it."
86>
87> 🔒 Runs in your terminal, talks directly to Anthropic's API. On our Team or
88> Enterprise plan, your code and prompts are not used to train models.
89> Data usage → https://code.claude.com/docs/en/data-usage
90>
91> 📚 Quickstart · VS Code · Free 1-hr course
92> https://code.claude.com/docs/en/quickstart
93> https://code.claude.com/docs/en/vs-code
94> https://academy.claude.com/courses/claude-code-in-action
95>
96> Questions → this thread. [Owner] is on point.
97> ```
3698
37Team,
38
39As of today you have access to Claude Code, an AI coding agent that runs in
40your terminal, reads your actual codebase, and works through real tasks end
41to end: debugging, refactors, tests, PRs. It is not autocomplete and it is
42not a chat window. It edits files and runs your commands.
43
44Get running in two minutes:
45
46 curl -fsSL https://claude.ai/install.sh | bash
47 cd <your-repo>
48 claude
49
50Then run /init once. Claude reads your project and writes a CLAUDE.md with
51your build commands and conventions, so you stop re-explaining the basics.
52
53Then try one of these on the repo you are already in:
54
55 - "The test in [file] is flaky. Figure out why and fix it"
56 - "Walk me through how [module] handles [X]"
57 - "Look at my working diff and tell me what's risky before I push"
58
59Where your code goes: Claude Code runs in your terminal and talks directly
60to Anthropic's API. On our Team or Enterprise plan, Anthropic does not use
61your code or prompts to train its models.
62Details: https://code.claude.com/docs/en/data-usage
63 https://code.claude.com/docs/en/security
64
65Where to go with questions: #claude-code. [Owner name] is watching it
66this week.
67
68- [Name]
69
70P.S. Prefer your editor? There is a VS Code extension and a JetBrains
71plugin. Same agent, no terminal required.
72```
73
74**Slack or Teams**
75
76```markdown theme={null}
77🚀 *Claude Code is live for [team]*
78
79AI coding agent, runs in your terminal, reads your repo, does real work:
80bugs, refactors, tests, PRs.
81
82`curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` → `claude`
83
84*First thing to try* → run `/init`, then: "the test in [file] is flaky,
85figure out why and fix it."
86
87🔒 Runs in your terminal, talks directly to Anthropic's API. On our Team or
88Enterprise plan, your code and prompts are not used to train models.
89Data usage → https://code.claude.com/docs/en/data-usage
90
91📚 Quickstart · VS Code · Free 1-hr course
92 https://code.claude.com/docs/en/quickstart
93 https://code.claude.com/docs/en/vs-code
94 https://academy.claude.com/courses/claude-code-in-action
95
96Questions → this thread. [Owner] is on point.
97```
98
9999### Executive sponsor variant
100100
101101Send this from your sponsoring executive, such as the CTO, CIO, or SVP Engineering, under their name and from their account. Launches that go out under an exec's name consistently see higher open rates and faster first-week activation than the same message from an admin or tooling team. It signals a company priority rather than an optional experiment.
from line 102
102102
103103This version is deliberately stripped to one ask: install it and run it on one real task. The exec's job is to make the ask land; the standard announcement and `#claude-code` handle the how.
104104
105**Email**
105> [tab] Email
106>
107> ```text theme={null}
108> Subject: One thing I'd like every engineer to try this week
109>
110> Team,
111>
112> We have turned on Claude Code for all of engineering. It is an AI agent
113> that works directly in your terminal, on your actual codebase, and the
114> early results from teams already using it are strong enough that I want
115> everyone on it this week.
116>
117> I am asking for ten minutes:
118>
119> curl -fsSL https://claude.ai/install.sh | bash
120> cd <your-repo>
121> claude
122>
123> Then hand it one real task: the bug you have been putting off, or "walk me
124> through how [module] works."
125>
126> That is the whole ask. [Owner name] and team are in #claude-code for
127> anything you hit along the way.
128>
129> - [Exec Name]
130> [Title]
131> ```
106132
107```text theme={null}
108Subject: One thing I'd like every engineer to try this week
109
110Team,
111
112We have turned on Claude Code for all of engineering. It is an AI agent
113that works directly in your terminal, on your actual codebase, and the
114early results from teams already using it are strong enough that I want
115everyone on it this week.
116
117I am asking for ten minutes:
118
119 curl -fsSL https://claude.ai/install.sh | bash
120 cd <your-repo>
121 claude
122
123Then hand it one real task: the bug you have been putting off, or "walk me
124through how [module] works."
125
126That is the whole ask. [Owner name] and team are in #claude-code for
127anything you hit along the way.
128
129- [Exec Name]
130 [Title]
131```
132
133**Slack or Teams**
134
135```markdown theme={null}
136📣 *From [Exec Name]: one thing to try this week*
137
138We have turned on *Claude Code* for all of engineering. Early results are
139strong enough that I am asking everyone to give it ten minutes on real
140work this week.
141
142`curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` →
143`claude` → hand it one real task.
144
145That's it. Questions → #claude-code.
146```
133> [tab] Slack or Teams
134>
135> ```markdown theme={null}
136> 📣 *From [Exec Name]: one thing to try this week*
137>
138> We have turned on *Claude Code* for all of engineering. Early results are
139> strong enough that I am asking everyone to give it ten minutes on real
140> work this week.
141>
142> `curl -fsSL https://claude.ai/install.sh | bash` → `cd your-repo` →
143> `claude` → hand it one real task.
144>
145> That's it. Questions → #claude-code.
146> ```
147147
148148### Pilot group variant
149149
costs Changed · +50 / -50 lines
from line 2
22
33> Track token usage, set team spend limits, and reduce Claude Code costs with context management, model selection, extended thinking settings, and preprocessing hooks.
44
5Claude Code charges by API token consumption. For subscription plan pricing (Pro, Max, Team, Enterprise), see [claude.com/pricing](https://claude.com/pricing). Per-developer costs vary widely based on model selection, codebase size, and usage patterns such as running multiple instances or automation.
5Claude Code charges by API token consumption. For subscription plan pricing (Pro, Max, Ultra, Team, Enterprise), see [claude.com/pricing](https://claude.com/pricing). Per-developer costs vary widely based on model selection, codebase size, and usage patterns such as running multiple instances or automation.
66
77Across enterprise deployments, the average cost is around \$13 per developer per active day and \$150-250 per developer per month, with costs remaining below \$30 per active day for 90% of users. To estimate spend for your own team, start with a small pilot group and use the tracking tools below to establish a baseline before wider rollout.
88
from line 14
1414
1515> [!NOTE]
1616>
17> The Session block in `/usage` shows API token usage and is intended for API users. Claude Max and Pro subscribers have usage included in their subscription, so the session cost figure isn't relevant for billing purposes. Subscribers see plan usage bars, activity stats, and a usage breakdown on the same screen.
17> The Session block in `/usage` shows API token usage and is intended for API users. Claude Pro, Max, and Ultra subscribers have usage included in their subscription, so the session cost figure isn't relevant for billing purposes. Subscribers see plan usage bars, activity stats, and a usage breakdown on the same screen.
1818
1919The Session block at the top of `/usage` shows detailed token usage statistics for your current session. Claude Code computes the dollar figure locally from token counts at list price, unless a [`modelPricing`](https://code.claude.com/docs/en/settings-reference#modelpricing) table is in effect. An administrator sets one in your organization's managed settings so the figure uses your contracted rates, and while a table is in effect the `Total cost` line carries the note `at your organization's configured rates`. The figure is an estimate, so for authoritative billing see the Usage page in the [Claude Console](https://platform.claude.com/usage).
2020
from line 51
5151
5252#### Plan usage breakdown
5353
54On a Pro, Max, Team, or Enterprise plan, `/usage` also shows a breakdown of what counts against your plan limits, with recommendations:
54On a Pro, Max, Ultra, Team, or Enterprise plan, `/usage` also shows a breakdown of what counts against your plan limits, with recommendations:
5555
5656* **Attribution**: recent usage attributed to skills, subagents, plugins, and individual MCP servers, each shown as a percentage of the total. An MCP server's share counts only the requests that consumed one of its tool results. Before v2.1.222, after one call to an MCP server, Claude Code attributed every subsequent request to that server, overstating its share.
5757* **Recommendations**: suggested changes, one per row. Each row starts with a share of your recent usage, at least 10%, as in `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`.
from line 88
8888
8989`/usage` also shows a usage-credits row while [usage credits](#add-usage-credits-to-your-subscription) are on. What the row shows depends on your plan:
9090
91* **Pro and Max**: your spend for the current month, measured against your monthly spend limit when you have set one. When you haven't set a limit, the row shows `Unlimited` and no spend figure.
91* **Pro, Max, and Ultra**: your spend for the current month, measured against your monthly spend limit when you have set one. When you haven't set a limit, the row shows `Unlimited` and no spend figure.
9292* **Team and Enterprise**: your own spend for the current month, measured against any [limit your organization set](#claude-for-teams-and-enterprise) that applies to you. A limit that covers the whole organization doesn't appear in the row. When you have no limit of your own, the row shows your spend with no limit beside it. While usage credits are off for you, `/usage` shows no usage-credits row.
9393
94When you have a spend limit, the row appears as soon as usage credits are on and shows 0% until you first spend usage credits. Before v2.1.236, `/usage` showed the row only on Pro and Max plans, and a row with a spend limit stayed hidden until you had spent something.
94When you have a spend limit, the row appears as soon as usage credits are on and shows 0% until you first spend usage credits. Before v2.1.236, `/usage` showed the row only on Pro, Max, and Ultra plans, and a row with a spend limit stayed hidden until you had spent something.
9595
9696#### When the usage request fails
9797
from line 126
126126
127127| Your role | What `/usage-credits` does |
128128| :- | :- |
129| Pro or Max subscriber | Opens [**Settings > Usage**](https://claude.ai/settings/usage) on claude.ai in the browser. In its **Usage credits** section you can turn usage credits on or off and check your credit balance, this month's spend, and your monthly spend limit |
129| Pro, Max, or Ultra subscriber | Opens [**Settings > Usage**](https://claude.ai/settings/usage) on claude.ai in the browser. In its **Usage credits** section you can turn usage credits on or off and check your credit balance, this month's spend, and your monthly spend limit |
130130| Team or Enterprise member with billing access | Opens your organization's usage settings, [**Organization settings > Usage**](https://claude.ai/admin-settings/usage), in the browser |
131131| Team or Enterprise member without billing access | Asks you to confirm, then sends a request to your organization's admins. Before v2.1.211, Claude Code sent the request without a confirmation step |
132132
from line 140
140140
141141Which controls you have depends on how your organization accesses Claude Code: a Claude for Teams or Enterprise plan, the Claude Console, or a cloud provider. On Teams and Enterprise plans, usage draws from each member's seat allowance. On the Console and on cloud providers, usage is billed per token to your organization. If your organization mixes sign-in methods, each developer is metered according to the one they authenticated with.
142142
143The table maps each setup to where you see spend, where you cap it, and how you pull per-user numbers. On an individual Pro or Max plan you have no organization to manage, so track your own usage-credit spend, including [fast mode](https://code.claude.com/docs/en/fast-mode.md#see-where-fast-mode-spend-appears), under [Add usage credits to your subscription](#add-usage-credits-to-your-subscription).
143The table maps each setup to where you see spend, where you cap it, and how you pull per-user numbers. On an individual Pro, Max, or Ultra plan you have no organization to manage, so track your own usage-credit spend, including [fast mode](https://code.claude.com/docs/en/fast-mode.md#see-where-fast-mode-spend-appears), under [Add usage credits to your subscription](#add-usage-credits-to-your-subscription).
144144
145145| Your setup | See spend | Cap spend | Per-user reporting |
146146| :- | :- | :- | :- |
from line 290
290290
291291For example, this PreToolUse hook filters test output to show only failures:
292292
293**settings.json**
293> [tab] settings.json
294>
295> Add this to your [settings.json](https://code.claude.com/docs/en/settings.md#where-settings-live) to run the hook before every Bash command:
296>
297> ```json theme={null}
298> {
299> "hooks": {
300> "PreToolUse": [
301> {
302> "matcher": "Bash",
303> "hooks": [
304> {
305> "type": "command",
306> "command": "~/.claude/hooks/filter-test-output.sh"
307> }
308> ]
309> }
310> ]
311> }
312> }
313> ```
294314
295Add this to your [settings.json](https://code.claude.com/docs/en/settings.md#where-settings-live) to run the hook before every Bash command:
315> [tab] filter-test-output.sh
316>
317> The hook calls this script. Create the folder with `mkdir -p ~/.claude/hooks`, save the script below as `~/.claude/hooks/filter-test-output.sh`, and make it executable with `chmod +x ~/.claude/hooks/filter-test-output.sh`. It checks if the command is a test runner and modifies it to show only failures:
318>
319> ```bash theme={null}
320> #!/bin/bash
321> input=$(cat)
322> cmd=$(echo "$input" | jq -r '.tool_input.command')
323>
324> # If running tests, filter to show only failures
325> pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'
326> if [[ "$cmd" =~ $pattern ]]; then
327> filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"
328> echo "$input" | jq --arg filtered "$filtered_cmd" \
329> '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'
330> else
331> echo "{}"
332> fi
333> ```
296334
297```json theme={null}
298{
299 "hooks": {
300 "PreToolUse": [
301 {
302 "matcher": "Bash",
303 "hooks": [
304 {
305 "type": "command",
306 "command": "~/.claude/hooks/filter-test-output.sh"
307 }
308 ]
309 }
310 ]
311 }
312}
313```
314
315**filter-test-output.sh**
316
317The hook calls this script. Create the folder with `mkdir -p ~/.claude/hooks`, save the script below as `~/.claude/hooks/filter-test-output.sh`, and make it executable with `chmod +x ~/.claude/hooks/filter-test-output.sh`. It checks if the command is a test runner and modifies it to show only failures:
318
319```bash theme={null}
320#!/bin/bash
321input=$(cat)
322cmd=$(echo "$input" | jq -r '.tool_input.command')
323
324# If running tests, filter to show only failures
325pattern='^(npm test|pytest|go test)( [^;&|<>`$#\\[:cntrl:]]*)?$'
326if [[ "$cmd" =~ $pattern ]]; then
327 filtered_cmd="$cmd 2>&1 | grep -A 5 -E '(FAIL|ERROR|error:)' | head -100"
328 echo "$input" | jq --arg filtered "$filtered_cmd" \
329 '{hookSpecificOutput: {hookEventName: "PreToolUse", updatedInput: (.tool_input + {command: $filtered})}}'
330else
331 echo "{}"
332fi
333```
334
335335To verify the setup, run `/hooks` and check that the hook appears under PreToolUse. You can also start Claude Code with `claude --debug-file ./claude-debug.txt` and ask Claude to run `npm test`. When the hook rewrites the command, that log file contains a `modified tool input keys` line listing `command` and the other Bash input fields.
336336
337337### Move instructions from CLAUDE.md to skills
from line 388
388388* **Agent teammates**: each active [teammate](#agent-team-token-costs) keeps consuming tokens until it exits
389389* **Compaction**: `/compact` reads the conversation it summarizes, so [compacting a large context](https://code.claude.com/docs/en/prompt-caching.md#compacting-the-conversation) is itself a large request. When you want a fresh start instead of continuity, `/clear` costs nothing
390390
391On a Pro, Max, Team, or Enterprise plan, the [`/usage` breakdown](#plan-usage-breakdown) recommends a change for behaviors behind 10% or more of your recent usage, such as long context or cache misses.
391To see what to change on a Pro, Max, Ultra, Team, or Enterprise plan, run [`/usage`](#plan-usage-breakdown) at the Claude Code prompt. Its breakdown recommends a change for behaviors behind 10% or more of your recent usage. Those behaviors include long context and cache misses.
392392
393393## Understanding changes in Claude Code behavior
394394
from line 396
396396
397397For billing questions about your specific account, contact Anthropic support through the in-product messenger:
398398
399* **Subscription plans** (Pro, Max, Team, Enterprise): sign in at [claude.ai](https://claude.ai), click your initials in the lower left, and select **Get help**
399* **Subscription plans** (Pro, Max, Ultra, Team, Enterprise): sign in at [claude.ai](https://claude.ai), click your initials in the lower left, and select **Get help**
400400* **Console (API) billing**: sign in at [platform.claude.com](https://platform.claude.com), click your initials, and select **Get help**
401401
402402See [How to get support](https://support.claude.com/en/articles/9015913-how-to-get-support) for the full flow, including who can reach a human agent on each plan.
data-usage Changed · +6 / -6 lines
from line 6
66
77### Data training policy
88
9**Consumer users (Free, Pro, and Max plans)**:
10We give you the choice to allow your data to be used to improve future Claude models. We will train new models using data from Free, Pro, and Max accounts when this setting is on (including when you use Claude Code from these accounts).
9**Consumer users (Free, Pro, Max, and Ultra plans)**:
10We give you the choice to allow your data to be used to improve future Claude models. We will train new models using data from Free, Pro, Max, and Ultra accounts when this setting is on (including when you use Claude Code from these accounts).
1111
1212**Commercial users**: (Team and Enterprise plans, API, 3rd-party platforms, and Claude Gov) maintain existing policies: Anthropic does not train generative models using code or prompts sent to Claude Code under commercial terms, unless the customer has chosen to provide their data to us for model improvement (for example, the [Developer Partner Program](https://support.claude.com/en/articles/11174108-about-the-development-partner-program)).
1313
from line 39
3939
4040Anthropic retains Claude Code data based on your account type and preferences.
4141
42**Consumer users (Free, Pro, and Max plans)**:
42**Consumer users (Free, Pro, Max, and Ultra plans)**:
4343
4444* Users who allow data use for model improvement: 5-year retention period to support model development and safety improvements
4545* Users who don't allow data use for model improvement: 30-day retention period
from line 57
5757
5858Learn more about data retention practices in our [Privacy Center](https://privacy.anthropic.com/).
5959
60For full details, please review our [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) (for Team, Enterprise, and API users) or [Consumer Terms](https://www.anthropic.com/legal/consumer-terms) (for Free, Pro, and Max users) and [Privacy Policy](https://www.anthropic.com/legal/privacy).
60For full details, please review our [Commercial Terms of Service](https://www.anthropic.com/legal/commercial-terms) (for Team, Enterprise, and API users) or [Consumer Terms](https://www.anthropic.com/legal/consumer-terms) (for Free, Pro, Max, and Ultra users) and [Privacy Policy](https://www.anthropic.com/legal/privacy).
6161
6262## Data access
6363
from line 103
103103
104104Error reporting is on only when all of these apply:
105105
106* you sign in with a Claude Pro or Max subscription
106* you sign in with a Claude Pro, Max, or Ultra subscription
107107* you're running Claude Code v2.1.198 or later
108108* you're connecting directly to the Claude API
109109* your organization doesn't have a zero data retention or HIPAA agreement
from line 119
119119| Service | Claude API | Google Cloud's Agent Platform API | Amazon Bedrock API | Microsoft Foundry API | Claude Platform on AWS |
120120| - | - | - | - | - | - |
121121| **Metrics** | Default on. `DISABLE_TELEMETRY=1` to disable. | Default off. `CLAUDE_CODE_USE_VERTEX` must be 1. | Default off. `CLAUDE_CODE_USE_BEDROCK` must be 1. | Default off. `CLAUDE_CODE_USE_FOUNDRY` must be 1. | Default off. `CLAUDE_CODE_USE_ANTHROPIC_AWS` must be 1. |
122| **Error reports** | On for Pro and Max sign-ins on v2.1.198+, otherwise off. `DISABLE_ERROR_REPORTING=1` to disable. | Default off. `CLAUDE_CODE_USE_VERTEX` must be 1. | Default off. `CLAUDE_CODE_USE_BEDROCK` must be 1. | Default off. `CLAUDE_CODE_USE_FOUNDRY` must be 1. | Default off. `CLAUDE_CODE_USE_ANTHROPIC_AWS` must be 1. |
122| **Error reports** | On for Pro, Max, and Ultra sign-ins on v2.1.198+, otherwise off. `DISABLE_ERROR_REPORTING=1` to disable. | Default off. `CLAUDE_CODE_USE_VERTEX` must be 1. | Default off. `CLAUDE_CODE_USE_BEDROCK` must be 1. | Default off. `CLAUDE_CODE_USE_FOUNDRY` must be 1. | Default off. `CLAUDE_CODE_USE_ANTHROPIC_AWS` must be 1. |
123123| **Claude API (`/feedback` reports)** | Default on. `DISABLE_FEEDBACK_COMMAND=1` to disable. | Default off. `CLAUDE_CODE_USE_VERTEX` must be 1. | Default off. `CLAUDE_CODE_USE_BEDROCK` must be 1. | Default off. `CLAUDE_CODE_USE_FOUNDRY` must be 1. | Default off. `CLAUDE_CODE_USE_ANTHROPIC_AWS` must be 1. |
124124| **Session quality surveys** | Default on. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` to disable. | Default on. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` to disable. | Default on. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` to disable. | Default on. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` to disable. | Default on. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY=1` to disable. |
125125| **WebFetch domain safety check** | Default on. `skipWebFetchPreflight: true` in [settings](https://code.claude.com/docs/en/settings.md) to disable. | Default on. `skipWebFetchPreflight: true` in [settings](https://code.claude.com/docs/en/settings.md) to disable. | Default on. `skipWebFetchPreflight: true` in [settings](https://code.claude.com/docs/en/settings.md) to disable. | Default on. `skipWebFetchPreflight: true` in [settings](https://code.claude.com/docs/en/settings.md) to disable. | Default on. `skipWebFetchPreflight: true` in [settings](https://code.claude.com/docs/en/settings.md) to disable. |
debug-your-config Changed · +26 / -26 lines
from line 91
9191
9292In your shell, with no Claude Code session running, create the directory and move into it:
9393
94**Bash or Zsh**
94> [tab] Bash or Zsh
95>
96> ```bash theme={null}
97> mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty
98> ```
9599
96```bash theme={null}
97mkdir -p ~/claude-clean/empty && cd ~/claude-clean/empty
98```
100> [tab] PowerShell
101>
102> ```powershell theme={null}
103> New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null
104> Set-Location "$HOME/claude-clean/empty"
105> ```
99106
100**PowerShell**
101
102```powershell theme={null}
103New-Item -ItemType Directory -Force "$HOME/claude-clean/empty" | Out-Null
104Set-Location "$HOME/claude-clean/empty"
105```
106
107107**2. Start Claude Code with a clean configuration directory**
108108
109109From the same shell, set [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/en/env-vars) to a fresh directory in place of `~/.claude`, and pass [`--setting-sources user`](https://code.claude.com/docs/en/cli-reference#cli-flags) to turn off project configuration such as `.claude/settings.json`, `CLAUDE.md`, and `.mcp.json`:
110110
111**Bash or Zsh**
111> [tab] Bash or Zsh
112>
113> The variable applies to this one launch.
114>
115> ```bash theme={null}
116> CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user
117> ```
112118
113The variable applies to this one launch.
114
115```bash theme={null}
116CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user
117```
118
119**PowerShell**
120
121The variable stays set for the rest of this PowerShell session, so later `claude` launches in the same window keep using the clean directory. To return to your usual directory, run `Remove-Item Env:CLAUDE_CONFIG_DIR` before the next launch.
122
123```powershell theme={null}
124$env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"
125claude --setting-sources user
126```
119> [tab] PowerShell
120>
121> The variable stays set for the rest of this PowerShell session, so later `claude` launches in the same window keep using the clean directory. To return to your usual directory, run `Remove-Item Env:CLAUDE_CONFIG_DIR` before the next launch.
122>
123> ```powershell theme={null}
124> $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config"
125> claude --setting-sources user
126> ```
127127
128128On the first launch, you go through the first-run setup screens again, a sign that the clean configuration directory is in effect. Managed settings still apply, and [connectors](https://code.claude.com/docs/en/mcp.md#use-mcp-servers-from-claude-ai) still load if you log in with a claude.ai account.
129129
deep-links Changed · +33 / -33 lines
from line 106
106106
107107You can also open a deep link from a shell script, alias, or automation rather than by clicking it. Call your operating system's URL-opening command with the link as the argument. These commands rely on the handler that Claude Code [registers](#registration-and-supported-platforms) on the machine.
108108
109**macOS**
109> [tab] macOS
110>
111> The built-in `open` command passes the URL to the registered `claude-cli://` handler:
112>
113> ```bash theme={null}
114> open "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
115> ```
116>
117> On success, a new terminal window opens with Claude Code running and the prompt pre-filled.
110118
111The built-in `open` command passes the URL to the registered `claude-cli://` handler:
119> [tab] Linux
120>
121> Most desktop environments provide `xdg-open`, which passes the URL to the registered handler:
122>
123> ```bash theme={null}
124> xdg-open "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
125> ```
126>
127> On success, a new terminal window opens with Claude Code running and the prompt pre-filled. If the shell reports that `xdg-open` isn't found, see [Troubleshooting](#xdg-open-is-not-found-on-linux).
112128
113```bash theme={null}
114open "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
115```
116
117On success, a new terminal window opens with Claude Code running and the prompt pre-filled.
118
119**Linux**
120
121Most desktop environments provide `xdg-open`, which passes the URL to the registered handler:
122
123```bash theme={null}
124xdg-open "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
125```
126
127On success, a new terminal window opens with Claude Code running and the prompt pre-filled. If the shell reports that `xdg-open` isn't found, see [Troubleshooting](#xdg-open-is-not-found-on-linux).
128
129**Windows**
130
131In PowerShell, `Start-Process` passes the URL to the registered handler:
132
133```powershell theme={null}
134Start-Process "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
135```
136
137In `cmd.exe`, `start` treats its first quoted argument as a window title, so pass an empty title before the URL:
138
139```cmd theme={null}
140start "" "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
141```
142
143On success, a new terminal window opens with Claude Code running and the prompt pre-filled.
129> [tab] Windows
130>
131> In PowerShell, `Start-Process` passes the URL to the registered handler:
132>
133> ```powershell theme={null}
134> Start-Process "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
135> ```
136>
137> In `cmd.exe`, `start` treats its first quoted argument as a window title, so pass an empty title before the URL:
138>
139> ```cmd theme={null}
140> start "" "claude-cli://open?repo=acme/payments&q=review%20open%20PRs"
141> ```
142>
143> On success, a new terminal window opens with Claude Code running and the prompt pre-filled.
144144
145145## Registration and supported platforms
146146
desktop Changed · +77 / -76 lines
from line 4
44
55In the Claude Desktop app, Claude Code is the **Code** tab. The app also has chat and [Cowork](https://claude.com/product/cowork), which handles Dispatch and longer agentic work. This page is the reference for the Code tab.
66
7> **[Download for macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**
7> [card] [Download for macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)
88>
99> Universal build for Intel and Apple Silicon
1010
11> **[Download for Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**
11> [card] [Download for Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)
1212>
1313> For x64 processors
1414
15> **[Get Claude for Linux (beta)](https://code.claude.com/docs/en/desktop-linux.md)**
15> [card] [Get Claude for Linux (beta)](https://code.claude.com/docs/en/desktop-linux.md)
1616>
1717> apt or .deb for Ubuntu and Debian
1818
from line 88
8888| **Accept edits** | `acceptEdits` | Claude auto-accepts file edits and common filesystem commands like `mkdir`, `touch`, and `mv`, but still asks before running other terminal commands. Use this when you trust file changes and want faster iteration. |
8989| **Plan** | `plan` | Claude reads files and runs commands to explore, then proposes a plan without editing your source code. Good for complex tasks where you want to review the approach first. |
9090| **Auto** | `auto` | Claude runs without routine prompts; before actions such as shell commands and network requests run, a background classifier checks that they align with your request. Appears when [auto mode is available](#auto-mode-availability); there is no separate Settings toggle for it. |
91| **Bypass permissions** | `bypassPermissions` | Claude runs without permission prompts, except for the [actions no mode auto-approves](https://code.claude.com/docs/en/permission-modes.md#actions-no-mode-auto-approves), safety classifiers when Claude [acts on external sites](#browse-external-sites), or desktop actions such as deleting a session, though not [archiving one](#work-across-sessions). Equivalent to `--dangerously-skip-permissions` in the CLI. On Pro and Max plans, enable "Allow bypass permissions mode" in **Settings > Code** or **Settings > Claude Code**. On Team and Enterprise plans there is no Settings toggle, and organization policy controls it instead. Only use this in sandboxed containers or VMs. |
91| **Bypass permissions** | `bypassPermissions` | Claude runs without permission prompts, except for the [actions no mode auto-approves](https://code.claude.com/docs/en/permission-modes.md#actions-no-mode-auto-approves), safety classifiers when Claude [acts on external sites](#browse-external-sites), or desktop actions such as deleting a session, though not [archiving one](#work-across-sessions). Equivalent to `--dangerously-skip-permissions` in the CLI. On Pro, Max, and Ultra plans, enable "Allow bypass permissions mode" in **Settings > Code** or **Settings > Claude Code**. On Team and Enterprise plans there is no Settings toggle, and organization policy controls it instead. Only use this in sandboxed containers or VMs. |
9292
9393Earlier versions of the Code tab labeled these modes Ask permissions, Auto accept edits, and Plan mode.
9494
from line 316
316316
317317> [!NOTE]
318318>
319> Computer use is a research preview on macOS and Windows that requires a Pro or Max plan. It is not available on Team or Enterprise plans. The Claude Desktop app must be running. On macOS, computer use requires macOS 14 or later.
319> Computer use is a research preview on macOS and Windows that requires a Pro, Max, or Ultra plan. It is not available on Team or Enterprise plans. The Claude Desktop app must be running. On macOS, computer use requires macOS 14 or later.
320320
321321Computer use is off by default. [Enable it in Settings](#enable-computer-use) before Claude can control your screen. On macOS, you also need to grant Accessibility and Screen Recording permissions.
322322
from line 358
358358* **Windows**: the toggle takes effect immediately and setup is complete
359359* **macOS**: continue to the next step
360360
361If you don't see the toggle, confirm you're on macOS or Windows with a Pro or Max plan, then update and restart the app.
361If you don't see the toggle, confirm you're on macOS or Windows with a Pro, Max, or Ultra plan, then update and restart the app.
362362
363363**3. Grant macOS permissions**
364364
from line 558
558558
559559#### Set up Dispatch
560560
561For setup, pairing, and Dispatch settings, see the [Dispatch help article](https://support.claude.com/en/articles/13947068). Dispatch requires a Pro or Max plan and is not available on Team or Enterprise plans.
561* **Plans**: Dispatch requires a Pro, Max, or Ultra plan and is not available on Team or Enterprise plans
562* **Setup, pairing, and Dispatch settings**: see the [Dispatch help article](https://support.claude.com/en/articles/13947068)
562563
563564Dispatch is one of several ways to work with Claude when you're away from your terminal. For a comparison with the other options, see [Platforms and integrations](https://code.claude.com/docs/en/platforms.md#work-when-you-are-away-from-your-terminal).
564565
from line 735
734735
735736These configurations show common setups for different project types:
736737
737**Next.js**
738> [tab] Next.js
739>
740> This configuration runs a Next.js app using Yarn on port 3000:
741>
742> ```json theme={null}
743> {
744> "version": "0.0.1",
745> "configurations": [
746> {
747> "name": "web",
748> "runtimeExecutable": "yarn",
749> "runtimeArgs": ["dev"],
750> "port": 3000
751> }
752> ]
753> }
754> ```
738755
739This configuration runs a Next.js app using Yarn on port 3000:
756> [tab] Multiple servers
757>
758> For a monorepo with a frontend and an API server, define multiple configurations. The frontend uses `autoPort: true` so it picks a free port if 3000 is taken, while the API server requires port 8080 exactly:
759>
760> ```json theme={null}
761> {
762> "version": "0.0.1",
763> "configurations": [
764> {
765> "name": "frontend",
766> "runtimeExecutable": "npm",
767> "runtimeArgs": ["run", "dev"],
768> "cwd": "apps/web",
769> "port": 3000,
770> "autoPort": true
771> },
772> {
773> "name": "api",
774> "runtimeExecutable": "npm",
775> "runtimeArgs": ["run", "start"],
776> "cwd": "server",
777> "port": 8080,
778> "env": { "NODE_ENV": "development" },
779> "autoPort": false
780> }
781> ]
782> }
783> ```
740784
741```json theme={null}
742{
743 "version": "0.0.1",
744 "configurations": [
745 {
746 "name": "web",
747 "runtimeExecutable": "yarn",
748 "runtimeArgs": ["dev"],
749 "port": 3000
750 }
751 ]
752}
753```
785> [tab] Node.js script
786>
787> To run a Node.js script directly instead of using a package manager command, use the `program` field:
788>
789> ```json theme={null}
790> {
791> "version": "0.0.1",
792> "configurations": [
793> {
794> "name": "server",
795> "program": "server.js",
796> "args": ["--verbose"],
797> "port": 4000
798> }
799> ]
800> }
801> ```
754802
755**Multiple servers**
756
757For a monorepo with a frontend and an API server, define multiple configurations. The frontend uses `autoPort: true` so it picks a free port if 3000 is taken, while the API server requires port 8080 exactly:
758
759```json theme={null}
760{
761 "version": "0.0.1",
762 "configurations": [
763 {
764 "name": "frontend",
765 "runtimeExecutable": "npm",
766 "runtimeArgs": ["run", "dev"],
767 "cwd": "apps/web",
768 "port": 3000,
769 "autoPort": true
770 },
771 {
772 "name": "api",
773 "runtimeExecutable": "npm",
774 "runtimeArgs": ["run", "start"],
775 "cwd": "server",
776 "port": 8080,
777 "env": { "NODE_ENV": "development" },
778 "autoPort": false
779 }
780 ]
781}
782```
783
784**Node.js script**
785
786To run a Node.js script directly instead of using a package manager command, use the `program` field:
787
788```json theme={null}
789{
790 "version": "0.0.1",
791 "configurations": [
792 {
793 "name": "server",
794 "program": "server.js",
795 "args": ["--verbose"],
796 "port": 4000
797 }
798 ]
799}
800```
801
802803## Environment configuration
803804
804805The environment you pick when [starting a session](#start-a-session) determines where Claude executes and how you connect:
from line 1324
13231324* **Workflows**: Desktop checks each new [workflow](https://code.claude.com/docs/en/workflows.md) before it starts, so while Desktop is disconnected a new one waits up to 10 minutes and then fails
13241325* **MCP servers**: MCP servers that Claude Code starts on the remote machine don't run through Desktop, so Claude can still call their tools. Servers from `claude_desktop_config.json` are among them only if Desktop doesn't use its [built-in SSH client](#worktree-edits-while-disconnected). Otherwise, and on [some Windows remote machines](#windows-remote-machines), Claude can't call their tools while Desktop is disconnected.
13251326
1326> **When edits in a worktree keep working**
1327> [accordion] When edits in a worktree keep working
13271328>
13281329> On a Linux or macOS remote machine, the check doesn't go through Desktop, so edits inside the worktree keep working while Desktop is disconnected. Before Claude Desktop v2.37337.0, this holds on a Linux remote machine only.
13291330>
from line 1365
13641365* **Remembered password**: a password that you let Desktop remember also works without a prompt, but for a long absence prefer a key that your SSH agent holds. If sign-ins with that password break off or hang, Desktop can stop reconnecting and wait for you.
13651366* **Any other prompt**: if the remote machine prompts for anything else, such as a one-time code, you can get a notification on your computer. Click the notification, or send a message in the session, and Desktop shows the prompt.
13661367
1367> **If a jump host asks for a sign-in, the outage is long, output is missing, or the process is gone**
1368> [accordion] If a jump host asks for a sign-in, the outage is long, output is missing, or the process is gone
13681369>
13691370> * **Jump host, pushes stop while you're away**: this can happen with Desktop on macOS or Linux when nobody answers a jump host's sign-in, for example a push to a phone. Desktop then stops reconnecting while nobody is at your computer. When you unlock or use the computer, you can get another push, because Desktop can try again. After three unanswered attempts it waits until you retry or send a message.
13701371> * **Jump host, pushes keep coming**: where Desktop can't tell that nobody answers, as with Desktop on Windows, it keeps trying while it has a process to rejoin, whether or not that process still runs. You can get another push with each attempt. To end the attempts, quit Desktop, which [can cost you the running task](#reopen-a-session-after-you-quit-desktop).
from line 2052
20512052| `--model sonnet` | Model picker in the row under the prompt box |
20522053| `--resume`, `--continue` | Click a session in the sidebar, or type `/resume` in the prompt box to pick up a session you started from the CLI |
20532054| `--permission-mode` | Mode selector in the row under the prompt box |
2054| `--dangerously-skip-permissions` | Bypass permissions mode. On Pro and Max plans, enable "Allow bypass permissions mode" in **Settings > Code** or **Settings > Claude Code**; on Team and Enterprise plans, organization policy controls it |
2055| `--dangerously-skip-permissions` | Bypass permissions mode. On Pro, Max, and Ultra plans, enable "Allow bypass permissions mode" in **Settings > Code** or **Settings > Claude Code**; on Team and Enterprise plans, organization policy controls it |
20552056| `--add-dir` | [Add folders to a session](#add-folders-to-a-session) in local and SSH sessions, or select [several repositories](#run-long-running-tasks-in-the-cloud) in a cloud session |
20562057| `--allowedTools`, `--disallowedTools` | No per-session equivalent. Permission rules in [settings files](https://code.claude.com/docs/en/settings.md) still apply. |
20572058| `--verbose` | [Verbose view mode](#switch-view-modes) |
from line 2088
20872088
20882089| Feature | CLI | Desktop |
20892090| - | - | - |
2090| Permission modes | All modes including `dontAsk` | Manual, Accept edits, Plan, and Auto. Bypass permissions appears in the mode selector once enabled: through the Settings toggle on Pro and Max plans, or through organization policy on Team and Enterprise plans |
2091| Permission modes | All modes including `dontAsk` | Manual, Accept edits, Plan, and Auto. Bypass permissions appears in the mode selector once enabled: through the Settings toggle on Pro, Max, and Ultra plans, or through organization policy on Team and Enterprise plans |
20912092| [Third-party providers](https://code.claude.com/docs/en/third-party-integrations.md) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | Anthropic's API by default. For gateway routing, see [connect the desktop app to a gateway](https://code.claude.com/docs/en/llm-gateway-connect.md#desktop-app). To run the Code tab on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or a self-hosted LLM gateway, see [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |
20922093| [MCP servers](https://code.claude.com/docs/en/mcp.md) | Configure in settings files | Connectors UI for local and SSH sessions, or settings files |
20932094| [Plugins](https://code.claude.com/docs/en/plugins/overview.md) | `/plugin` command | Plugin manager UI |
from line 2150
21492150If you see `Error 403: Forbidden` or other authentication failures when using the Code tab:
21502151
215121521. Sign out and back in from the app menu. This is the most common fix.
21522. Verify you have an active paid subscription: Pro, Max, Team, or Enterprise.
21532. Verify you have an active paid subscription: Pro, Max, Ultra, Team, or Enterprise.
215321543. If the CLI works but Desktop does not, quit the desktop app completely, not just close the window, then reopen and sign in again.
215421554. Check your internet connection and proxy settings.
21552156
desktop-quickstart Changed · +5 / -5 lines
from line 2
22
33> Install the Claude desktop app, open the Code tab, and start your first Claude Code session on a project folder on your computer.
44
5The desktop app gives you Claude Code with a graphical interface. You can ask Claude to work on the code in a folder on your computer and review its changes without using a terminal.
5The desktop app gives you Claude Code with a graphical interface. You can ask Claude to work on the code in a folder on your computer, then review the changes yourself, without using a terminal.
66
7Claude Code is in the **Code** tab at the top of the app's sidebar. This page walks through installing the app and starting your first session there. Claude Code requires a [Pro, Max, Team, or Enterprise subscription](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).
7Claude Code is in the **Code** tab at the top of the app's sidebar. This page walks through installing the app and starting your first session there. Claude Code requires a [Pro, Max, Ultra, Team, or Enterprise subscription](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).
88
9> **[Download for macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**
9> [card] [Download for macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)
1010>
1111> Universal build for Intel and Apple Silicon
1212
13> **[Download for Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)**
13> [card] [Download for Windows](https://claude.ai/api/desktop/win32/x64/setup/latest/redirect?utm_source=claude_code\&utm_medium=docs)
1414>
1515> For x64 processors
1616
17> **[Get Claude for Linux (beta)](https://code.claude.com/docs/en/desktop-linux.md)**
17> [card] [Get Claude for Linux (beta)](https://code.claude.com/docs/en/desktop-linux.md)
1818>
1919> apt or .deb for Ubuntu and Debian
2020
errors Changed · +5 / -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 826
826826* In the Code tab of the [Desktop app](https://code.claude.com/docs/en/desktop.md), the session-limit card offers an **Auto-continue when limits reset** checkbox. The weekly-limit card doesn't. When it's checked, the Desktop app retries the interrupted turn after the reset and shows the retry time on the card. The Desktop checkbox and the CLI's **Continue automatically at usage limit** setting in `/config` are separate, so turn each off on its own.
827827* For the Opus or Sonnet limit, run `/model` and switch to a model outside that family to keep working. Each model has its own prompt cache, so the next request re-reads the whole conversation with no cache hits; see [Switching models](https://code.claude.com/docs/en/prompt-caching.md#switching-models)
828828* Run `/usage` to see your plan limits and when they reset
829* Run `/usage-credits` to buy additional usage on Pro and Max, or to request it from your admin on Team and Enterprise. See [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) for how this is billed.
829* Run `/usage-credits` to buy additional usage on Pro, Max, and Ultra, or to request it from your admin on Team and Enterprise. See [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) for how this is billed.
830830* To upgrade your plan for higher base limits, see [claude.com/pricing](https://claude.com/pricing)
831831
832832Before a window runs out, Claude Code can warn you that you've used most of it, with a message such as `You've used 85% of your session limit · resets 3:45pm`. To watch your remaining allowance continuously, add the `rate_limits` fields to a [custom status line](https://code.claude.com/docs/en/statusline.md#rate-limit-usage), or in the Desktop app click the [usage ring](https://code.claude.com/docs/en/desktop.md#check-usage) next to the model picker.
from line 848
848848**What to do:**
849849
850850* Run `/model` and select the variant without the `[1m]` suffix to fall back to the standard context window
851* Where the message names `/usage-credits`, run it to turn on metered billing for the 1M variant on Pro and Max, or to request usage credits from your admin on Team and Enterprise. Once usage credits are on, restart Claude Code or start a new session, whichever the message says. Until then, the session stays at the standard context limit.
851* Where the message names `/usage-credits`, run it to turn on metered billing for the 1M variant on Pro, Max, and Ultra, or to request usage credits from your admin on Team and Enterprise. Once usage credits are on, restart Claude Code or start a new session, whichever the message says. Until then, the session stays at the standard context limit.
852852* If the error persists after `/model`, a 1M model ID may be set elsewhere. See [Setting your model](https://code.claude.com/docs/en/model-config.md#setting-your-model) for the configuration locations to check in priority order.
853853* To remove 1M variants from the model picker entirely, set [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](https://code.claude.com/docs/en/env-vars)
854854
from line 929
929929
930930**What to do:**
931931
932* On Pro and Max, increase your monthly spend limit in [**Settings > Usage**](https://claude.ai/settings/usage) on claude.ai, or run `/usage-credits`
932* On Pro, Max, and Ultra, increase your monthly spend limit in [**Settings > Usage**](https://claude.ai/settings/usage) on claude.ai, or run `/usage-credits`
933933* On Team and Enterprise, increase the limit in [**Organization settings > Usage**](https://claude.ai/admin-settings/usage) if you manage billing, or ask an admin to. `/usage-credits` sends that request to your admin for you
934934* For a channel's limit, ask an org owner or the channel's manager to raise it on claude.ai. See [Per-channel limits](https://claude.com/docs/claude-tag/admins/set-spend-limit#per-channel-limits) in the Claude Tag documentation
935935* If the message names a reset time for your plan's window, you can wait for it instead
from line 962
962962
963963**What to do:**
964964
965* If you have a Pro, Max, Team, or Enterprise plan and see this, run `/status` and check the `API key` row. An approved `ANTHROPIC_API_KEY` in your environment routes requests through that key instead of your subscription. Unset it in the current shell and remove it from your shell profile, then relaunch `claude`. Run `/login` if you haven't signed in with your subscription yet.
965* If you have a Pro, Max, Ultra, Team, or Enterprise plan and see this, run `/status` and check the `API key` row. An approved `ANTHROPIC_API_KEY` in your environment routes requests through that key instead of your subscription. Unset it in the current shell and remove it from your shell profile, then relaunch `claude`. Run `/login` if you haven't signed in with your subscription yet.
966966* Add credits at [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), and consider enabling auto-reload there so the balance refills before it hits zero
967967* Set per-workspace spend caps in the Console to prevent a single project from draining the org balance. See [Manage costs effectively](https://code.claude.com/docs/en/costs.md).
968968
from line 1116
11161116
11171117The hint after the `·` depends on your saved credentials: the first form appears when a stored `/login` can take over after you unset the key, and the second when the key is your only credential.
11181118
1119Environment variables take precedence over `/login`, so a key exported in your shell profile or loaded from a `.env` file is used even when you have a working Pro or Max subscription. In non-interactive mode (`-p`), the key is always used when present.
1119If you export a key in your shell profile or load one from `.env`, Claude Code uses it instead of `/login`, even with a working Pro, Max, or Ultra subscription. In non-interactive mode (`-p`), the key is always used when present.
11201120
11211121**What to do:**
11221122
from line 2511
25112511**What to do:**
25122512
25132513* If you maintain the server, shorten the tool's name.
2514* If the server i
2514* If the