6 6
7> Claude Code の設定を変更し、キーが属するスコープを選択し、変更を確認し、複数の場所でキーが設定されている場合に Claude Code が使用する値を学びます。7> Claude Code の設定を変更し、キーが属するスコープを選択し、変更を確認し、複数の場所でキーが設定されている場合に Claude Code が使用する値を学びます。
8 8
9export const SettingsPrecedence = () => {
10 const LEVELS = [{
11 n: 1,
12 name: 'Managed settings',
13 file: 'managed-settings.json, MDM, or the claude.ai console',
14 who: 'Your organization',
15 w: 390
16 }, {
17 n: 2,
18 name: 'Command line',
19 file: 'claude --settings',
20 who: 'You, this session',
21 w: 420
22 }, {
23 n: 3,
24 name: 'Project local',
25 file: '.claude/settings.local.json',
26 who: 'You, this project',
27 w: 480
28 }, {
29 n: 4,
30 name: 'Shared project',
31 file: '.claude/settings.json',
32 who: 'Everyone in the project',
33 w: 540
34 }, {
35 n: 5,
36 name: 'User',
37 file: '~/.claude/settings.json',
38 who: 'You, every project',
39 w: 600
40 }];
41 const W = 760;
42 const ROW = 58;
43 const GAP = 8;
44 const TOP = 34;
45 const H = TOP + LEVELS.length * (ROW + GAP) + 30;
46 const cx = W / 2;
47 const mono = 'var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)';
48 const sans = 'var(--font-sans, system-ui, -apple-system, sans-serif)';
49 return <div className="sp-root not-prose" role="img" aria-label="Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.">
50 <style>{`
51 .sp-root { --sp-text: #1A1918; --sp-sub: #5E5D59; --sp-faint: #8A8880; --sp-fill: #F5F4EF; --sp-stroke: rgba(0,0,0,0.12); --sp-top: #D97757; --sp-top-fill: rgba(217,119,87,0.14); --sp-arrow: #8A8880; margin: 1.25rem 0; }
52 .dark .sp-root { --sp-text: #F1EFE9; --sp-sub: #B8B5AD; --sp-faint: #8A8880; --sp-fill: #24231F; --sp-stroke: rgba(255,255,255,0.12); --sp-top-fill: rgba(217,119,87,0.22); --sp-arrow: #8A8880; }
53 .sp-root svg { width: 100%; height: auto; display: block; max-width: ${W}px; margin: 0 auto; }
54 `}</style>
55 <svg viewBox={`0 0 ${W} ${H}`} xmlns="http://www.w3.org/2000/svg">
56 <text x={cx} y={18} textAnchor="middle" fontFamily={sans} fontSize="12.5" fontWeight="600" fill="var(--sp-sub)">Highest precedence</text>
57 {LEVELS.map((l, i) => {
58 const y = TOP + i * (ROW + GAP);
59 const x = cx - l.w / 2;
60 const top = i === 0;
61 return <g key={l.n}>
62 <rect x={x} y={y} width={l.w} height={ROW} rx={10} fill={top ? 'var(--sp-top-fill)' : 'var(--sp-fill)'} stroke={top ? 'var(--sp-top)' : 'var(--sp-stroke)'} strokeWidth={top ? 1.5 : 1} />
63 <text x={x + 14} y={y + 24} fontFamily={sans} fontSize="14" fontWeight="600" fill="var(--sp-text)">{l.n}. {l.name}</text>
64 <text x={x + 14} y={y + 43} fontFamily={mono} fontSize="11.5" fill="var(--sp-sub)">{l.file}</text>
65 <text x={x + l.w - 14} y={y + 24} textAnchor="end" fontFamily={sans} fontSize="12" fill="var(--sp-faint)">{l.who}</text>
66 </g>;
67 })}
68 <text x={cx} y={H - 10} textAnchor="middle" fontFamily={sans} fontSize="12.5" fontWeight="600" fill="var(--sp-sub)">Lowest precedence</text>
69 <g stroke="var(--sp-arrow)" strokeWidth="1.5" fill="none">
70 <line x1={W - 40} y1={TOP + 10} x2={W - 40} y2={H - 38} />
71 <path d={`M ${W - 46} ${TOP + 18} L ${W - 40} ${TOP + 10} L ${W - 34} ${TOP + 18}`} />
72 </g>
73 <text x={W - 40} y={H - 22} textAnchor="middle" fontFamily={sans} fontSize="10.5" fill="var(--sp-faint)">overrides</text>
74 </svg>
75 </div>;
76};
77
78export const SettingsScope = ({defaultSelected = 'project'}) => {
79 const FILES = [{
80 id: 'user',
81 path: '~/.claude/settings.json'
82 }, {
83 id: 'project',
84 path: 'acme-app/.claude/settings.json'
85 }, {
86 id: 'local',
87 path: 'acme-app/.claude/settings.local.json'
88 }, {
89 id: 'managed',
90 path: 'Managed settings',
91 ring: 'managed-settings.json, MDM, or the claude.ai console'
92 }];
93 const SHORT = {
94 user: '~/.claude/settings.json',
95 project: 'acme-app/.claude/settings.json',
96 local: 'acme-app/.claude/settings.local.json',
97 managed: 'managed-settings.json, MDM, or the claude.ai console'
98 };
99 const TILE_MARK = {
100 project: 'settings.json',
101 local: 'settings.local.json'
102 };
103 const initial = FILES.some(f => f.id === defaultSelected) ? defaultSelected : 'project';
104 const [sel, setSel] = useState(initial);
105 const [scale, setScale] = useState(1);
106 const [isFullscreen, setIsFullscreen] = useState(false);
107 const rootRef = useRef(null);
108 const frameRef = useRef(null);
109 const CANVAS_W = 862;
110 const CANVAS_H = 240;
111 useEffect(() => {
112 const el = frameRef.current;
113 if (!el) return;
114 const measure = () => setScale(Math.min(1, el.clientWidth / CANVAS_W));
115 measure();
116 if (typeof ResizeObserver === 'undefined') {
117 window.addEventListener('resize', measure);
118 return () => window.removeEventListener('resize', measure);
119 }
120 const ro = new ResizeObserver(measure);
121 ro.observe(el);
122 return () => ro.disconnect();
123 }, []);
124 useEffect(() => {
125 const onFsChange = () => setIsFullscreen(!!document.fullscreenElement);
126 document.addEventListener('fullscreenchange', onFsChange);
127 return () => document.removeEventListener('fullscreenchange', onFsChange);
128 }, []);
129 const toggleFullscreen = () => {
130 if (!rootRef.current) return;
131 if (document.fullscreenElement) document.exitFullscreen(); else rootRef.current.requestFullscreen().catch(() => {});
132 };
133 const COVERAGE = {
134 user: ['website', 'api', 'yacme'],
135 project: ['yacme', 'tacme', 'cacme'],
136 local: ['yacme'],
137 managed: ['website', 'api', 'yacme', 'tacme', 'cacme']
138 };
139 const RINGS = {
140 local: {
141 l: 282,
142 t: 50,
143 w: 142,
144 h: 124
145 },
146 project: {
147 l: 282,
148 t: 50,
149 w: 560,
150 h: 124
151 },
152 user: {
153 l: 2,
154 t: 34,
155 w: 446,
156 h: 198
157 },
158 managed: {
159 l: 0,
160 t: 32,
161 w: 862,
162 h: 204
163 }
164 };
165 const TILES = [{
166 id: 'website',
167 name: 'website/',
168 left: 30,
169 caption: ''
170 }, {
171 id: 'api',
172 name: 'api/',
173 left: 160,
174 caption: ''
175 }, {
176 id: 'yacme',
177 name: 'acme-app/',
178 left: 290,
179 caption: ''
180 }, {
181 id: 'tacme',
182 name: 'acme-app/',
183 left: 497,
184 caption: sel === 'project' ? 'their clone, once you commit the file' : 'their clone'
185 }, {
186 id: 'cacme',
187 name: 'acme-app/',
188 left: 704,
189 caption: sel === 'project' ? 'fresh clone, once you commit the file' : sel === 'managed' ? 'server-managed only' : 'fresh clone'
190 }];
191 const FILE_AT = {
192 user: {
193 machine: 'you',
194 tiles: []
195 },
196 project: {
197 machine: null,
198 tiles: ['yacme', 'tacme', 'cacme']
199 },
200 local: {
201 machine: null,
202 tiles: ['yacme']
203 },
204 managed: {
205 machine: null,
206 tiles: []
207 }
208 };
209 const fileAt = FILE_AT[sel];
210 const coverage = COVERAGE[sel];
211 const ring = RINGS[sel];
212 const selFile = FILES.find(f => f.id === sel);
213 const FolderIcon = ({open}) => <svg width="15" height="15" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.3" strokeLinejoin="round" aria-hidden="true">
214 <path d="M1.5 4.5a1 1 0 0 1 1-1h3.2l1.3 1.5h6a1 1 0 0 1 1 1V12a1 1 0 0 1-1 1h-10.5a1 1 0 0 1-1-1z" />
215 {open && <path d="M1.5 7.5h13" />}
216 </svg>;
217 const FileIcon = () => <svg width="10" height="10" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.3" strokeLinejoin="round" aria-hidden="true">
218 <path d="M4 1.5h5.5L13 5v9.5H4z" />
219 <path d="M9.5 1.5V5H13" />
220 </svg>;
221 const CloudIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.3" strokeLinejoin="round" aria-hidden="true">
222 <path d="M4.5 12.5h7a2.5 2.5 0 0 0 .4-4.97A3.5 3.5 0 0 0 5.2 6.6 3 3 0 0 0 4.5 12.5z" />
223 </svg>;
224 const LaptopIcon = () => <svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" strokeWidth="1.3" strokeLinejoin="round" aria-hidden="true">
225 <rect x="2.5" y="3" width="11" height="7.5" rx="1" />
226 <path d="M1 12.5h14" />
227 </svg>;
228 return <div ref={rootRef} className={'ssc-root not-prose' + (isFullscreen ? ' ssc-fs' : '')}>
229 <style>{`
230 .ssc-root {
231 --ssc-bg: #FFFFFF;
232 --ssc-text: #1A1918;
233 --ssc-sub: #5E5D59;
234 --ssc-faint: #8A8880;
235 --ssc-border: rgba(0,0,0,0.12);
236 --ssc-panel: #F5F4EF;
237 --ssc-tile: #FAFAF8;
238 --ssc-clay: #D97757;
239 --ssc-clay-bg: rgba(217,119,87,0.14);
240 --ssc-label: #B0562F;
241 --ssc-hover: rgba(115,114,108,0.10);
242 font-family: var(--font-sans, system-ui, -apple-system, sans-serif);
243 background: var(--ssc-bg);
244 color: var(--ssc-text);
245 border: 1px solid var(--ssc-border);
246 border-radius: 16px;
247 padding: 20px 24px 24px;
248 margin: 1.5rem 0;
249 box-sizing: border-box;
250 }
251 .dark .ssc-root {
252 --ssc-bg: #1B1A18;
253 --ssc-text: #F1EFE9;
254 --ssc-sub: #B8B5AD;
255 --ssc-faint: #8A8880;
256 --ssc-border: rgba(255,255,255,0.12);
257 --ssc-panel: #24231F;
258 --ssc-tile: #2A2925;
259 --ssc-clay-bg: rgba(217,119,87,0.20);
260 --ssc-label: #EBC9B7;
261 }
262 .ssc-fs { display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 0; border-radius: 0; height: 100vh; }
263 .ssc-fs .ssc-head { width: 100%; max-width: ${CANVAS_W}px; }
264 .ssc-fs .ssc-frame { width: 100%; }
265 .ssc-mono { font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace); }
266 .ssc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
267 .ssc-files { display: flex; gap: 8px; flex-wrap: wrap; }
268 .ssc-file {
269 font-size: 12.5px; font-weight: 430; padding: 8px 13px; border-radius: 10px; cursor: pointer;
270 border: 0.5px solid var(--ssc-border); background: var(--ssc-tile); color: var(--ssc-text);
271 white-space: nowrap; transition: background 0.2s, border-color 0.2s;
272 }
273 .ssc-file:hover { filter: brightness(0.97); }
274 .ssc-file[aria-pressed="true"] { font-weight: 600; border: 1.5px solid var(--ssc-clay); background: var(--ssc-clay-bg); }
275 .ssc-fsbtn {
276 display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0;
277 border: none; background: none; border-radius: 6px; cursor: pointer; color: var(--ssc-faint); font-size: 15px;
278 }
279 .ssc-fsbtn:hover { background: var(--ssc-hover); }
280 .ssc-frame { width: 100%; max-width: ${CANVAS_W}px; margin: 0 auto; }
281 .ssc-canvas { position: relative; width: ${CANVAS_W}px; height: ${CANVAS_H}px; transform-origin: top left; }
282 .ssc-machine { position: absolute; top: 42px; height: 182px; background: var(--ssc-panel); border-radius: 16px; }
283 .ssc-machine-label { position: absolute; top: 192px; display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; }
284 .ssc-tile {
285 position: absolute; top: 58px; width: 126px; height: 108px; border-radius: 12px; padding: 11px 12px; box-sizing: border-box;
286 background: var(--ssc-tile); border: 0.5px solid var(--ssc-border); opacity: 0.6;
287 transition: background 0.25s, border-color 0.25s, opacity 0.25s;
288 }
289 .ssc-tile.ssc-on { background: var(--ssc-clay-bg); border: 1px solid var(--ssc-clay); opacity: 1; }
290 .ssc-tile-name { display: flex; align-items: center; gap: 6px; color: var(--ssc-faint); }
291 .ssc-tile.ssc-on .ssc-tile-name { color: var(--ssc-clay); }
292 .ssc-tile-name span { font-size: 12px; font-weight: 430; white-space: nowrap; color: var(--ssc-text); }
293 .ssc-tile.ssc-on .ssc-tile-name span { font-weight: 600; }
294 .ssc-tile-caption { font-size: 10.5px; color: var(--ssc-sub); margin-top: 5px; line-height: 1.35; }
295 .ssc-filemark {
296 position: absolute; left: 5px; right: 5px; bottom: 8px; display: inline-flex; align-items: center; justify-content: center; gap: 2px;
297 font-size: 8.5px; color: var(--ssc-label); background: var(--ssc-bg); border: 1px solid var(--ssc-clay);
298 border-radius: 6px; padding: 2px 3px; white-space: nowrap; overflow: hidden;
299 }
300 .ssc-filemark svg { flex-shrink: 0; }
301 .ssc-machine-filemark { display: inline-flex; align-items: center; gap: 4px; margin-left: 10px; font-size: 10.5px; font-weight: 500; color: var(--ssc-label); }
302 .ssc-ring {
303 position: absolute; border: 2px solid var(--ssc-clay); border-radius: 18px; pointer-events: none;
304 transition: left 0.35s ease, top 0.35s ease, width 0.35s ease, height 0.35s ease;
305 }
306 .ssc-ring-label {
307 position: absolute; font-size: 12px; font-weight: 600; color: var(--ssc-label); white-space: nowrap; pointer-events: none;
308 transition: left 0.35s ease, top 0.35s ease;
309 }
310 `}</style>
311
312 <div className="ssc-head">
313 <div className="ssc-files" role="group" aria-label="Settings file">
314 {FILES.map(f => <button key={f.id} type="button" className="ssc-file ssc-mono" aria-pressed={f.id === sel} onClick={() => setSel(f.id)}>{f.path}</button>)}
315 </div>
316 <button type="button" className="ssc-fsbtn" onClick={toggleFullscreen} aria-label={isFullscreen ? 'Exit fullscreen' : 'Enter fullscreen'} title={isFullscreen ? 'Exit fullscreen' : 'Fullscreen'}>{isFullscreen ? '⤡' : '⛶'}</button>
317 </div>
318
319 <div ref={frameRef} className="ssc-frame" style={{
320 height: CANVAS_H * scale + 'px'
321 }}>
322 <div className="ssc-canvas" style={{
323 transform: 'scale(' + scale + ')'
324 }}>
325 <div className="ssc-machine" style={{
326 left: '10px',
327 width: '430px'
328 }} />
329 <span className="ssc-machine-label" style={{
330 left: '30px'
331 }}><LaptopIcon />Your machine{fileAt.machine === 'you' && <span className="ssc-machine-filemark ssc-mono"><FileIcon />{selFile.path}</span>}</span>
332 <div className="ssc-machine" style={{
333 left: '460px',
334 width: '200px'
335 }} />
336 <span className="ssc-machine-label" style={{
337 left: '470px'
338 }}><LaptopIcon />A teammate’s machine</span>
339 <div className="ssc-machine" style={{
340 left: '682px',
341 width: '170px'
342 }} />
343 <span className="ssc-machine-label" style={{
344 left: '692px'
345 }}><CloudIcon />A cloud session</span>
346
347 {TILES.map(t => {
348 const on = coverage.includes(t.id);
349 return <div key={t.id} className={'ssc-tile' + (on ? ' ssc-on' : '')} style={{
350 left: t.left + 'px'
351 }}>
352 <div className="ssc-tile-name"><FolderIcon open={on} /><span className="ssc-mono">{t.name}</span></div>
353 {t.caption && <div className="ssc-tile-caption">{t.caption}</div>}
354 {fileAt.tiles.includes(t.id) && <span className="ssc-filemark ssc-mono" title={SHORT[sel]}><FileIcon />{TILE_MARK[sel]}</span>}
355 </div>;
356 })}
357
358 <div className="ssc-ring" style={{
359 left: ring.l + 'px',
360 top: ring.t + 'px',
361 width: ring.w + 'px',
362 height: ring.h + 'px'
363 }} />
364 <span className="ssc-ring-label ssc-mono" style={{
365 left: ring.l + 14 + 'px',
366 top: ring.t - 26 + 'px'
367 }}>{selFile.ring || selFile.path}</span>
368 </div>
369 </div>
370 </div>;
371};
372
373設定は、Claude Code の動作を変更する JSON キーです。どのモデルで開始するか、何を確認なしで実行できるか、どのファイルを読み取れないか、ターミナルでどのように見えるか、および組織が強制する内容を決定します。9設定は、Claude Code の動作を変更する JSON キーです。どのモデルで開始するか、何を確認なしで実行できるか、どのファイルを読み取れないか、ターミナルでどのように見えるか、および組織が強制する内容を決定します。
374 10
375<Tip>11> [!TIP]
376 特定のキーを検索するには、[すべての設定](/docs/ja/settings-reference)に移動してください。すべてのキーが、設定するファイル、デフォルト、および例とともにリストされています。12>
377</Tip>13> 特定のキーを検索するには、[すべての設定](/docs/ja/settings-reference)に移動してください。すべてのキーが、設定するファイル、デフォルト、および例とともにリストされています。
378 14
379Claude Code は `~/.claude/settings.json` などの JSON 設定ファイルから設定を読み込みます。いくつかの場所でそれらを探し、[設定を読み込むファイルが、その設定が誰に適用されるかを決定します](#settings-files-and-who-they-affect)。このページでは、これらのファイルについて説明します。設定をどのファイルに入れるか、設定を変更して適用されたことを確認する方法、および同じキーが複数のファイルで設定されている場合に Claude Code が使用する値について説明します。[権限を構成する](/docs/ja/permissions)では、Claude Code が確認なしで実行できる内容と、`allow`、`ask`、および `deny` ルールを記述する方法について説明します。15Claude Code は `~/.claude/settings.json` などの JSON 設定ファイルから設定を読み込みます。いくつかの場所でそれらを探し、[設定を読み込むファイルが、その設定が誰に適用されるかを決定します](#settings-files-and-who-they-affect)。このページでは、これらのファイルについて説明します。設定をどのファイルに入れるか、設定を変更して適用されたことを確認する方法、および同じキーが複数のファイルで設定されている場合に Claude Code が使用する値について説明します。[権限を構成する](/docs/ja/permissions)では、Claude Code が確認なしで実行できる内容と、`allow`、`ask`、および `deny` ルールを記述する方法について説明します。
380 16
381<Note>17> [!NOTE]
382 このページでは、マシンで実行されている Claude Code について説明します。ターミナル、[VS Code](/docs/ja/vs-code) および [JetBrains](/docs/ja/jetbrains) 拡張機能、および [デスクトップアプリ](/docs/ja/desktop)は、すべて同じ設定ファイルを読み込みます。[Claude Code on the web](/docs/ja/claude-code-on-the-web) のクラウドセッションは別のマシンで実行され、そのうちのいくつかのみを読み込みます。[クラウドセッションの設定](#settings-in-cloud-sessions)を参照してください。18>
383</Note>19> このページでは、マシンで実行されている Claude Code について説明します。ターミナル、[VS Code](/docs/ja/vs-code) および [JetBrains](/docs/ja/jetbrains) 拡張機能、および [デスクトップアプリ](/docs/ja/desktop)は、すべて同じ設定ファイルを読み込みます。[Claude Code on the web](/docs/ja/claude-code-on-the-web) のクラウドセッションは別のマシンで実行され、そのうちのいくつかのみを読み込みます。[クラウドセッションの設定](#settings-in-cloud-sessions)を参照してください。
384
385<span id="settings-files" />
386 20
387<span id="configuration-scopes" />21## 設定ファイルと誰に影響するか
388
389<span id="available-scopes" />
390
391<span id="when-to-use-each-scope" />
392
393<span id="what-uses-scopes" />
394
395<span id="subagent-configuration" />
396
397<span id="where-settings-live" />
398
399<h2 id="settings-files-and-who-they-affect">
400 設定ファイルと誰に影響するか
401</h2>
402 22
403Claude Code は 4 つのファイルから設定を読み込み、組織は claude.ai コンソールから管理設定を配信することもできます。各ソースにはスコープがあります。スコープとは、そのソースに保存された設定が適用される人とプロジェクトの範囲のことで、自分だけ、プロジェクト内の全員、組織内の全員のいずれかです。23Claude Code は 4 つのファイルから設定を読み込み、組織は claude.ai コンソールから管理設定を配信することもできます。各ソースにはスコープがあります。スコープとは、そのソースに保存された設定が適用される人とプロジェクトの範囲のことで、自分だけ、プロジェクト内の全員、組織内の全員のいずれかです。
404 24
411 31
412ファイル列では、`~/.claude` はホームディレクトリの `.claude` フォルダ、パスなしの `.claude` はプロジェクト内の `.claude` フォルダです。32ファイル列では、`~/.claude` はホームディレクトリの `.claude` フォルダ、パスなしの `.claude` はプロジェクト内の `.claude` フォルダです。
413 33
414<span id="where-each-file-applies" />34### 各設定ファイルのスコープを比較する
415
416<span id="compare-what-each-file-reaches" />
417
418<h3 id="compare-the-scope-of-each-settings-file">
419 各設定ファイルのスコープを比較する
420</h3>
421 35
422マシン上に 3 つのプロジェクト `website/`、`api/`、および `acme-app/` があり、チームメイトが `acme-app/` の独自のクローンを持ち、`acme-app/` で[クラウドセッション](#settings-in-cloud-sessions)を開始するとします。36マシン上に 3 つのプロジェクト `website/`、`api/`、および `acme-app/` があり、チームメイトが `acme-app/` の独自のクローンを持ち、`acme-app/` で[クラウドセッション](#settings-in-cloud-sessions)を開始するとします。
423 37
424下のグラフィックは、それらのフォルダから Claude Code を開始するときに設定が適用されるフォルダを示しています。設定ファイルをクリックして、到達するフォルダを確認してください。38下のグラフィックは、それらのフォルダから Claude Code を開始するときに設定が適用されるフォルダを示しています。設定ファイルをクリックして、到達するフォルダを確認してください。
425 39
426<SettingsScope />40Settings file
41
42Your machine
43
44A teammate’s machine
45
46A cloud session
427 47
428* **`~/.claude/settings.json`**:自分のマシン上のすべてのプロジェクト。チームメイトのクローンやクラウドセッションには適用されません48* **`~/.claude/settings.json`**:自分のマシン上のすべてのプロジェクト。チームメイトのクローンやクラウドセッションには適用されません
429* **`acme-app/.claude/settings.json`**:自分の `acme-app/`。バージョン管理にファイルをコミットした場合のみ、チームメイトのクローンとクラウドセッションに到達します。それまでは、ディスク上の他のファイルと同じ単なるファイルであり、他の誰も持っていません49* **`acme-app/.claude/settings.json`**:自分の `acme-app/`。バージョン管理にファイルをコミットした場合のみ、チームメイトのクローンとクラウドセッションに到達します。それまでは、ディスク上の他のファイルと同じ単なるファイルであり、他の誰も持っていません
430* **`acme-app/.claude/settings.local.json`**:自分の `acme-app/` のみ。Claude Code はファイルを初めて書き込むときに、グローバル git 除外に追加するため、コミットから除外されます。手動でファイルを作成する場合は、[自分で `.gitignore` に追加してください](#keep-personal-settings-out-of-a-repository)50* **`acme-app/.claude/settings.local.json`**:自分の `acme-app/` のみ。Claude Code はファイルを初めて書き込むときに、グローバル git 除外に追加するため、コミットから除外されます。手動でファイルを作成する場合は、[自分で `.gitignore` に追加してください](#keep-personal-settings-out-of-a-repository)
431* **管理設定**。`managed-settings.json` ファイル、MDM ポリシー、または claude.ai コンソールからの[サーバー管理設定](/docs/ja/server-managed-settings):組織がデプロイするすべてのマシン、または組織アカウントでサインインするマシン上のすべてのプロジェクト。クラウドセッションに到達するのはサーバー管理設定のみです51* **管理設定**。`managed-settings.json` ファイル、MDM ポリシー、または claude.ai コンソールからの[サーバー管理設定](/docs/ja/server-managed-settings):組織がデプロイするすべてのマシン、または組織アカウントでサインインするマシン上のすべてのプロジェクト。クラウドセッションに到達するのはサーバー管理設定のみです
432 52
433<span id="which-files-you-have" />53### 設定ファイルを見つけるか作成する
434
435<h3 id="find-or-create-your-settings-files">
436 設定ファイルを見つけるか作成する
437</h3>
438 54
439Claude Code をインストールしても、設定ファイルは作成されません。マシンまたはプロジェクトに既に設定ファイルがある場合は、次のいずれかのソースから来たものです:55Claude Code をインストールしても、設定ファイルは作成されません。マシンまたはプロジェクトに既に設定ファイルがある場合は、次のいずれかのソースから来たものです:
440 56
442* **共有プロジェクト**:Claude Code を既に使用しているプロジェクトには、コミットされたものがあるかもしれません。ない場合は、プロジェクトフォルダに `.claude/settings.json` として作成してください。58* **共有プロジェクト**:Claude Code を既に使用しているプロジェクトには、コミットされたものがあるかもしれません。ない場合は、プロジェクトフォルダに `.claude/settings.json` として作成してください。
443* **ユーザー**および**プロジェクトローカル**:自分で作成するか、Claude Code に作成させます。テーマなど、ユーザー設定に保存される `/config` メニューのオプションを初めて変更するときに `~/.claude/settings.json` を書き込み、Bash コマンドに対する「はい、今後は聞かないでください」など、権限プロンプトで恒久的な承認を初めて与えるときに `.claude/settings.local.json` を書き込みます。**ヒントを表示**を含むいくつかの `/config` オプションは、ユーザーファイルではなく `.claude/settings.local.json` に保存されます。59* **ユーザー**および**プロジェクトローカル**:自分で作成するか、Claude Code に作成させます。テーマなど、ユーザー設定に保存される `/config` メニューのオプションを初めて変更するときに `~/.claude/settings.json` を書き込み、Bash コマンドに対する「はい、今後は聞かないでください」など、権限プロンプトで恒久的な承認を初めて与えるときに `.claude/settings.local.json` を書き込みます。**ヒントを表示**を含むいくつかの `/config` オプションは、ユーザーファイルではなく `.claude/settings.local.json` に保存されます。
444 60
445<Info>61> [!NOTE]
446 Windows では、`~/.claude` は `%USERPROFILE%\.claude` を意味します。ホームディレクトリのファイルを別の場所に保存するには、[`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) を設定してください。Claude Code は設定、セッション履歴、およびプラグインを代わりにそこに保存します。62>
447</Info>63> Windows では、`~/.claude` は `%USERPROFILE%\.claude` を意味します。ホームディレクトリのファイルを別の場所に保存するには、[`CLAUDE_CONFIG_DIR`](/docs/ja/env-vars) を設定してください。Claude Code は設定、セッション履歴、およびプラグインを代わりにそこに保存します。
448 64
449Claude Code は、[`~/.claude.json`](/docs/ja/claude-directory#ce-claude-json) という 5 番目のファイルも保持します。これは Claude Code 自身が書き込むもので、編集する必要はありません。サインインセッション、[MCP サーバー](/docs/ja/mcp)の設定、信頼の決定などのプロジェクトごとの状態、および `/config` が書き込む[グローバル設定キー](/docs/ja/settings-reference#global-config-settings)を保持します。65Claude Code は、[`~/.claude.json`](/docs/ja/claude-directory#ce-claude-json) という 5 番目のファイルも保持します。これは Claude Code 自身が書き込むもので、編集する必要はありません。サインインセッション、[MCP サーバー](/docs/ja/mcp)の設定、信頼の決定などのプロジェクトごとの状態、および `/config` が書き込む[グローバル設定キー](/docs/ja/settings-reference#global-config-settings)を保持します。
450 66
451<h3 id="share-settings-with-your-team">67### チームと設定を共有する
452 チームと設定を共有する
453</h3>
454 68
455`.claude/settings.json` をコミットして、リポジトリをクローンするすべての人が同じ権限、フック、およびプラグインを取得するようにします。各チームメイトは、独自の `.claude/settings.local.json` で自分用にそれを上書きできるため、個人的な例外にコミットは必要ありません。完全なチームファイルについては、[チームの共有設定](/docs/ja/settings-example#a-teams-shared-settings)を参照してください。69`.claude/settings.json` をコミットして、リポジトリをクローンするすべての人が同じ権限、フック、およびプラグインを取得するようにします。各チームメイトは、独自の `.claude/settings.local.json` で自分用にそれを上書きできるため、個人的な例外にコミットは必要ありません。完全なチームファイルについては、[チームの共有設定](/docs/ja/settings-example#a-teams-shared-settings)を参照してください。
456 70
457コミットするものの一部は、各チームメイトが[フォルダを信頼する](/docs/ja/permissions#project-allow-rules-and-workspace-trust)まで待機し、いくつかのキーはリポジトリファイルからは決して有効になりません。[適用されない設定をトラブルシューティングする](#common-cases)で両方を説明しています。71コミットするものの一部は、各チームメイトが[フォルダを信頼する](/docs/ja/permissions#project-allow-rules-and-workspace-trust)まで待機し、いくつかのキーはリポジトリファイルからは決して有効になりません。[適用されない設定をトラブルシューティングする](#common-cases)で両方を説明しています。
458 72
459<span id="local-settings-file" />73### リポジトリから個人設定を除外する
460
461<span id="where-claude-code-saves-the-project-local-file" />
462
463<span id="the-project-local-file" />
464
465<span id="keep-personal-settings-out-of-the-repository" />
466
467<h3 id="keep-personal-settings-out-of-a-repository">
468 リポジトリから個人設定を除外する
469</h3>
470 74
4711 つのプロジェクトで、チームメイトの設定を変えずに自分の設定だけを変更するには、プロジェクト内の `.claude/settings.local.json` に保存してください。Claude Code はそのファイルをコミットされた `.claude/settings.json` の上に適用するため、チームのファイルが `"model": "claude-sonnet-5"` を設定していて Opus を使いたい場合は、ローカルファイルに `"model": "claude-opus-5-5"` を入れれば、自分のセッションだけが変わります。751 つのプロジェクトで、チームメイトの設定を変えずに自分の設定だけを変更するには、プロジェクト内の `.claude/settings.local.json` に保存してください。Claude Code はそのファイルをコミットされた `.claude/settings.json` の上に適用するため、チームのファイルが `"model": "claude-sonnet-5"` を設定していて Opus を使いたい場合は、ローカルファイルに `"model": "claude-opus-5-5"` を入れれば、自分のセッションだけが変わります。
472 76
476* **手動で作成した場合を除き、自分で gitignore する必要はありません。** Claude Code が、まだこのファイルを無視していない git リポジトリでファイルを初めて書き込むときに、グローバル git 除外ファイルに `**/.claude/settings.local.json` を追加するため、ファイルはすべてのリポジトリでコミットから除外されます。そのファイルは、グローバル git 設定で `core.excludesFile` が絶対パスまたは `~` で始まるパスに設定されている場合はそのファイル、それ以外の場合は `$XDG_CONFIG_HOME/git/ignore`、`XDG_CONFIG_HOME` が設定されていない場合は `~/.config/git/ignore` です。手動でファイルを作成し、Claude Code がまだそれに書き込んでいない場合は、自分で `.gitignore` に追加してください。80* **手動で作成した場合を除き、自分で gitignore する必要はありません。** Claude Code が、まだこのファイルを無視していない git リポジトリでファイルを初めて書き込むときに、グローバル git 除外ファイルに `**/.claude/settings.local.json` を追加するため、ファイルはすべてのリポジトリでコミットから除外されます。そのファイルは、グローバル git 設定で `core.excludesFile` が絶対パスまたは `~` で始まるパスに設定されている場合はそのファイル、それ以外の場合は `$XDG_CONFIG_HOME/git/ignore`、`XDG_CONFIG_HOME` が設定されていない場合は `~/.config/git/ignore` です。手動でファイルを作成し、Claude Code がまだそれに書き込んでいない場合は、自分で `.gitignore` に追加してください。
477* **ファイルが追跡されていない間、その許可ルールは信頼を待ちません。** ファイルはリポジトリのものではなく自分のものであるため、Claude Code はコミットされたファイルに必要な[ワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)ステップなしで、その `allow` ルールを適用します。ファイルが git で追跡されている場合は、信頼ステップがこのファイルにも適用されます。[ローカル設定ファイルが信頼を必要とする場合](/docs/ja/permissions#when-your-local-settings-file-needs-trust)を参照してください。81* **ファイルが追跡されていない間、その許可ルールは信頼を待ちません。** ファイルはリポジトリのものではなく自分のものであるため、Claude Code はコミットされたファイルに必要な[ワークスペースの信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust)ステップなしで、その `allow` ルールを適用します。ファイルが git で追跡されている場合は、信頼ステップがこのファイルにも適用されます。[ローカル設定ファイルが信頼を必要とする場合](/docs/ja/permissions#when-your-local-settings-file-needs-trust)を参照してください。
478 82
479<span id="where-claude-code-looks-for-each-file" />83#### Claude Code が git リポジトリでローカルファイルを保持する場所
480
481<span id="how-claude-code-keeps-the-local-file-out-of-git" />
482
483<span id="local-allow-rules-dont-wait-for-workspace-trust" />
484
485<h4 id="where-claude-code-keeps-the-local-file-in-a-git-repository">
486 Claude Code が git リポジトリでローカルファイルを保持する場所
487</h4>
488 84
489Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその承認を `.claude/settings.local.json` の `allow` ルールとして保存します。git リポジトリのサブディレクトリで Claude Code を開始した場合、リポジトリルートにあるそのファイルを読み書きし、承認をリポジトリ全体に適用します。[worktree](/docs/ja/worktrees) では、メインチェックアウトのルートにあるファイルを使用します。85Claude が Bash コマンドを実行する権限を求め、「はい、今後は聞かないでください」を選択すると、Claude Code はその承認を `.claude/settings.local.json` の `allow` ルールとして保存します。git リポジトリのサブディレクトリで Claude Code を開始した場合、リポジトリルートにあるそのファイルを読み書きし、承認をリポジトリ全体に適用します。[worktree](/docs/ja/worktrees) では、メインチェックアウトのルートにあるファイルを使用します。
490 86
497 93
498Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこで Claude Code を開始してください。[`/cd` でセッションを移動した](/docs/ja/permissions#move-the-session-to-another-directory)後は、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、ローカルファイルは同じルールで配置します。移動先のディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。デスクトップアプリから開始する worktree セッションについては、[worktree がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。94Claude Code は共有 `.claude/settings.json` をセッションの[プライマリ作業ディレクトリ](/docs/ja/permissions#working-directories)から読み込むため、リポジトリルートにコミットされたファイルを使用するには、そこで Claude Code を開始してください。[`/cd` でセッションを移動した](/docs/ja/permissions#move-the-session-to-another-directory)後は、Claude Code は代わりに新しいディレクトリから両方のプロジェクトファイルを読み込み、ローカルファイルは同じルールで配置します。移動先のディレクトリから読み込むには Claude Code v2.1.246 以降が必要です。デスクトップアプリから開始する worktree セッションについては、[worktree がメインチェックアウトと共有するもの](/docs/ja/worktrees#what-worktrees-share-with-the-main-checkout)を参照してください。
499 95
500<span id="managed-settings-delivery" />96### 組織が強制する内容を確認する
501
502<span id="precedence-within-the-managed-tier" />
503
504<span id="parent-settings-from-embedding-hosts" />
505
506<span id="enforce-settings-for-an-organization" />
507
508<span id="settings-your-organization-manages" />
509
510<h3 id="check-what-your-organization-enforces">
511 組織が強制する内容を確認する
512</h3>
513 97
514組織が Claude Code を管理している場合、一部の設定はあらかじめ決定されており、自分のファイルに何を書いても変更できません。どの設定が該当するかを確認するには、`/status` を実行してください。`Setting sources` 行に、適用される管理ソースの名前が表示されます。管理設定は、このマシン上で Claude Code が実行されるすべての場所に適用されます。ローカル管理者権限と Claude Code 以外のツールについては、[開発者が変更できる内容](/docs/ja/managed-settings#what-a-developer-can-change)を参照してください。98組織が Claude Code を管理している場合、一部の設定はあらかじめ決定されており、自分のファイルに何を書いても変更できません。どの設定が該当するかを確認するには、`/status` を実行してください。`Setting sources` 行に、適用される管理ソースの名前が表示されます。管理設定は、このマシン上で Claude Code が実行されるすべての場所に適用されます。ローカル管理者権限と Claude Code 以外のツールについては、[開発者が変更できる内容](/docs/ja/managed-settings#what-a-developer-can-change)を参照してください。
515 99
523 107
524管理者の場合、[組織向けに Claude Code をセットアップする](/docs/ja/admin-setup)で何を強制するかを選択する手順を、[管理設定をデプロイする](/docs/ja/managed-settings)で配信方法とポリシーが有効であることを確認する方法を説明しています。claude.ai 管理コンソールの管理設定エディターに表示されることがある警告については、[サーバー管理設定を構成する](/docs/ja/server-managed-settings#configure-server-managed-settings)を参照してください。108管理者の場合、[組織向けに Claude Code をセットアップする](/docs/ja/admin-setup)で何を強制するかを選択する手順を、[管理設定をデプロイする](/docs/ja/managed-settings)で配信方法とポリシーが有効であることを確認する方法を説明しています。claude.ai 管理コンソールの管理設定エディターに表示されることがある警告については、[サーバー管理設定を構成する](/docs/ja/server-managed-settings#configure-server-managed-settings)を参照してください。
525 109
526<h2 id="change-a-setting">110## 設定を変更する
527 設定を変更する
528</h2>
529 111
530`/config` メニューから、設定ファイルを編集して、または 1 つのセッションのコマンドラインから設定を変更できます。112`/config` メニューから、設定ファイルを編集して、または 1 つのセッションのコマンドラインから設定を変更できます。
531 113
532<span id="system-prompt" />
533
534Claude Code のシステムプロンプトは公開されていません。Claude に立ったままの命令を与えるには、[`CLAUDE.md` ファイル](/docs/ja/memory)または `--append-system-prompt` フラグを使用してください。114Claude Code のシステムプロンプトは公開されていません。Claude に立ったままの命令を与えるには、[`CLAUDE.md` ファイル](/docs/ja/memory)または `--append-system-prompt` フラグを使用してください。
535 115
536<h3 id="use-the-/config-menu">116### /config メニューを使用する
537 /config メニューを使用する
538</h3>
539 117
540Claude Code 内で `/config` を実行し、**Config** タブを開きます。テーマ、エディターモード、詳細出力などの短いセットの個人的なオプションをリストします。すべての設定キーではありません。オプションを選択して変更します。Claude Code はあなたのために保存します:118Claude Code 内で `/config` を実行し、**Config** タブを開きます。テーマ、エディターモード、詳細出力などの短いセットの個人的なオプションをリストします。すべての設定キーではありません。オプションを選択して変更します。Claude Code はあなたのために保存します:
541 119
545 123
5461 つのオプションをメニューなしで設定するには、`/config verbose=true` などの `key=value` を渡してください。1241 つのオプションをメニューなしで設定するには、`/config verbose=true` などの `key=value` を渡してください。
547 125
548<Note>126> [!NOTE]
549 `/config` はターミナルインターフェースの一部です。[VS Code](/docs/ja/vs-code) チャットパネルと[デスクトップアプリ](/docs/ja/desktop)はそれを開きません。設定ファイルを編集するか、これらのアプリ独自の設定を通じて設定を変更してください。127>
550</Note>128> `/config` はターミナルインターフェースの一部です。[VS Code](/docs/ja/vs-code) チャットパネルと[デスクトップアプリ](/docs/ja/desktop)はそれを開きません。設定ファイルを編集するか、これらのアプリ独自の設定を通じて設定を変更してください。
551 129
552<h3 id="edit-a-settings-file">130### 設定ファイルを編集する
553 設定ファイルを編集する
554</h3>
555 131
556エディターで必要なスコープの設定ファイルを開き、キーを追加または変更します。設定ファイルは厳密な JSON です。`//` コメントまたは末尾のコンマは構文エラーであり、Claude Code はファイルを[設定エラー](#fix-a-broken-settings-file)として次の開始時に報告します。たとえば、Claude Code が確認なしに lint とテストコマンドを実行し、`.env` ファイルの読み取りを停止するようにするには、これを `~/.claude/settings.json` に追加してください:132エディターで必要なスコープの設定ファイルを開き、キーを追加または変更します。設定ファイルは厳密な JSON です。`//` コメントまたは末尾のコンマは構文エラーであり、Claude Code はファイルを[設定エラー](#fix-a-broken-settings-file)として次の開始時に報告します。たとえば、Claude Code が確認なしに lint とテストコマンドを実行し、`.env` ファイルの読み取りを停止するようにするには、これを `~/.claude/settings.json` に追加してください:
557 133
577 153
578完全な個人ファイル、チームファイル、および組織ファイルについては、それが設定するすべてのキーのコメント付きで、[設定ファイルの例](/docs/ja/settings-example)を参照してください。154完全な個人ファイル、チームファイル、および組織ファイルについては、それが設定するすべてのキーのコメント付きで、[設定ファイルの例](/docs/ja/settings-example)を参照してください。
579 155
580<span id="pass-settings-for-one-session" />156### 1 つのセッションの設定を変更する
581
582<h3 id="change-a-setting-for-one-session">
583 1 つのセッションの設定を変更する
584</h3>
585 157
586値を保存せずに試すには、Claude Code を開始するときに設定します。値はそのセッションに適用され、設定ファイルはそのままです。3 つの方法があります:158値を保存せずに試すには、Claude Code を開始するときに設定します。値はそのセッションに適用され、設定ファイルはそのままです。3 つの方法があります:
587 159
601claude --settings '{"model": "claude-opus-5-5"}'173claude --settings '{"model": "claude-opus-5-5"}'
602```174```
603 175
604<h3 id="when-edits-take-effect">176### 編集がいつ有効になるか
605 編集がいつ有効になるか
606</h3>
607 177
608Claude Code は設定ファイルを監視し、変更時に再読み込みするため、`permissions`、`hooks`、および `apiKeyHelper` などの認証情報ヘルパーへの編集を含む、ほとんどの編集は再起動なしで実行中のセッションに適用されます。Claude Code は、セッションの途中で作成した設定ファイルも、そのフォルダがセッション開始時に存在していれば読み込みます。プロジェクトの `.claude/` フォルダについては、同じセッション内でフォルダを作成した場合でもファイルを読み込みます。178Claude Code は設定ファイルを監視し、変更時に再読み込みするため、`permissions`、`hooks`、および `apiKeyHelper` などの認証情報ヘルパーへの編集を含む、ほとんどの編集は再起動なしで実行中のセッションに適用されます。Claude Code は、セッションの途中で作成した設定ファイルも、そのフォルダがセッション開始時に存在していれば読み込みます。プロジェクトの `.claude/` フォルダについては、同じセッション内でフォルダを作成した場合でもファイルを読み込みます。
609 179
614* [`model`](/docs/ja/settings-reference#model):セッション中に切り替えるには [`/model`](/docs/ja/model-config#setting-your-model) を使用してください。各モデルには独自のプロンプトキャッシュがあるため、切り替え後の最初のリクエストは会話全体をキャッシュなしで再読み込みします。[モデルを切り替える](/docs/ja/prompt-caching#switching-models)を参照してください184* [`model`](/docs/ja/settings-reference#model):セッション中に切り替えるには [`/model`](/docs/ja/model-config#setting-your-model) を使用してください。各モデルには独自のプロンプトキャッシュがあるため、切り替え後の最初のリクエストは会話全体をキャッシュなしで再読み込みします。[モデルを切り替える](/docs/ja/prompt-caching#switching-models)を参照してください
615* [`effortLevel`](/docs/ja/settings-reference#effortlevel) および [`modelSettings`](/docs/ja/settings-reference#modelsettings):セッション中に努力を変更するには [`/effort`](/docs/ja/model-config#adjust-effort-level) を使用してください185* [`effortLevel`](/docs/ja/settings-reference#effortlevel) および [`modelSettings`](/docs/ja/settings-reference#modelsettings):セッション中に努力を変更するには [`/effort`](/docs/ja/model-config#adjust-effort-level) を使用してください
616 186
617<span id="verify-active-settings" />187### 読み込まれたものを確認する
618
619<span id="check-what-loaded" />
620
621<h3 id="confirm-what-loaded">
622 読み込まれたものを確認する
623</h3>
624 188
625Claude Code 内で `/status` を実行して、どの設定ソースがアクティブであるかを確認してください。**Status** タブには、Claude Code が現在のセッション用に読み込んだ各設定ファイルをリストする `Setting sources` 行が含まれています。`User settings` または `Project local settings` など。[管理設定](/docs/ja/admin-setup#decide-how-settings-reach-devices)が有効な場合、管理設定エントリは括弧内にそれらがマシンに到達した方法を示します。189Claude Code 内で `/status` を実行して、どの設定ソースがアクティブであるかを確認してください。**Status** タブには、Claude Code が現在のセッション用に読み込んだ各設定ファイルをリストする `Setting sources` 行が含まれています。`User settings` または `Project local settings` など。[管理設定](/docs/ja/admin-setup#decide-how-settings-reach-devices)が有効な場合、管理設定エントリは括弧内にそれらがマシンに到達した方法を示します。
626 190
627行は Claude Code が読み込んだファイルを確認します。各ファイルがどのキーを供給したかは表示されません。Claude Code が拒否したエントリをリストするには、[`claude doctor`](/docs/ja/debug-your-config) を実行してください。プロジェクトまたは管理設定が設定するモデルについては、スタートアップヘッダーがそれを設定したファイルの名前を付けます。`/status` と `/config` は異なるタブで同じダイアログを開き、**Config** タブは `settings.json` コンテンツのビューではありません。191行は Claude Code が読み込んだファイルを確認します。各ファイルがどのキーを供給したかは表示されません。Claude Code が拒否したエントリをリストするには、[`claude doctor`](/docs/ja/debug-your-config) を実行してください。プロジェクトまたは管理設定が設定するモデルについては、スタートアップヘッダーがそれを設定したファイルの名前を付けます。`/status` と `/config` は異なるタブで同じダイアログを開き、**Config** タブは `settings.json` コンテンツのビューではありません。
628 192
629<h3 id="fix-a-broken-settings-file">193### 壊れた設定ファイルを修正する
630 壊れた設定ファイルを修正する
631</h3>
632 194
633JSON をタイプミスするか、Claude Code が受け入れない値にキーを設定する場合、Claude Code はインタラクティブセッションの開始時にあなたに伝えます。表示される内容は、ファイルのどの程度が影響を受けるかによって異なります:195JSON をタイプミスするか、Claude Code が受け入れない値にキーを設定する場合、Claude Code はインタラクティブセッションの開始時にあなたに伝えます。表示される内容は、ファイルのどの程度が影響を受けるかによって異なります:
634 196
641 203
642`-p` 実行はダイアログを表示しません。[管理設定ドキュメントを解析できない](/docs/ja/errors#managed-settings-document-could-not-be-parsed)場合を除き、Claude Code は壊れたファイルまたは値をスキップして残りで続行するため、設定をスキップした `-p` 実行の後、`claude doctor` を実行して削除したものを確認してください。204`-p` 実行はダイアログを表示しません。[管理設定ドキュメントを解析できない](/docs/ja/errors#managed-settings-document-could-not-be-parsed)場合を除き、Claude Code は壊れたファイルまたは値をスキップして残りで続行するため、設定をスキップした `-p` 実行の後、`claude doctor` を実行して削除したものを確認してください。
643 205
644<span id="how-scopes-interact" />206## 設定の優先順位
645
646<span id="key-points-about-the-configuration-system" />
647
648<span id="which-value-claude-code-uses" />
649
650<span id="which-value-wins" />
651
652<h2 id="settings-precedence">
653 設定の優先順位
654</h2>
655 207
656同じキーが複数の場所に表示される場合、Claude Code はそれを設定する最も高いレベルの値を使用します。以下のスタックはレベルを示しており、上が最も高い優先度です。より高いレベルのキーは、その下のどこにある同じキーよりも優先されます。208同じキーが複数の場所に表示される場合、Claude Code はそれを設定する最も高いレベルの値を使用します。以下のスタックはレベルを示しており、上が最も高い優先度です。より高いレベルのキーは、その下のどこにある同じキーよりも優先されます。
657 209
658<SettingsPrecedence />210Settings precedence, highest first: managed settings, command line, project local, shared project, user. A key set at a higher level overrides the same key set lower down.
659 211
660優先度が高い順に:212優先度が高い順に:
661 213
669 221
670いくつかのセキュリティに敏感なキーについて、Claude Code は下位レベルからのより厳密な値を管理値より優先します。[管理設定の優先順位の例外](#exceptions-to-managed-settings-precedence) がそれらをリストしています。222いくつかのセキュリティに敏感なキーについて、Claude Code は下位レベルからのより厳密な値を管理値より優先します。[管理設定の優先順位の例外](#exceptions-to-managed-settings-precedence) がそれらをリストしています。
671 223
672<h3 id="lists-merge-instead-of-overriding">224### リストは上書きではなくマージされます
673 リストは上書きではなくマージされます
674</h3>
675 225
676`permissions.allow` などの同じリストキーを複数のファイルで設定する場合、Claude Code はリストを結合し、1 つを選択しません。そのため、各ファイルは別のファイルのエントリを削除することなくエントリを追加できます。モデルリストまたはモデルごとのエントリを保持する 4 つのキーは独自のルールに従います:226`permissions.allow` などの同じリストキーを複数のファイルで設定する場合、Claude Code はリストを結合し、1 つを選択しません。そのため、各ファイルは別のファイルのエントリを削除することなくエントリを追加できます。モデルリストまたはモデルごとのエントリを保持する 4 つのキーは独自のルールに従います:
677 227
680* [`availableModels`](/docs/ja/settings-reference#availablemodels):Claude Code が適用する管理設定がこれを定義する場合、Claude Code はそのリストをそのまま適用し、ユーザー、プロジェクト、またはローカル設定で追加するエントリを無視します。ただし、Claude Code を埋め込むアプリが独自のモデルリストを提供する場合を除きます。[管理設定の優先順位の例外](#exceptions-to-managed-settings-precedence) を参照してください。管理ソース全体でリストはマージされません。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) はどのソースのリストが適用されるかを示しています。非管理スコープ全体で Claude Code は通常どおり配列をマージします。230* [`availableModels`](/docs/ja/settings-reference#availablemodels):Claude Code が適用する管理設定がこれを定義する場合、Claude Code はそのリストをそのまま適用し、ユーザー、プロジェクト、またはローカル設定で追加するエントリを無視します。ただし、Claude Code を埋め込むアプリが独自のモデルリストを提供する場合を除きます。[管理設定の優先順位の例外](#exceptions-to-managed-settings-precedence) を参照してください。管理ソース全体でリストはマージされません。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) はどのソースのリストが適用されるかを示しています。非管理スコープ全体で Claude Code は通常どおり配列をマージします。
681* [`modelSettings`](/docs/ja/settings-reference#modelsettings):Claude Code はそれを [`effortLevel`](/docs/ja/settings-reference#effortlevel) と一緒に一度に 1 つのモデルで解決します。`modelSettings` エントリはどのファイルの値がモデルに適用されるかを示しています。231* [`modelSettings`](/docs/ja/settings-reference#modelsettings):Claude Code はそれを [`effortLevel`](/docs/ja/settings-reference#effortlevel) と一緒に一度に 1 つのモデルで解決します。`modelSettings` エントリはどのファイルの値がモデルに適用されるかを示しています。
682 232
683<span id="examples" />233### 優先順位の例
684
685<h3 id="precedence-examples">
686 優先順位の例
687</h3>
688 234
689Claude が動作している間、Claude Code はスピナーの下に 1 行のヒントを表示します。例えば「/config を使用してデフォルト権限モード(Plan Mode を含む)を変更します」。[`spinnerTipsEnabled`](/docs/ja/settings-reference#spinnertipsenabled) を `~/.claude/settings.json` で `false` に設定したいとします。以下の各シナリオはそれらをオンに戻す可能性があるもので、それについて何ができるかを示しています。235Claude が動作している間、Claude Code はスピナーの下に 1 行のヒントを表示します。例えば「/config を使用してデフォルト権限モード(Plan Mode を含む)を変更します」。[`spinnerTipsEnabled`](/docs/ja/settings-reference#spinnertipsenabled) を `~/.claude/settings.json` で `false` に設定したいとします。以下の各シナリオはそれらをオンに戻す可能性があるもので、それについて何ができるかを示しています。
690 236
691<h4 id="team-settings-override-personal-settings">237#### チーム設定が個人設定を上書きします
692 チーム設定が個人設定を上書きします
693</h4>
694 238
695チームの `.claude/settings.json` がそれを `true` に設定しています。Claude Code はプロジェクト値を使用します。共有プロジェクトはユーザーより上にあるため、そのプロジェクトではヒントが表示され、他の場所では表示されません。239チームの `.claude/settings.json` がそれを `true` に設定しています。Claude Code はプロジェクト値を使用します。共有プロジェクトはユーザーより上にあるため、そのプロジェクトではヒントが表示され、他の場所では表示されません。
696 240
697値を取り戻すことができます。そのプロジェクトの `.claude/settings.local.json` に `"spinnerTipsEnabled": false` を追加します。プロジェクトローカルは共有プロジェクトより上にあるため、そこでのセッションはヒントを表示しなくなり、チームメイトのセッションは変わりません。241値を取り戻すことができます。そのプロジェクトの `.claude/settings.local.json` に `"spinnerTipsEnabled": false` を追加します。プロジェクトローカルは共有プロジェクトより上にあるため、そこでのセッションはヒントを表示しなくなり、チームメイトのセッションは変わりません。
698 242
699<h4 id="organization-settings-override-everything">243#### 組織設定がすべてを上書きします
700 組織設定がすべてを上書きします
701</h4>
702 244
703組織の管理設定がそれを `true` に設定しています。ユーザー、プロジェクト、またはローカル設定に何を入れてもヒントをオフにすることはできませんし、`--settings` でもできません。管理は最上位レベルです。245組織の管理設定がそれを `true` に設定しています。ユーザー、プロジェクト、またはローカル設定に何を入れてもヒントをオフにすることはできませんし、`--settings` でもできません。管理は最上位レベルです。
704 246
705値を取り戻すことはできません。`/status` を実行して、どの管理ソースが適用されるかを確認し、ポリシーを変更する必要があるかどうかを管理者に尋ねてください。247値を取り戻すことはできません。`/status` を実行して、どの管理ソースが適用されるかを確認し、ポリシーを変更する必要があるかどうかを管理者に尋ねてください。
706 248
707<h4 id="the-command-line-overrides-your-files-for-one-session">249#### コマンドラインが 1 つのセッションのファイルを上書きします
708 コマンドラインが 1 つのセッションのファイルを上書きします
709</h4>
710 250
711`claude --settings '{"spinnerTipsEnabled": true}'` でセッションを開始しました。コマンドラインは管理を除くすべてのファイルより上にあるため、そのセッションはファイルが `false` と言っていても、ヒントを表示します。251`claude --settings '{"spinnerTipsEnabled": true}'` でセッションを開始しました。コマンドラインは管理を除くすべてのファイルより上にあるため、そのセッションはファイルが `false` と言っていても、ヒントを表示します。
712 252
713次のセッションで値を取り戻します。`--settings` は 1 つのセッション限りで、ファイルに書き込みません。253次のセッションで値を取り戻します。`--settings` は 1 つのセッション限りで、ファイルに書き込みません。
714 254
715<h4 id="a-flag-or-environment-variable-sets-the-same-thing">255#### フラグまたは環境変数が同じものを設定します
716 フラグまたは環境変数が同じものを設定します
717</h4>
718 256
719一部のキーには、設定値を上書きするコマンドラインフラグまたは環境変数があります。これはどのファイルが設定したかに関係なく機能します。`ANTHROPIC_MODEL` は [`model`](/docs/ja/settings-reference#model) 設定を上書きし、`--model` はセッション用に両方を上書きします。257一部のキーには、設定値を上書きするコマンドラインフラグまたは環境変数があります。これはどのファイルが設定したかに関係なく機能します。`ANTHROPIC_MODEL` は [`model`](/docs/ja/settings-reference#model) 設定を上書きし、`--model` はセッション用に両方を上書きします。
720 258
721値を取り戻せるかどうかはキーによって異なります。変数をアンセットするか、フラグをドロップし、[設定リファレンス](/docs/ja/settings-reference) のキーのエントリと [環境変数リファレンス](/docs/ja/env-vars) の変数の行を確認して、Claude Code がどちらを使用するかを確認してください。259値を取り戻せるかどうかはキーによって異なります。変数をアンセットするか、フラグをドロップし、[設定リファレンス](/docs/ja/settings-reference) のキーのエントリと [環境変数リファレンス](/docs/ja/env-vars) の変数の行を確認して、Claude Code がどちらを使用するかを確認してください。
722 260
723<span id="keys-ignored-in-a-repository-file" />261### 適用されない設定をトラブルシューティングします
724
725<span id="keys-only-you-or-your-organization-can-set" />
726
727<span id="common-cases" />
728
729<span id="which-value-applies-in-common-situations" />
730
731<h3 id="troubleshoot-a-setting-that-doesn’t-apply">
732 適用されない設定をトラブルシューティングします
733</h3>
734 262
735キーを設定し、Claude Code がそのように動作しない場合は、`/status` で読み込まれたファイルを確認してから、以下で症状を見つけてください。[設定をデバッグする](/docs/ja/debug-your-config) はより広いチェックをカバーしており、クリーン設定テストを含みます。263キーを設定し、Claude Code がそのように動作しない場合は、`/status` で読み込まれたファイルを確認してから、以下で症状を見つけてください。[設定をデバッグする](/docs/ja/debug-your-config) はより広いチェックをカバーしており、クリーン設定テストを含みます。
736 264
737<h4 id="a-value-you-set-is-ignored">265#### 設定した値が無視されます
738 設定した値が無視されます
739</h4>
740 266
741別のものが同じキーを設定しているか、ファイルがその値を設定できないか、またはファイルが読み込まれませんでした:267別のものが同じキーを設定しているか、ファイルがその値を設定できないか、またはファイルが読み込まれませんでした:
742 268
747 [`env`](/docs/ja/settings-reference#env) ブロック内のテレメトリエクスポート変数もプロジェクトまたはローカル設定からは有効になりません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) は変数とそれらの値をリストしています。273 [`env`](/docs/ja/settings-reference#env) ブロック内のテレメトリエクスポート変数もプロジェクトまたはローカル設定からは有効になりません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) は変数とそれらの値をリストしています。
748* **ファイルが壊れています。** 無効な JSON または拒否された値により、Claude Code はファイルまたはエントリをスキップします。[壊れた設定ファイルを修正する](#fix-a-broken-settings-file) を参照してください。274* **ファイルが壊れています。** 無効な JSON または拒否された値により、Claude Code はファイルまたはエントリをスキップします。[壊れた設定ファイルを修正する](#fix-a-broken-settings-file) を参照してください。
749 275
750<h4 id="a-change-you-made-in-claude-code-is-lost-in-new-sessions">276#### Claude Code で行った変更が新しいセッションで失われます
751 Claude Code で行った変更が新しいセッションで失われます
752</h4>
753 277
754Claude Code 内から新しいセッション用に選択を保存する場合(例えば `/model` でデフォルトモデルを設定する場合)、Claude Code はそれをユーザー設定ファイル `~/.claude/settings.json` に書き込みます。そのファイルに書き込むことができない場合(例えば別のツールが生成するか、読み取り専用コピーにリンクしている場合)、変更は現在のセッションに適用され、次のセッションでは失われます。ファイルを生成するツールでキーを設定するか、ファイルを書き込み可能なものに置き換えてください。278Claude Code 内から新しいセッション用に選択を保存する場合(例えば `/model` でデフォルトモデルを設定する場合)、Claude Code はそれをユーザー設定ファイル `~/.claude/settings.json` に書き込みます。そのファイルに書き込むことができない場合(例えば別のツールが生成するか、読み取り専用コピーにリンクしている場合)、変更は現在のセッションに適用され、次のセッションでは失われます。ファイルを生成するツールでキーを設定するか、ファイルを書き込み可能なものに置き換えてください。
755 279
756ファイルに書き込むことができ、変更がまだ続かない場合は、変更が [1 つのセッション限り](#change-a-setting-for-one-session) であったか、[より高いレベルが同じキーを設定](#a-value-you-set-is-ignored) しているかを確認してください。`model` キーについては、[新しいセッションが選択したものとは異なるモデルで開始します](/docs/ja/model-config#a-new-session-starts-on-a-different-model-than-you-picked) がより多くの原因をリストしています。280ファイルに書き込むことができ、変更がまだ続かない場合は、変更が [1 つのセッション限り](#change-a-setting-for-one-session) であったか、[より高いレベルが同じキーを設定](#a-value-you-set-is-ignored) しているかを確認してください。`model` キーについては、[新しいセッションが選択したものとは異なるモデルで開始します](/docs/ja/model-config#a-new-session-starts-on-a-different-model-than-you-picked) がより多くの原因をリストしています。
757 281
758<h4 id="a-managed-change-hasn’t-reached-you">282#### 管理設定の変更が届いていません
759 管理設定の変更が届いていません
760</h4>
761 283
762管理ソースは [配信テーブル](/docs/ja/managed-settings#choose-a-delivery-mechanism) のスケジュールで実行中のセッションに到達するため、最初にセッションを再開してください。`/status` がその後、管理者が変更したものとは異なるソースを名前付けする場合、より優先度の高いソースが適用されます。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) は順序を示しています。284管理ソースは [配信テーブル](/docs/ja/managed-settings#choose-a-delivery-mechanism) のスケジュールで実行中のセッションに到達するため、最初にセッションを再開してください。`/status` がその後、管理者が変更したものとは異なるソースを名前付けする場合、より優先度の高いソースが適用されます。[Claude Code が管理ソースを結合する方法](/docs/ja/managed-settings#how-claude-code-combines-managed-sources) は順序を示しています。
763 285
764<h4 id="a-committed-key-doesn’t-reach-teammates">286#### コミットされたキーがチームメイトに到達しません
765 コミットされたキーがチームメイトに到達しません
766</h4>
767 287
7682 つのことが `.claude/settings.json` のキーがそれをクローンするすべての人に適用されるのを防ぎます:2882 つのことが `.claude/settings.json` のキーがそれをクローンするすべての人に適用されるのを防ぎます:
769 289
772 `env` キー内では、テレメトリエクスポート変数も共有ファイルから適用されません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) を参照してください。292 `env` キー内では、テレメトリエクスポート変数も共有ファイルから適用されません。いくつかのオフ値を除きます。[Claude Code が `env` で無視する変数](/docs/ja/settings-reference#variables-claude-code-ignores-in-env) を参照してください。
773* **キーは信頼を待っています。** `permissions.allow` ルール、`permissions.additionalDirectories`、`extraKnownMarketplaces`、およびほとんどの [`env`](/docs/ja/settings-reference#env) 値は、各チームメイトが [フォルダを信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) した後にのみ適用されます。それまで、チームメイトにはプロンプトが表示され続け、ファイルが宣言するマーケットプレイスからプラグインを取得しません。`deny` および `ask` ルールはすぐに適用されます。293* **キーは信頼を待っています。** `permissions.allow` ルール、`permissions.additionalDirectories`、`extraKnownMarketplaces`、およびほとんどの [`env`](/docs/ja/settings-reference#env) 値は、各チームメイトが [フォルダを信頼](/docs/ja/permissions#project-allow-rules-and-workspace-trust) した後にのみ適用されます。それまで、チームメイトにはプロンプトが表示され続け、ファイルが宣言するマーケットプレイスからプラグインを取得しません。`deny` および `ask` ルールはすぐに適用されます。
774 294
775<h4 id="permission-rules-combine-differently-than-you-expected">295#### 権限ルールが予想と異なる方法で結合されます
776 権限ルールが予想と異なる方法で結合されます
777</h4>
778 296
779* **権限プロンプトで「はい、今後は聞かないでください」を選択しましたが、同じツールのプロンプトが表示されます。** その選択はローカルファイルに `allow` ルールを保存し、そこの `allow` ルールはプロジェクトまたは管理ファイルからの `ask` ルールより優先されません。[権限ルールがどのように結合されるか](/docs/ja/permissions#settings-precedence) は順序を説明しています。VS Code 拡張機能では、承認カードはプロジェクトの共有ファイルを含む宛先ファイルを選択できます。これはすべての人のルールを変更します。CLI では、Claude Code はローカルファイルにのみ書き込みます。297* **権限プロンプトで「はい、今後は聞かないでください」を選択しましたが、同じツールのプロンプトが表示されます。** その選択はローカルファイルに `allow` ルールを保存し、そこの `allow` ルールはプロジェクトまたは管理ファイルからの `ask` ルールより優先されません。[権限ルールがどのように結合されるか](/docs/ja/permissions#settings-precedence) は順序を説明しています。VS Code 拡張機能では、承認カードはプロジェクトの共有ファイルを含む宛先ファイルを選択できます。これはすべての人のルールを変更します。CLI では、Claude Code はローカルファイルにのみ書き込みます。
780* **組織の許可ルールは自分のルールと一緒に適用されます。** これは予想されています。Claude Code は [`permissions.allow`](/docs/ja/settings-reference#permissions-allow) をスコープ全体でマージします。ただし、組織が [`allowManagedPermissionRulesOnly`](/docs/ja/settings-reference#allowmanagedpermissionrulesonly) を設定していない限り。298* **組織の許可ルールは自分のルールと一緒に適用されます。** これは予想されています。Claude Code は [`permissions.allow`](/docs/ja/settings-reference#permissions-allow) をスコープ全体でマージします。ただし、組織が [`allowManagedPermissionRulesOnly`](/docs/ja/settings-reference#allowmanagedpermissionrulesonly) を設定していない限り。
781 299
782<span id="security-keys-where-the-stricter-value-applies" />300### 管理設定の優先順位の例外
783
784<h3 id="exceptions-to-managed-settings-precedence">
785 管理設定の優先順位の例外
786</h3>
787 301
788セッションを制限する値を持つ少数のキーについて、Claude Code は通常は管理設定を上書きできないスコープからの制限値を優先します。このテーブルでキーを見つけて、どの値を優先し、どこから優先するかを確認してください。302セッションを制限する値を持つ少数のキーについて、Claude Code は通常は管理設定を上書きできないスコープからの制限値を優先します。このテーブルでキーを見つけて、どの値を優先し、どこから優先するかを確認してください。
789 303
803 317
804Claude Code を内部で実行し、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するアプリも例外です。Claude Code はそのアプリのモデル設定をすべての管理ソースからの `model`、`fallbackModel`、`modelPicker`、および `modelOverrides` キーより優先し、管理 `env` ブロック内のモデル選択変数(`ANTHROPIC_MODEL` および `ANTHROPIC_DEFAULT_*_MODEL` ファミリーなど)より優先します。Claude Code は管理 [`availableModels`](/docs/ja/settings-reference#availablemodels) 許可リストを有効に保ちます。ただし、アプリが独自のものを提供する場合を除きます。318Claude Code を内部で実行し、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/ja/env-vars) を設定するアプリも例外です。Claude Code はそのアプリのモデル設定をすべての管理ソースからの `model`、`fallbackModel`、`modelPicker`、および `modelOverrides` キーより優先し、管理 `env` ブロック内のモデル選択変数(`ANTHROPIC_MODEL` および `ANTHROPIC_DEFAULT_*_MODEL` ファミリーなど)より優先します。Claude Code は管理 [`availableModels`](/docs/ja/settings-reference#availablemodels) 許可リストを有効に保ちます。ただし、アプリが独自のものを提供する場合を除きます。
805 319
806<h2 id="settings-in-cloud-sessions">320## クラウドセッションの設定
807 クラウドセッションの設定
808</h2>
809 321
810[クラウドセッション](/docs/ja/claude-code-on-the-web)は[クラウド環境](/docs/ja/cloud-environments)で実行され、マシン上ではなくリポジトリの新しいクローンで実行されます。これにより、どの設定がそこに到達するかが変わります:322[クラウドセッション](/docs/ja/claude-code-on-the-web)は[クラウド環境](/docs/ja/cloud-environments)で実行され、マシン上ではなくリポジトリの新しいクローンで実行されます。これにより、どの設定がそこに到達するかが変わります:
811 323
816 328
817[セットアップから何が引き継がれるか](/docs/ja/cloud-environments#what-carries-over-from-your-setup)は残りをリストします:`CLAUDE.md`、skills、MCP サーバー、plugins、および認証情報。329[セットアップから何が引き継がれるか](/docs/ja/cloud-environments#what-carries-over-from-your-setup)は残りをリストします:`CLAUDE.md`、skills、MCP サーバー、plugins、および認証情報。
818 330
819<h2 id="what’s-next">331## 次は何か
820 次は何か
821</h2>
822 332
823* [すべての設定](/docs/ja/settings-reference):すべてのキー。設定する場所と例333* [すべての設定](/docs/ja/settings-reference):すべてのキー。設定する場所と例
824* [設定ファイルの例](/docs/ja/settings-example):個人ファイル、チームファイル、および組織の管理ファイル334* [設定ファイルの例](/docs/ja/settings-example):個人ファイル、チームファイル、および組織の管理ファイル