<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Settings-Json on Chen Kai Blog</title><link>https://www.chenk.top/en/tags/settings-json/</link><description>Recent content in Settings-Json on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 26 Apr 2026 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/tags/settings-json/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code Hands-On (9): settings.json, the Three-Layer Permission Model, and Env</title><link>https://www.chenk.top/en/claude-code-learn/09-settings-and-permissions/</link><pubDate>Sun, 26 Apr 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/claude-code-learn/09-settings-and-permissions/</guid><description>&lt;p>Hooks let you interact with Claude Code, while settings.json specifies what it can access. This file also confuses many with its precedence rules.&lt;/p>
&lt;p>This chapter is the missing reference.&lt;/p>
&lt;p>&lt;figure class="article-figure">
 &lt;img src="https://blog-pic-ck.oss-cn-beijing.aliyuncs.com/posts/en/claude-code-learn/09-settings-and-permissions/illustration_1.png" alt="Claude Code Hands-On (9): settings.json, the Three-Layer Permission Model, and Env — Chapter overview" loading="lazy" decoding="async" class="content-image">
 
&lt;/figure>
&lt;/p>
&lt;hr>
&lt;h2 id="the-three-layers" class="heading-anchor">The three layers&lt;a href="#the-three-layers" class="heading-link" aria-label="Permalink to this section" title="Copy link to this section">#&lt;/a>
&lt;/h2>&lt;p>There are three settings.json files Claude Code reads, in order:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>User settings&lt;/strong> — &lt;code>~/.claude/settings.json&lt;/code>. Applies to every project on your machine.&lt;/li>
&lt;li>&lt;strong>Project settings&lt;/strong> — &lt;code>&amp;lt;repo&amp;gt;/.claude/settings.json&lt;/code>. Committed to git. Applies to anyone working in this repo.&lt;/li>
&lt;li>&lt;strong>Local settings&lt;/strong> — &lt;code>&amp;lt;repo&amp;gt;/.claude/settings.local.json&lt;/code>. Gitignored. Your private overrides for this repo.&lt;/li>
&lt;/ol>
&lt;p>The merge rule: later layers override earlier ones, key by key. &lt;strong>Permissions are additive&lt;/strong> for &lt;code>allow&lt;/code>, &lt;strong>subtractive&lt;/strong> for &lt;code>deny&lt;/code> — once any layer denies something, no other layer can re-allow it. This asymmetry is what makes the system safe.&lt;/p></description></item><item><title>Claude Code Hands-On (1): Install, the Three-Layer Config, and the # @ /init Trio</title><link>https://www.chenk.top/en/claude-code-learn/01-install-and-config/</link><pubDate>Sat, 18 Apr 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/claude-code-learn/01-install-and-config/</guid><description>&lt;p>This is the first in a ten-part field guide to Claude Code. The order is deliberate: each piece unlocks the next. By the end, you&amp;rsquo;ll be using features that 90% of users never touch.&lt;/p>
&lt;p>&lt;figure class="article-figure">
 &lt;img src="https://blog-pic-ck.oss-cn-beijing.aliyuncs.com/posts/en/claude-code-learn/01-install-and-config/illustration_1.png" alt="Claude Code Hands-On (1): Install, the Three-Layer Config, and the # @ /init Trio — Chapter overview" loading="lazy" decoding="async" class="content-image">
 
&lt;/figure>
&lt;/p>
&lt;hr>
&lt;h2 id="install" class="heading-anchor">Install&lt;a href="#install" class="heading-link" aria-label="Permalink to this section" title="Copy link to this section">#&lt;/a>
&lt;/h2>&lt;p>There is one supported install path, and it&amp;rsquo;s the right one.&lt;/p></description></item></channel></rss>