6 6
7> Publish a live, shareable page from your session with Artifacts, match tool parameters in deny and ask rules, and set any setting from the prompt with /config.7> Publish a live, shareable page from your session with Artifacts, match tool parameters in deny and ask rules, and set any setting from the prompt with /config.
8 8
9<div className="digest-meta">9Releases [v2.1.178 → v2.1.183](/docs/en/changelog#2-1-178)
10 <span>Releases <a href="/docs/en/changelog#2-1-178">v2.1.178 → v2.1.183</a></span>103 features · June 15–19
11 <span>3 features · June 15–19</span>
12</div>
13 11
14<div className="digest-feature">12Artifacts
15 <div className="digest-feature-header">
16 <span className="digest-feature-title">Artifacts</span>
17 </div>
18 13
19 <p className="digest-feature-lede">An artifact is a live, interactive page that Claude Code publishes from your session to a private URL on claude.ai, and it updates in place as the session keeps working. Ask for one when terminal text is the wrong medium, such as a PR walkthrough with the diff annotated inline or a dashboard built from session data. Artifacts are in beta on Team and Enterprise plans.</p>14An artifact is a live, interactive page that Claude Code publishes from your session to a private URL on claude.ai, and it updates in place as the session keeps working. Ask for one when terminal text is the wrong medium, such as a PR walkthrough with the diff annotated inline or a dashboard built from session data. Artifacts are in beta on Team and Enterprise plans.
20 15
21 <Frame>16<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" />
22 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/1ylKDoQynT1UgfEK/images/whats-new/artifacts.mp4?fit=max&auto=format&n=1ylKDoQynT1UgfEK&q=85&s=7f5391559d2bc69989621b36322fcff1" data-path="images/whats-new/artifacts.mp4" />
23 </Frame>
24 17
25 <p className="digest-feature-try">Ask Claude for a page, then approve the publish prompt:</p>18Ask Claude for a page, then approve the publish prompt:
26 19
27 ```text title="Claude Code" wrap theme={null}20```text title="Claude Code" wrap theme={null}
28 Make an artifact that walks through this PR with the diff annotated inline.21Make an artifact that walks through this PR with the diff annotated inline.
29 ```22```
30 23
31 <a className="digest-feature-link" href="/docs/en/artifacts#create-an-artifact">Create an artifact</a>24[Create an artifact](/docs/en/artifacts#create-an-artifact)
32</div>
33 25
34<div className="digest-feature">26Match by input parameter
35 <div className="digest-feature-header">27v2.1.178
36 <span className="digest-feature-title">Match by input parameter</span>
37 <span className="digest-feature-pill">v2.1.178</span>
38 </div>
39 28
40 <p className="digest-feature-lede">Deny and ask permission rules can now match a tool's input parameters with the <code>Tool(param:value)</code> syntax. For example, <code>Agent(model:opus)</code> matches subagent spawns that request the Opus model tier. The value accepts `*` as a wildcard, so `Agent(isolation:*)` matches any explicit isolation value.</p>29Deny and ask permission rules can now match a tool's input parameters with the `Tool(param:value)` syntax. For example, `Agent(model:opus)` matches subagent spawns that request the Opus model tier. The value accepts `*` as a wildcard, so `Agent(isolation:*)` matches any explicit isolation value.
41 30
42 <p className="digest-feature-try">Add a parameter rule to the deny list in <code>settings.json</code>:</p>31Add a parameter rule to the deny list in `settings.json`:
43 32
44 ```json .claude/settings.json {3} theme={null}33```json .claude/settings.json {3} theme={null}
45 {34{
46 "permissions": {35 "permissions": {
47 "deny": ["Agent(model:opus)"]36 "deny": ["Agent(model:opus)"]
48 }37 }
49 }38}
50 ```39```
51 40
52 <a className="digest-feature-link" href="/docs/en/permissions#match-by-input-parameter">Match by input parameter</a>41[Match by input parameter](/docs/en/permissions#match-by-input-parameter)
53</div>42
54 43Set any setting from the prompt
55<div className="digest-feature">44v2.1.181
56 <div className="digest-feature-header">45
57 <span className="digest-feature-title">Set any setting from the prompt</span>46Pass `key=value` to `/config` to change a setting directly without opening the Settings interface. The syntax also works in non-interactive mode with the `-p` flag and from Remote Control.
58 <span className="digest-feature-pill">v2.1.181</span>47
59 </div>48Set the `thinking` setting from the prompt:
60 49
61 <p className="digest-feature-lede">Pass <code>key=value</code> to <code>/config</code> to change a setting directly without opening the Settings interface. The syntax also works in non-interactive mode with the <code>-p</code> flag and from Remote Control.</p>50```text title="Claude Code" wrap theme={null}
62 51/config thinking=false
63 <p className="digest-feature-try">Set the <code>thinking</code> setting from the prompt:</p>52```
64 53
65 ```text title="Claude Code" wrap theme={null}54[Commands reference](/docs/en/commands#all-commands)
66 /config thinking=false55
67 ```56Other wins
68 57
69 <a className="digest-feature-link" href="/docs/en/commands#all-commands">Commands reference</a>58Auto mode now blocks destructive git commands (`git reset --hard`, `git clean -fd`, `git stash drop`) when you didn't ask to discard local work, and blocks `terraform destroy` unless you asked for the specific stackSet the new `attribution.sessionUrl` setting to `false` to omit the claude.ai session link from commits and PRs in web and Remote Control sessionsIn the `/config` interface, Enter and Space both change the selected setting, and Esc now saves and closes instead of revertingNew `sandbox.allowAppleEvents` opt-in setting lets sandboxed commands send Apple Events on macOSPoint `CLAUDE_CLIENT_PRESENCE_FILE` at a marker file to suppress mobile push notifications while you're at the machineLong paragraphs now stream line by line instead of waiting for the first line breakAPI connection drops mid-thinking now retry automatically instead of showing "Connection closed while thinking"With `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` set, every session has one implicit team, so you spawn teammates directly with the Agent tool's `name` parameterSkills in nested `.claude/skills` directories load when working on files there; on a name clash the nested skill appears as `<dir>:<name>` so both stay availableFixed prompt caching not reading on a custom `ANTHROPIC_BASE_URL` and on Microsoft FoundryFixed Write and Edit producing zero-byte or truncated files on network drives and cloud-synced folders
70</div>
71
72<div className="digest-wins">
73 <p className="digest-wins-title">Other wins</p>
74
75 <div className="digest-wins-grid">
76 <div>Auto mode now blocks destructive git commands (`git reset --hard`, `git clean -fd`, `git stash drop`) when you didn't ask to discard local work, and blocks <code>terraform destroy</code> unless you asked for the specific stack</div>
77 <div>Set the new <code>attribution.sessionUrl</code> setting to <code>false</code> to omit the claude.ai session link from commits and PRs in web and Remote Control sessions</div>
78 <div>In the <code>/config</code> interface, Enter and Space both change the selected setting, and Esc now saves and closes instead of reverting</div>
79 <div>New <code>sandbox.allowAppleEvents</code> opt-in setting lets sandboxed commands send Apple Events on macOS</div>
80 <div>Point <code>CLAUDE\_CLIENT\_PRESENCE\_FILE</code> at a marker file to suppress mobile push notifications while you're at the machine</div>
81 <div>Long paragraphs now stream line by line instead of waiting for the first line break</div>
82 <div>API connection drops mid-thinking now retry automatically instead of showing "Connection closed while thinking"</div>
83 <div>With <code>CLAUDE\_CODE\_EXPERIMENTAL\_AGENT\_TEAMS=1</code> set, every session has one implicit team, so you spawn teammates directly with the Agent tool's <code>name</code> parameter</div>
84 <div>Skills in nested <code>.claude/skills</code> directories load when working on files there; on a name clash the nested skill appears as `<dir>:<name>` so both stay available</div>
85 <div>Fixed prompt caching not reading on a custom <code>ANTHROPIC\_BASE\_URL</code> and on Microsoft Foundry</div>
86 <div>Fixed Write and Edit producing zero-byte or truncated files on network drives and cloud-synced folders</div>
87 </div>
88</div>
89 59
90[Full changelog for v2.1.178–v2.1.183 →](/docs/en/changelog#2-1-178)60[Full changelog for v2.1.178–v2.1.183 →](/docs/en/changelog#2-1-178)