The two sides of this change are more than 400 edits apart, too far apart to line up, so this is the differ's own diff of it and the words inside a line are not marked.
from line 7
77
88## Domain types
99
10### Beta API Key Scope Missing Error Details
11
12- `BetaAPIKeyScopeMissingErrorDetails object`
13
14 The API key lacks the scope the request needs: `read:claude_tag` for a read, `write:claude_tag` for a change.
15
16 - `error_code: "api_key_scope_missing"`
17
1018### Beta Claude Tag Default Setting Source
1119
1220- `BetaClaudeTagDefaultSettingSource object`
from line 71
6371
6472 - `type: "restrict"`
6573
74### Beta Claude Tag Reply Mode
75
76- `BetaClaudeTagReplyMode = BetaClaudeTagReplyModeAutomatic or BetaClaudeTagReplyModeMentionOnly or BetaClaudeTagReplyModeAlwaysAwake or BetaClaudeTagReplyModeThread`
77
78 How Claude takes part in a Slack channel. A channel alone stores one. More types can be added.
79
80 - `BetaClaudeTagReplyModeAutomatic object`
81
82 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
83
84 - `type: "automatic"`
85
86 - `BetaClaudeTagReplyModeMentionOnly object`
87
88 Claude replies only when it is @-mentioned.
89
90 - `type: "mention_only"`
91
92 - `BetaClaudeTagReplyModeAlwaysAwake object`
93
94 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
95
96 - `type: "always_awake"`
97
98 - `BetaClaudeTagReplyModeThread object`
99
100 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
101
102 - `type: "thread"`
103
104### Beta Claude Tag Reply Mode Always Awake
105
106- `BetaClaudeTagReplyModeAlwaysAwake object`
107
108 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
109
110 - `type: "always_awake"`
111
112### Beta Claude Tag Reply Mode Automatic
113
114- `BetaClaudeTagReplyModeAutomatic object`
115
116 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
117
118 - `type: "automatic"`
119
120### Beta Claude Tag Reply Mode Mention Only
121
122- `BetaClaudeTagReplyModeMentionOnly object`
123
124 Claude replies only when it is @-mentioned.
125
126 - `type: "mention_only"`
127
128### Beta Claude Tag Reply Mode Thread
129
130- `BetaClaudeTagReplyModeThread object`
131
132 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
133
134 - `type: "thread"`
135
66136### Beta Claude Tag Setting Source
67137
68138- `BetaClaudeTagSettingSource = BetaClaudeTagSlackChannelSettingSource or BetaClaudeTagSlackWorkspaceSettingSource or BetaClaudeTagSlackParentChannelSettingSource or 3 more`
from line 317
247317
248318 The settings level `model` comes from.
249319
320 - `reply_mode: BetaClaudeTagSettingSource or null`
321
322 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
323
250324### Beta Claude Tag Settings
251325
252326- `BetaClaudeTagSettings object`
253327
254 Claude Tag settings. Without `include_inherited`, a setting that is null is not set on the settings level and is inherited. With it, `enabled` and `guest_policy` are never null, and `instructions`, `model` and `environment_id` are null when no settings level sets them.
328 Claude Tag settings. Without `include_inherited`, a setting that is null is not set on the settings level and is inherited. With it, `enabled` and `guest_policy` are never null, `instructions`, `model` and `environment_id` are null when no settings level sets them, and `reply_mode` is null unless the channel itself stores one.
255329
256330 - `enabled: boolean or null`
257331
from line 365
291365
292366 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
293367
368 - `reply_mode: BetaClaudeTagReplyMode or null`
369
370 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
371
372 - `BetaClaudeTagReplyModeAutomatic object`
373
374 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
375
376 - `type: "automatic"`
377
378 - `BetaClaudeTagReplyModeMentionOnly object`
379
380 Claude replies only when it is @-mentioned.
381
382 - `type: "mention_only"`
383
384 - `BetaClaudeTagReplyModeAlwaysAwake object`
385
386 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
387
388 - `type: "always_awake"`
389
390 - `BetaClaudeTagReplyModeThread object`
391
392 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
393
394 - `type: "thread"`
395
294396### Beta Claude Tag Settings Create
295397
296398- `BetaClaudeTagSettingsCreate object`
from line 441
339441
340442 minLength: 1, maxLength: 128
341443
444 - `reply_mode: optional BetaClaudeTagReplyMode or null`
445
446 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
447
448 - `BetaClaudeTagReplyModeAutomatic object`
449
450 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
451
452 - `type: "automatic"`
453
454 - `BetaClaudeTagReplyModeMentionOnly object`
455
456 Claude replies only when it is @-mentioned.
457
458 - `type: "mention_only"`
459
460 - `BetaClaudeTagReplyModeAlwaysAwake object`
461
462 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
463
464 - `type: "always_awake"`
465
466 - `BetaClaudeTagReplyModeThread object`
467
468 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
469
470 - `type: "thread"`
471
342472### Beta Claude Tag Settings Update
343473
344474- `BetaClaudeTagSettingsUpdate object`
from line 517
387517
388518 minLength: 1, maxLength: 128
389519
520 - `reply_mode: optional BetaClaudeTagReplyMode or null`
521
522 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
523
524 - `BetaClaudeTagReplyModeAutomatic object`
525
526 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
527
528 - `type: "automatic"`
529
530 - `BetaClaudeTagReplyModeMentionOnly object`
531
532 Claude replies only when it is @-mentioned.
533
534 - `type: "mention_only"`
535
536 - `BetaClaudeTagReplyModeAlwaysAwake object`
537
538 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
539
540 - `type: "always_awake"`
541
542 - `BetaClaudeTagReplyModeThread object`
543
544 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
545
546 - `type: "thread"`
547
390548### Beta Claude Tag Slack Channel Identifiers
391549
392550- `BetaClaudeTagSlackChannelIdentifiers object`
from line 641
483641
484642 The workspace's identifier, starting with `slws_`.
485643
644### Beta Claude Tag Writes Not Enabled Error Details
645
646- `BetaClaudeTagWritesNotEnabledErrorDetails object`
647
648 Changes through the Claude Tag API are not enabled for the organization.
649
650 - `error_code: "claude_tag_writes_not_enabled"`
651
652### Beta Compliance Configuration Restricted Error Details
653
654- `BetaComplianceConfigurationRestrictedErrorDetails object`
655
656 The organization's compliance configuration does not let Claude Tag store anything new.
657
658 - `error_code: "compliance_configuration_restricted"`
659
660### Beta Organization Level Scoped API Key Required Error Details
661
662- `BetaOrganizationLevelScopedAPIKeyRequiredErrorDetails object`
663
664 The credential is not a scoped API key that is bound at the organization level.
665
666 - `error_code: "organization_level_scoped_api_key_required"`
667
668### Beta Slack Channel Set Up Environment Not Found Error Details
669
670- `BetaSlackChannelSetUpEnvironmentNotFoundErrorDetails object`
671
672 `settings.environment_id` names no Environment within the organization's reach, and the request had set the channel up by then. The channel stays set up with every setting unset.
673
674 - `error_code: "slack_channel_set_up_environment_not_found"`
675
676 - `slack_channel_id: string`
677
678 The identifier of the channel the request set up, starting with `slch_`.
679
680### Beta Slack Channel Set Up Settings Conflict Error Details
681
682- `BetaSlackChannelSetUpSettingsConflictErrorDetails object`
683
684 The request set the channel up, and something else then changed the channel or removed it. Nothing of `settings` was stored.
685
686 - `error_code: "slack_channel_set_up_settings_conflict"`
687
688 A stable code that names the cause.
689
690 - `slack_channel_id: string`
691
692 The identifier of the channel the request set up, starting with `slch_`.
693
694### Beta Slack Channel Set Up Settings Refused Error Details
695
696- `BetaSlackChannelSetUpSettingsRefusedErrorDetails object`
697
698 The request set the channel up, and `settings` was then refused. The channel stays set up with every setting unset.
699
700 - `error_code: "slack_channel_set_up_settings_refused"`
701
702 A stable code that names the cause.
703
704 - `slack_channel_id: string`
705
706 The identifier of the channel the request set up, starting with `slch_`.
707
486708## Claude Tag › Slack Channels
487709
488710### Set Up Slack Channel
from line 831
609831
610832 - `"webhooks-2026-10-07"`
611833
834 - `"admin-user-sign-out-2026-10-08"`
835
612836 - `"message-threads-2026-08-12"`
613837
614838 - `"analytics-usage-cost-2026-08-24"`
from line 903
679903
680904 minLength: 1, maxLength: 128
681905
906 - `reply_mode: optional BetaClaudeTagReplyMode or null`
907
908 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
909
910 - `BetaClaudeTagReplyModeAutomatic object`
911
912 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
913
914 - `type: "automatic"`
915
916 - `BetaClaudeTagReplyModeMentionOnly object`
917
918 Claude replies only when it is @-mentioned.
919
920 - `type: "mention_only"`
921
922 - `BetaClaudeTagReplyModeAlwaysAwake object`
923
924 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
925
926 - `type: "always_awake"`
927
928 - `BetaClaudeTagReplyModeThread object`
929
930 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
931
932 - `type: "thread"`
933
682934#### Returns
683935
684936- `BetaClaudeTagSlackChannel object`
from line 991
739991
740992 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
741993
994 - `reply_mode: BetaClaudeTagReplyMode or null`
995
996 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
997
998 - `BetaClaudeTagReplyModeAutomatic object`
999
1000 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
1001
1002 - `type: "automatic"`
1003
1004 - `BetaClaudeTagReplyModeMentionOnly object`
1005
1006 Claude replies only when it is @-mentioned.
1007
1008 - `type: "mention_only"`
1009
1010 - `BetaClaudeTagReplyModeAlwaysAwake object`
1011
1012 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
1013
1014 - `type: "always_awake"`
1015
1016 - `BetaClaudeTagReplyModeThread object`
1017
1018 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
1019
1020 - `type: "thread"`
1021
7421022 - `slack: BetaClaudeTagSlackChannelIdentifiers`
7431023
7441024 Slack's own identifiers for the channel.
from line 1134
8541134 - `model: BetaClaudeTagSettingSource or null`
8551135
8561136 The settings level `model` comes from.
1137
1138 - `reply_mode: BetaClaudeTagSettingSource or null`
1139
1140 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
8571141
8581142 - `updated_at: string`
8591143
from line 1174
8901174 "type": "allow"
8911175 },
8921176 "instructions": "instructions",
893 "model": "model"
1177 "model": "model",
1178 "reply_mode": {
1179 "type": "automatic"
1180 }
8941181 },
8951182 "slack": {
8961183 "channel_id": "xx",
from line 1205
9181205 "model": {
9191206 "slack_channel_id": "slack_channel_id",
9201207 "type": "slack_channel"
1208 },
1209 "reply_mode": {
1210 "slack_channel_id": "slack_channel_id",
1211 "type": "slack_channel"
9211212 }
9221213 },
9231214 "type": "slack_channel",
from line 1364
10731364
10741365 - `"webhooks-2026-10-07"`
10751366
1367 - `"admin-user-sign-out-2026-10-08"`
1368
10761369 - `"message-threads-2026-08-12"`
10771370
10781371 - `"analytics-usage-cost-2026-08-24"`
from line 1432
11391432
11401433 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
11411434
1435 - `reply_mode: BetaClaudeTagReplyMode or null`
1436
1437 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
1438
1439 - `BetaClaudeTagReplyModeAutomatic object`
1440
1441 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
1442
1443 - `type: "automatic"`
1444
1445 - `BetaClaudeTagReplyModeMentionOnly object`
1446
1447 Claude replies only when it is @-mentioned.
1448
1449 - `type: "mention_only"`
1450
1451 - `BetaClaudeTagReplyModeAlwaysAwake object`
1452
1453 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
1454
1455 - `type: "always_awake"`
1456
1457 - `BetaClaudeTagReplyModeThread object`
1458
1459 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
1460
1461 - `type: "thread"`
1462
11421463 - `slack: BetaClaudeTagSlackChannelIdentifiers`
11431464
11441465 Slack's own identifiers for the channel.
from line 1575
12541575 - `model: BetaClaudeTagSettingSource or null`
12551576
12561577 The settings level `model` comes from.
1578
1579 - `reply_mode: BetaClaudeTagSettingSource or null`
1580
1581 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
12571582
12581583 - `updated_at: string`
12591584
from line 1614
12891614 "type": "allow"
12901615 },
12911616 "instructions": "instructions",
1292 "model": "model"
1617 "model": "model",
1618 "reply_mode": {
1619 "type": "automatic"
1620 }
12931621 },
12941622 "slack": {
12951623 "channel_id": "xx",
from line 1645
13171645 "model": {
13181646 "slack_channel_id": "slack_channel_id",
13191647 "type": "slack_channel"
1648 },
1649 "reply_mode": {
1650 "slack_channel_id": "slack_channel_id",
1651 "type": "slack_channel"
13201652 }
13211653 },
13221654 "type": "slack_channel",
from line 1795
14631795
14641796 - `"webhooks-2026-10-07"`
14651797
1798 - `"admin-user-sign-out-2026-10-08"`
1799
14661800 - `"message-threads-2026-08-12"`
14671801
14681802 - `"analytics-usage-cost-2026-08-24"`
from line 1863
15291863
15301864 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
15311865
1866 - `reply_mode: BetaClaudeTagReplyMode or null`
1867
1868 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
1869
1870 - `BetaClaudeTagReplyModeAutomatic object`
1871
1872 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
1873
1874 - `type: "automatic"`
1875
1876 - `BetaClaudeTagReplyModeMentionOnly object`
1877
1878 Claude replies only when it is @-mentioned.
1879
1880 - `type: "mention_only"`
1881
1882 - `BetaClaudeTagReplyModeAlwaysAwake object`
1883
1884 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
1885
1886 - `type: "always_awake"`
1887
1888 - `BetaClaudeTagReplyModeThread object`
1889
1890 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
1891
1892 - `type: "thread"`
1893
15321894 - `slack: BetaClaudeTagSlackChannelIdentifiers`
15331895
15341896 Slack's own identifiers for the channel.
from line 2006
16442006 - `model: BetaClaudeTagSettingSource or null`
16452007
16462008 The settings level `model` comes from.
2009
2010 - `reply_mode: BetaClaudeTagSettingSource or null`
2011
2012 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
16472013
16482014 - `updated_at: string`
16492015
from line 2039
16732039 "type": "allow"
16742040 },
16752041 "instructions": "instructions",
1676 "model": "model"
2042 "model": "model",
2043 "reply_mode": {
2044 "type": "automatic"
2045 }
16772046 },
16782047 "slack": {
16792048 "channel_id": "xx",
from line 2070
17012070 "model": {
17022071 "slack_channel_id": "slack_channel_id",
17032072 "type": "slack_channel"
2073 },
2074 "reply_mode": {
2075 "slack_channel_id": "slack_channel_id",
2076 "type": "slack_channel"
17042077 }
17052078 },
17062079 "type": "slack_channel",
from line 2211
18382211
18392212 - `"webhooks-2026-10-07"`
18402213
2214 - `"admin-user-sign-out-2026-10-08"`
2215
18412216 - `"message-threads-2026-08-12"`
18422217
18432218 - `"analytics-usage-cost-2026-08-24"`
from line 2267
18922267
18932268 minLength: 1, maxLength: 128
18942269
2270 - `reply_mode: optional BetaClaudeTagReplyMode or null`
2271
2272 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
2273
2274 - `BetaClaudeTagReplyModeAutomatic object`
2275
2276 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
2277
2278 - `type: "automatic"`
2279
2280 - `BetaClaudeTagReplyModeMentionOnly object`
2281
2282 Claude replies only when it is @-mentioned.
2283
2284 - `type: "mention_only"`
2285
2286 - `BetaClaudeTagReplyModeAlwaysAwake object`
2287
2288 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
2289
2290 - `type: "always_awake"`
2291
2292 - `BetaClaudeTagReplyModeThread object`
2293
2294 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
2295
2296 - `type: "thread"`
2297
18952298#### Returns
18962299
18972300- `BetaClaudeTagSlackChannel object`
from line 2355
19522355
19532356 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
19542357
2358 - `reply_mode: BetaClaudeTagReplyMode or null`
2359
2360 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
2361
2362 - `BetaClaudeTagReplyModeAutomatic object`
2363
2364 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
2365
2366 - `type: "automatic"`
2367
2368 - `BetaClaudeTagReplyModeMentionOnly object`
2369
2370 Claude replies only when it is @-mentioned.
2371
2372 - `type: "mention_only"`
2373
2374 - `BetaClaudeTagReplyModeAlwaysAwake object`
2375
2376 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
2377
2378 - `type: "always_awake"`
2379
2380 - `BetaClaudeTagReplyModeThread object`
2381
2382 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
2383
2384 - `type: "thread"`
2385
19552386 - `slack: BetaClaudeTagSlackChannelIdentifiers`
19562387
19572388 Slack's own identifiers for the channel.
from line 2498
20672498 - `model: BetaClaudeTagSettingSource or null`
20682499
20692500 The settings level `model` comes from.
2501
2502 - `reply_mode: BetaClaudeTagSettingSource or null`
2503
2504 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
20702505
20712506 - `updated_at: string`
20722507
from line 2535
21002535 "type": "allow"
21012536 },
21022537 "instructions": "instructions",
2103 "model": "model"
2538 "model": "model",
2539 "reply_mode": {
2540 "type": "automatic"
2541 }
21042542 },
21052543 "slack": {
21062544 "channel_id": "xx",
from line 2566
21282566 "model": {
21292567 "slack_channel_id": "slack_channel_id",
21302568 "type": "slack_channel"
2569 },
2570 "reply_mode": {
2571 "slack_channel_id": "slack_channel_id",
2572 "type": "slack_channel"
21312573 }
21322574 },
21332575 "type": "slack_channel",
from line 2706
22642706 - `"telemetry-destinations-2026-08-11"`
22652707
22662708 - `"webhooks-2026-10-07"`
2709
2710 - `"admin-user-sign-out-2026-10-08"`
22672711
22682712 - `"message-threads-2026-08-12"`
22692713
from line 2892
24482892
24492893 - `"webhooks-2026-10-07"`
24502894
2895 - `"admin-user-sign-out-2026-10-08"`
2896
24512897 - `"message-threads-2026-08-12"`
24522898
24532899 - `"analytics-usage-cost-2026-08-24"`
from line 2960
25142960
25152961 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
25162962
2963 - `reply_mode: BetaClaudeTagReplyMode or null`
2964
2965 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
2966
2967 - `BetaClaudeTagReplyModeAutomatic object`
2968
2969 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
2970
2971 - `type: "automatic"`
2972
2973 - `BetaClaudeTagReplyModeMentionOnly object`
2974
2975 Claude replies only when it is @-mentioned.
2976
2977 - `type: "mention_only"`
2978
2979 - `BetaClaudeTagReplyModeAlwaysAwake object`
2980
2981 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
2982
2983 - `type: "always_awake"`
2984
2985 - `BetaClaudeTagReplyModeThread object`
2986
2987 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
2988
2989 - `type: "thread"`
2990
25172991 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
25182992
25192993 Slack's own identifier for the workspace.
from line 3107
26333107 - `model: BetaClaudeTagSettingSource or null`
26343108
26353109 The settings level `model` comes from.
3110
3111 - `reply_mode: BetaClaudeTagSettingSource or null`
3112
3113 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
26363114
26373115 - `updated_at: string`
26383116
from line 3146
26683146 "type": "allow"
26693147 },
26703148 "instructions": "instructions",
2671 "model": "model"
3149 "model": "model",
3150 "reply_mode": {
3151 "type": "automatic"
3152 }
26723153 },
26733154 "slack": {
26743155 "workspace_id": "workspace_id"
from line 3176
26953176 "model": {
26963177 "slack_channel_id": "slack_channel_id",
26973178 "type": "slack_channel"
3179 },
3180 "reply_mode": {
3181 "slack_channel_id": "slack_channel_id",
3182 "type": "slack_channel"
26983183 }
26993184 },
27003185 "type": "slack_workspace",
from line 3326
28413326
28423327 - `"webhooks-2026-10-07"`
28433328
3329 - `"admin-user-sign-out-2026-10-08"`
3330
28443331 - `"message-threads-2026-08-12"`
28453332
28463333 - `"analytics-usage-cost-2026-08-24"`
from line 3394
29073394
29083395 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
29093396
3397 - `reply_mode: BetaClaudeTagReplyMode or null`
3398
3399 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
3400
3401 - `BetaClaudeTagReplyModeAutomatic object`
3402
3403 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
3404
3405 - `type: "automatic"`
3406
3407 - `BetaClaudeTagReplyModeMentionOnly object`
3408
3409 Claude replies only when it is @-mentioned.
3410
3411 - `type: "mention_only"`
3412
3413 - `BetaClaudeTagReplyModeAlwaysAwake object`
3414
3415 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
3416
3417 - `type: "always_awake"`
3418
3419 - `BetaClaudeTagReplyModeThread object`
3420
3421 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
3422
3423 - `type: "thread"`
3424
29103425 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
29113426
29123427 Slack's own identifier for the workspace.
from line 3541
30263541 - `model: BetaClaudeTagSettingSource or null`
30273542
30283543 The settings level `model` comes from.
3544
3545 - `reply_mode: BetaClaudeTagSettingSource or null`
3546
3547 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
30293548
30303549 - `updated_at: string`
30313550
from line 3574
30553574 "type": "allow"
30563575 },
30573576 "instructions": "instructions",
3058 "model": "model"
3577 "model": "model",
3578 "reply_mode": {
3579 "type": "automatic"
3580 }
30593581 },
30603582 "slack": {
30613583 "workspace_id": "workspace_id"
from line 3604
30823604 "model": {
30833605 "slack_channel_id": "slack_channel_id",
30843606 "type": "slack_channel"
3607 },
3608 "reply_mode": {
3609 "slack_channel_id": "slack_channel_id",
3610 "type": "slack_channel"
30853611 }
30863612 },
30873613 "type": "slack_workspace",
from line 3745
32193745
32203746 - `"webhooks-2026-10-07"`
32213747
3748 - `"admin-user-sign-out-2026-10-08"`
3749
32223750 - `"message-threads-2026-08-12"`
32233751
32243752 - `"analytics-usage-cost-2026-08-24"`
from line 3801
32733801
32743802 minLength: 1, maxLength: 128
32753803
3804 - `reply_mode: optional BetaClaudeTagReplyMode or null`
3805
3806 How Claude takes part in the channel: `automatic`, `mention_only`, `always_awake` or `thread`. Only a channel takes one: an update of a workspace that sends a value is refused, and one that sends null changes nothing. Null never clears it: sent to a channel that stores none it changes nothing, and sent to a channel that stores one it is refused, because a stored reply mode can be changed but never cleared; a caller that wants Claude's default behavior sends `automatic`.
3807
3808 - `BetaClaudeTagReplyModeAutomatic object`
3809
3810 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
3811
3812 - `type: "automatic"`
3813
3814 - `BetaClaudeTagReplyModeMentionOnly object`
3815
3816 Claude replies only when it is @-mentioned.
3817
3818 - `type: "mention_only"`
3819
3820 - `BetaClaudeTagReplyModeAlwaysAwake object`
3821
3822 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
3823
3824 - `type: "always_awake"`
3825
3826 - `BetaClaudeTagReplyModeThread object`
3827
3828 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
3829
3830 - `type: "thread"`
3831
32763832#### Returns
32773833
32783834- `BetaClaudeTagSlackWorkspace object`
from line 3889
33333889
33343890 The model Claude uses: a model identifier or the name of a model line. The nearest settings level that sets it decides. When none does, Claude uses the product's default model.
33353891
3892 - `reply_mode: BetaClaudeTagReplyMode or null`
3893
3894 How Claude takes part in the channel. Only a channel stores one, and no settings level passes one on, so it is always null on a workspace. Null on a channel means the channel stores none yet: Claude then follows the reply mode chosen in Slack, if one was, else `automatic`. A stored reply mode can be changed but never cleared.
3895
3896 - `BetaClaudeTagReplyModeAutomatic object`
3897
3898 Claude reads along and joins in when it can help, and pauses on its own in quiet or busy channels.
3899
3900 - `type: "automatic"`
3901
3902 - `BetaClaudeTagReplyModeMentionOnly object`
3903
3904 Claude replies only when it is @-mentioned.
3905
3906 - `type: "mention_only"`
3907
3908 - `BetaClaudeTagReplyModeAlwaysAwake object`
3909
3910 Like `automatic`, but Claude never pauses on its own. Available where it is enabled for the channel.
3911
3912 - `type: "always_awake"`
3913
3914 - `BetaClaudeTagReplyModeThread object`
3915
3916 Every new top-level message in the channel gets its own reply from Claude, in a thread under it. Available where it is enabled for the channel, and only once Claude has been used in the channel.
3917
3918 - `type: "thread"`
3919
33363920 - `slack: BetaClaudeTagSlackWorkspaceIdentifiers`
33373921
33383922 Slack's own identifier for the workspace.
from line 4036
34524036 - `model: BetaClaudeTagSettingSource or null`
34534037
34544038 The settings level `model` comes from.
4039
4040 - `reply_mode: BetaClaudeTagSettingSource or null`
4041
4042 The settings level `reply_mode` comes from: the channel when it stores one. With `include_inherited=true` and no stored mode it is `default`.
34554043
34564044 - `updated_at: string`
34574045
from line 4073
34854073 "type": "allow"
34864074 },
34874075 "instructions": "instructions",
3488 "model": "model"
4076 "model": "model",
4077 "reply_mode": {
4078 "type": "automatic"
4079 }
34894080 },
34904081 "slack": {
34914082 "workspace_id": "workspace_id"
from line 4103
35124103 "model": {
35134104 "slack_channel_id": "slack_channel_id",
35144105 "type": "slack_channel"
4106 },
4107 "reply_mode": {
4108 "slack_channel_id": "slack_channel_id",
4109 "type": "slack_channel"
35154110 }
35164111 },
35174112 "type": "slack_workspace",
from line 4251
36564251 - `"telemetry-destinations-2026-08-11"`
36574252
36584253 - `"webhooks-2026-10-07"`
4254
4255 - `"admin-user-sign-out-2026-10-08"`
36594256
36604257 - `"message-threads-2026-08-12"`
36614258
from line 4453
38564453
38574454 - `"webhooks-2026-10-07"`
38584455
4456 - `"admin-user-sign-out-2026-10-08"`
4457
38594458 - `"message-threads-2026-08-12"`
38604459
38614460 - `"analytics-usage-cost-2026-08-24"`
from line 4658
40594658 - `"telemetry-destinations-2026-08-11"`
40604659
40614660 - `"webhooks-2026-10-07"`
4661
4662 - `"admin-user-sign-out-2026-10-08"`
40624663
40634664 - `"message-threads-2026-08-12"`
40644665
from line 4872
42714872
42724873 - `"webhooks-2026-10-07"`
42734874
4875 - `"admin-user-sign-out-2026-10-08"`
4876
42744877 - `"message-threads-2026-08-12"`
42754878
42764879 - `"analytics-usage-cost-2026-08-24"`
from line 5113
45105113
45115114 - `"webhooks-2026-10-07"`
45125115
5116 - `"admin-user-sign-out-2026-10-08"`
5117
45135118 - `"message-threads-2026-08-12"`
45145119
45155120 - `"analytics-usage-cost-2026-08-24"`
from line 5321
47165321
47175322 - `"webhooks-2026-10-07"`
47185323
5324 - `"admin-user-sign-out-2026-10-08"`
5325
47195326 - `"message-threads-2026-08-12"`
47205327
47215328 - `"analytics-usage-cost-2026-08-24"`
47225329
No line in this hunk matches that.