Anthropic
OpenAI
xAI
Gemini
S
settings-reference.md
2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC
This page contains 6508 additions and 0 deletions.
Page
Diff
2026
2026
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
すべての設定
Claude Code の settings.json キーの完全なリファレンス:各キーの場所、型とデフォルト値、貼り付け可能な例、およびすべてのキーのインデックス。
export const BackToIndex = ({href = '#all-settings', label = 'Back to index'}) => {
const [show, setShow] = useState(false);
useEffect(() => {
const onScroll = () => setShow(window.scrollY > window.innerHeight);
onScroll();
window.addEventListener('scroll', onScroll, {
passive: true
});
return () => window.removeEventListener('scroll', onScroll);
}, []);
return
<a className={'bti-btn' + (show ? ' bti-show' : '')} href={href} aria-hidden={!show} tabIndex={show ? 0 : -1}>
{label}
;
};
export const ReferenceFilter = ({placeholder, noun, facets, facetOrder, columnHelp, children}) => {
const useLive = init => {
const [v, setV] = useState(init);
const ref = useRef(init);
return [v, ref, x => {
ref.current = x;
setV(x);
}];
};
const cap = s => s.charAt(0).toUpperCase() + s.slice(1);
const plural = s => s.endsWith('y') ? s.slice(0, -1) + 'ies' : s + 's';
const facetNames = facets || ['category', 'topic', 'scope', 'where'];
const orderOf = {};
Object.keys(facetOrder || ({})).forEach(k => {
orderOf[k] = facetOrder[k].map(x => String(x).toLowerCase());
});
const rankIn = (col, v) => {
const list = orderOf[col];
if (!list) return -1;
const i = list.indexOf(String(v).toLowerCase());
return i < 0 ? list.length : i;
};
const cmpValues = col => (a, b) => {
const ra = rankIn(col, a);
const rb = rankIn(col, b);
if (ra !== rb) return ra - rb;
return a < b ? -1 : a > b ? 1 : 0;
};
const help = columnHelp || ({});
const FIRST_COL_HELP = 'Click an entry to open it.';
const optionLabel = (f, c) => c === 'All' ? 'All ' + plural(f.label.toLowerCase()) : c;
const nounText = noun || 'entries';
const placeholderText = placeholder || 'Filter this reference';
const rootRef = useRef(null);
const tablesRef = useRef(null);
const searchRef = useRef(null);
const menuRef = useRef({});
const [q, qRef, setQ] = useLive('');
const [sel, selRef, setSel] = useLive({});
const [sortBy, sortRef, setSortBy] = useLive(null);
const [menuOpen, menuOpenRef, setMenu] = useLive(null);
const [facetList, setFacetList] = useState([]);
const [firstHead, setFirstHead] = useState('');
const [counts, setCounts] = useState({
shown: 0,
total: 0
});
const [disabled, setDisabled] = useState(false);
const menuBtn = name => menuRef.current[name] ? menuRef.current[name].querySelector(':scope > button') : null;
const menuList = name => menuRef.current[name] ? menuRef.current[name].querySelector('[role="listbox"]') : null;
const closeMenu = name => {
setMenu(null);
const btn = menuBtn(name);
if (btn) btn.focus();
};
const focusSelected = name => {
const list = menuList(name);
if (!list) return;
const btn = list.querySelector('button[aria-selected="true"]') || list.querySelector('button');
if (btn) btn.focus();
};
const setFacet = (name, value) => {
setSel(Object.assign({}, selRef.current, {
[name]: value
}));
apply(qRef.current);
closeMenu(name);
};
const sortTables = by => {
(tablesRef.current || []).forEach(tab => {
const t = tab.el;
const idx = tab.heads.indexOf(by);
const body = t.querySelector('tbody');
if (idx < 0 || !body) return;
const rows = [...body.querySelectorAll('tr')];
const keyOf = r => r.children[idx] ? r.children[idx].textContent.trim().toLowerCase() : '';
const cmp = cmpValues(by);
rows.map((r, i) => ({
r,
i: Number(r.dataset.sfIndex !== undefined ? r.dataset.sfIndex : i),
k: keyOf(r)
})).sort((a, b) => cmp(a.k, b.k) || a.i - b.i).forEach(x => body.appendChild(x.r));
[...t.querySelectorAll('thead th')].forEach((h, i) => {
const sortable = tab.heads[i] === tab.heads[0] || facetNames.indexOf(tab.heads[i]) > -1;
if (sortable) h.setAttribute('aria-sort', i === idx ? 'ascending' : 'none'); else h.removeAttribute('aria-sort');
});
});
};
const scan = () => {
const tables = [];
let el = rootRef.current ? rootRef.current.nextElementSibling : null;
while (el) {
if (el.tagName === 'H2' || el.querySelector(':scope > h2')) break;
const found = el.tagName === 'TABLE' ? [el] : [...el.querySelectorAll('table')];
found.forEach(t => {
const headCells = [...t.querySelectorAll('thead th, thead td')];
const heads = headCells.map(h => h.textContent.trim().toLowerCase());
if (heads.length === 0) return;
const facetIdx = {};
heads.forEach((h, i) => {
if (facetNames.indexOf(h) > -1) facetIdx[h] = i;
});
if (!t.dataset.sfDecorated) {
t.dataset.sfDecorated = '1';
headCells.forEach((h, i) => {
const text = i === 0 ? help[heads[0]] || FIRST_COL_HELP : help[heads[i]];
if (text) h.title = text;
});
}
const rows = [...t.querySelectorAll('tbody tr')].map((r, i) => {
if (r.dataset.sfIndex === undefined) r.dataset.sfIndex = String(i);
const cells = r.querySelectorAll('td');
const fv = {};
Object.keys(facetIdx).forEach(h => {
fv[h] = cells[facetIdx[h]] ? cells[facetIdx[h]].textContent.trim() : '';
});
return {
el: r,
text: [...cells].map(c => c.textContent).join(' ').toLowerCase(),
facets: fv,
anchors: [...r.querySelectorAll('a[href^="#"]')].map(a => a.getAttribute('href').slice(1)),
ids: [...r.querySelectorAll('[id]')].map(n => n.id)
};
});
tables.push({
el: t,
box: t.closest('[data-table-wrapper]') || t,
rows,
heads
});
});
el = el.nextElementSibling;
}
tablesRef.current = tables;
if (sortRef.current) sortTables(sortRef.current);
return tables;
};
const apply = query => {
let tables = tablesRef.current || scan();
if (tables.some(t => !t.el.isConnected)) tables = scan();
const needle = query.trim().toLowerCase();
const sel = selRef.current;
const activeFacets = Object.keys(sel).filter(h => sel[h] && sel[h] !== 'All');
const show = (el, on) => {
const want = on ? '' : 'none';
if (el.style.display !== want) el.style.display = want;
};
let total = 0;
let shown = 0;
const visibleTargets = new Set();
tables.forEach(t => {
let tableVisible = 0;
t.rows.forEach(row => {
total += 1;
const catOk = activeFacets.every(h => {
const v = row.facets[h];
return v === sel[h] || v === '' || v === undefined;
});
const match = catOk && (needle === '' || row.text.includes(needle));
show(row.el, match);
if (match) {
tableVisible += 1;
row.anchors.forEach(a => visibleTargets.add(a));
}
});
show(t.box, !(t.rows.length > 0 && tableVisible === 0));
shown += tableVisible;
});
if (shown < total && visibleTargets.size > 0) {
tables.forEach(t => {
t.rows.forEach(row => {
if (row.el.style.display === 'none' && row.ids.some(id => visibleTargets.has(id))) {
show(row.el, true);
show(t.box, true);
shown += 1;
}
});
});
}
setCounts({
shown,
total
});
return total;
};
const deriveFacets = tables => {
const seen = {};
tables.forEach(t => t.rows.forEach(r => {
Object.keys(r.facets).forEach(h => {
if (!seen[h]) seen[h] = [];
if (r.facets[h] && seen[h].indexOf(r.facets[h]) === -1) seen[h].push(r.facets[h]);
});
}));
const list = facetNames.filter(h => seen[h] && seen[h].length > 0).map(h => ({
name: h,
label: cap(h),
values: seen[h].sort(cmpValues(h))
}));
setFacetList(list);
const first = tables[0] ? tables[0].heads[0] : '';
setFirstHead(first);
if (!sortRef.current && first) {
setSortBy(first);
sortTables(first);
}
const init = {};
list.forEach(f => {
init[f.name] = selRef.current[f.name] || 'All';
});
setSel(init);
};
const onChange = value => {
setQ(value);
apply(value);
};
const clearAll = () => {
const next = {};
Object.keys(selRef.current).forEach(k => {
next[k] = 'All';
});
setSel(next);
setQ('');
apply('');
if (searchRef.current) searchRef.current.focus();
};
useEffect(() => {
const tables = scan();
deriveFacets(tables);
const total = apply('');
let retryTimer;
if (total === 0) {
retryTimer = setTimeout(() => {
tablesRef.current = null;
if (apply(qRef.current) > 0) deriveFacets(tablesRef.current); else setDisabled(true);
}, 500);
}
const onKey = e => {
if (e.key === 'Escape' && menuOpenRef.current !== null) closeMenu(menuOpenRef.current);
if (!searchRef.current) return;
if (e.metaKey || e.ctrlKey || e.altKey) return;
const active = document.activeElement;
const tag = active && active.tagName;
const editable = active && active.isContentEditable;
const interactive = tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || tag === 'BUTTON' || tag === 'A' || editable || active && active.getAttribute && active.getAttribute('role');
if (e.key === '/' && !interactive) {
const r = rootRef.current ? rootRef.current.getBoundingClientRect() : null;
if (r && r.bottom > 0 && r.top < (window.innerHeight || 0)) {
e.preventDefault();
setMenu(null);
searchRef.current.focus();
}
}
if (e.key === 'Escape' && menuOpenRef.current === null && active === searchRef.current) {
onChange('');
searchRef.current.blur();
}
};
const onDocClick = e => {
const open = menuOpenRef.current;
if (open !== null && menuRef.current[open] && !menuRef.current[open].contains(e.target)) setMenu(null);
};
window.addEventListener('keydown', onKey);
document.addEventListener('mousedown', onDocClick);
return () => {
if (retryTimer) clearTimeout(retryTimer);
window.removeEventListener('keydown', onKey);
document.removeEventListener('mousedown', onDocClick);
(tablesRef.current || []).forEach(t => {
t.box.style.display = '';
t.rows.forEach(row => {
row.el.style.display = '';
});
});
};
}, []);
useEffect(() => {
if (menuOpen !== null) focusSelected(menuOpen);
}, [menuOpen]);
if (disabled) return null;
const facetActive = Object.keys(sel).some(h => sel[h] && sel[h] !== 'All');
const sortOptions = [firstHead].concat(facetList.map(f => f.name)).filter((h, i, a) => h && a.indexOf(h) === i);
return <>
<div ref={rootRef} className="sf-root" style={{
margin: '16px 0 8px'
}}>
<div style={{
display: 'flex',
gap: '8px',
flexWrap: 'wrap',
alignItems: 'center'
}}>
<div style={{
position: 'relative',
flex: '1 1 260px',
maxWidth: '480px'
}}>
<input ref={searchRef} value={q} onChange={e => onChange(e.target.value)} placeholder={placeholderText} aria-label={placeholderText} style={{
width: '100%',
padding: '8px 56px 8px 12px',
borderRadius: '8px',
border: '1px solid var(--sf-border)',
background: 'var(--sf-bg)',
color: 'var(--sf-text)',
fontSize: '14px',
outline: 'none',
boxSizing: 'border-box'
}} />
{q ? <button type="button" onClick={() => {
onChange('');
if (searchRef.current) searchRef.current.focus();
}} aria-label="Clear text" className="sf-end sf-x">
×
: <span className="sf-end" style={{
fontFamily: 'var(--font-mono, ui-monospace, monospace)',
fontSize: '11px',
color: 'var(--sf-text-4)',
border: '1px solid var(--sf-border)',
borderRadius: '3px',
padding: '0 5px',
pointerEvents: 'none'
}}>
/
}
{facetList.map(f => {
const cur = sel[f.name] || 'All';
const isOpen = menuOpen === f.name;
return <div key={f.name} ref={el => {
menuRef.current[f.name] = el;
}} style={{
position: 'relative'
}}>
<button type="button" onClick={() => setMenu(isOpen ? null : f.name)} onKeyDown={e => {
if (e.key === 'ArrowDown') {
e.preventDefault();
if (!isOpen) setMenu(f.name); else focusSelected(f.name);
}
}} aria-haspopup="listbox" aria-expanded={isOpen} style={{
display: 'flex',
alignItems: 'center',
gap: '8px',
padding: cur !== 'All' ? '8px 30px 8px 12px' : '8px 12px',
borderRadius: '8px',
border: '1px solid ' + (cur !== 'All' ? 'var(--sf-accent)' : 'var(--sf-border)'),
background: 'var(--sf-bg)',
color: cur === 'All' ? 'var(--sf-text-3)' : 'var(--sf-text)',
fontSize: '13.5px',
cursor: 'pointer',
whiteSpace: 'nowrap',
maxWidth: '260px'
}}>
<span style={{
overflow: 'hidden',
textOverflow: 'ellipsis'
}}>
{f.label + ': ' + optionLabel(f, cur)}
<span aria-hidden="true" style={{
fontSize: '9px',
color: 'var(--sf-text-4)',
transform: isOpen ? 'rotate(180deg)' : 'none',
transition: 'transform 120ms'
}}>
▼
{cur !== 'All' && <button type="button" onClick={() => setFacet(f.name, 'All')} aria-label={'Clear ' + f.label + ' filter'} title={'Clear ' + f.label + ' filter'} className="sf-end sf-x">
×
}
{isOpen && <div role="listbox" aria-label={f.label} onKeyDown={e => {
const items = [...e.currentTarget.querySelectorAll('button')];
const idx = items.indexOf(document.activeElement);
if (e.key === 'ArrowDown') {
e.preventDefault();
(items[idx + 1] || items[0]).focus();
} else if (e.key === 'ArrowUp') {
e.preventDefault();
(items[idx - 1] || items[items.length - 1]).focus();
} else if (e.key === 'Home') {
e.preventDefault();
if (items[0]) items[0].focus();
} else if (e.key === 'End') {
e.preventDefault();
if (items[items.length - 1]) items[items.length - 1].focus();
} else if (e.key === 'Tab') {
closeMenu(f.name);
}
}} style={{
position: 'absolute',
top: 'calc(100% + 6px)',
left: 0,
zIndex: 1000,
minWidth: '260px',
maxHeight: '340px',
overflowY: 'auto',
background: 'var(--sf-bg)',
border: '1px solid var(--sf-border)',
borderRadius: '10px',
boxShadow: '0 8px 24px rgba(0,0,0,0.12)',
padding: '5px'
}}>
{['All'].concat(f.values).map(c => {
const selected = cur === c;
return <button key={c} role="option" aria-selected={selected} tabIndex={-1} onClick={() => setFacet(f.name, c)} style={{
display: 'flex',
alignItems: 'center',
gap: '8px',
width: '100%',
textAlign: 'left',
padding: '7px 10px',
borderRadius: '6px',
border: 'none',
background: 'transparent',
color: selected ? 'var(--sf-accent)' : 'var(--sf-text)',
fontWeight: selected ? 600 : 400,
fontSize: '13.5px',
cursor: 'pointer'
}}>
<span aria-hidden="true" style={{
width: '14px',
color: 'var(--sf-accent)',
flexShrink: 0
}}>
{selected ? '✓' : ''}
{optionLabel(f, c)}
;
})}
}
;
})}
{sortOptions.length > 1 && <div role="group" aria-label="Sort by" style={{
display: 'flex',
alignItems: 'center',
gap: '4px',
fontSize: '13px',
color: 'var(--sf-text-3)',
whiteSpace: 'nowrap'
}}>
<span style={{
marginRight: '4px'
}}>Sort by
{sortOptions.map(o => {
const on = sortBy === o;
return <button key={o} type="button" aria-pressed={on} onClick={() => {
setSortBy(o);
sortTables(o);
}} style={{
padding: '6px 10px',
borderRadius: '8px',
border: '1px solid ' + (on ? 'var(--sf-accent)' : 'var(--sf-border)'),
background: 'var(--sf-bg)',
color: on ? 'var(--sf-text)' : 'var(--sf-text-3)',
fontSize: '13px',
cursor: 'pointer'
}}>
{o.charAt(0).toUpperCase() + o.slice(1)}
;
})}
}
<div aria-live="polite" style={{
margin: '8px 0 0',
fontSize: '13px',
color: 'var(--sf-text-3)',
minHeight: '1px'
}}>
{q.trim() === '' && !facetActive ? <>{counts.total} {nounText}</> : counts.shown === 0 ? <>
{q.trim() === '' ? 'No ' + nounText + ' match the selected filters.' : facetActive ? 'No ' + nounText + ' match \u201c' + q + '\u201d with the selected filters.' : 'No ' + nounText + ' match \u201c' + q + '\u201d.'}{' '}
<button type="button" onClick={clearAll} style={{
background: 'none',
border: 'none',
padding: 0,
color: 'var(--sf-accent)',
cursor: 'pointer',
font: 'inherit',
textDecoration: 'underline'
}}>
Clear filters
{children ? <> {children}</> : null}
</> : <>
Showing {counts.shown} of {counts.total} {nounText}
</>}
</>;
};
このリファレンスページでは、Claude Code が設定ファイルから読み込む各キーと、代わりに ~/.claude.json に保持する短いキーグループ を一覧表示しています。ファイルを選択するか、優先順位を確認するには、設定ファイルと優先順位 から始めてください。
設定インデックス
以下のすべてのキーはそのエントリにリンクしています。スコープは、それが入ることができるファイル をリストしています。User は ~/.claude/settings.json、Project は .claude/settings.json、Local は .claude/settings.local.json、Managed は組織がデプロイするもの です。Any file は 4 つすべてを意味し、Global config は ~/.claude.json を意味します。
<ReferenceFilter
noun="settings"
placeholder="Filter settings by key or purpose"
facetOrder={{ scope: ["Any file", "User, local, or managed", "User or managed", "Managed", "Global config"] }}
columnHelp={{
topic: "The section of this page that holds the entry. Use Sort by to group the table by topic.",
scope: "Which settings files can set the key: user (~/.claude/settings.json), project (.claude/settings.json), local (.claude/settings.local.json), or managed (deployed by your organization). Global config keys are in ~/.claude.json instead.",
}}
/>
モデルと応答
Claude Code が使用するモデルと応答方法を選択します。これらの設定が /model コマンドと環境変数とどのように相互作用するかについては、モデル設定 を参照してください。
`advisorModel`
Claude がサーバー側のアドバイザーツール を呼び出すときに回答するモデルを選択します。アドバイザーをオフにするには、これを設定解除します。アドバイザーはメインモデル以上の能力を持つ必要があります。そうでない場合、Claude Code はアドバイザーなしでリクエストを送信します。アドバイザーモデルを選択 を参照してください。
通常、このキーを手動で編集することはありません。/advisor を実行して、現在の選択、アドバイザーができるモデル、およびアドバイザーなし を表示するピッカーを開きます。Claude Code は選択を ~/.claude/settings.json のこのキーに保存します。リモートコントロール クライアントから、またはリモートワーカーに接続されたセッションでピッカーから選択した場合、その選択はそのセッションのみに適用され、このキーは変更されません。
アカウントが使用クレジット同意 を必要とする場合、/model fable を実行して最初にそれを受け入れます。そうするまで、/advisor で Fable を選択しても何も保存されず、Claude Code は最初に /model fable を実行するよう指示します。
スコープ : 任意のファイル
タイプ : 文字列、エイリアス "fable"、"opus"、または "sonnet" のいずれか。これらは Claude Code の現在のデフォルトバージョンのそのモデルファミリーに解決されます。または "claude-opus-5" などの完全なモデル ID
デフォルト : 設定解除。アドバイザーはオフです
セッションごとのオーバーライド : --advisor はこのキーより優先されます。CLAUDE_CODE_DISABLE_ADVISOR_TOOL はアドバイザーをオフにし、このキーはそれをオンに戻すことはできません
{
"advisorModel" : "opus"
}
このキーは、Amazon Bedrock や Claude Platform on AWS など、アドバイザーが利用できない プロバイダーには影響しません。"fable" にはFable アクセス が必要です。
`alwaysThinkingEnabled`
これを false に設定して、すべてのセッションで拡張思考 をオフにします。思考はデフォルトでオンなので、true は何も変わりません。ほとんどの人は、ファイルを編集するのではなく /config を通じてこれを設定します。
Fable モデルなど常に思考するモデルでは、false は効果がありません。サードパーティプロバイダー では、Claude Code は思考をオフにするのではなく thinking パラメータを省略するため、適応推論モデルは依然として思考する可能性があります。Anthropic API で思考がオフになっている場合、Claude Code は、Opus 5 などその組み合わせを受け入れない ことが分かっているモデルに、より高いレベルではなく努力 high を送信します。
スコープ : 任意のファイル
タイプ : ブール値
true: 効果なし。思考は既にオンです
false: Claude Code はすべてのセッションで拡張思考をオフにします
デフォルト : 設定解除。思考をサポートするモデルではオンです
セッションごとのオーバーライド : MAX_THINKING_TOKENS はこのキーより優先されます。セッションの場合: 0 は思考をオフにします。false と同じモデルおよびプロバイダーの制限下で、正の値は、このキーが false の場合でも思考をオンにします。適応推論モデルでは、数値自体は無視されます
{
"alwaysThinkingEnabled" : false
}
`availableModels`
メインセッション、サブエージェント 、スキル 、およびアドバイザー で選択できるモデルを制限します。管理リストは /model、--model、および開発者自身のファイルの model キーを制限します。リスト外のモデルは選択できません。これ自体は Default オプションに影響しません。enforceAvailableModels と組み合わせてください。
スコープ : 任意のファイル 。組織に対して強制するために、管理設定にデプロイします。
タイプ : モデルエイリアスまたは ID の配列
デフォルト : 設定解除。すべてのモデルが利用可能です
この例では、Sonnet と Haiku モデルのみを選択できます:
{
"availableModels" : [ "sonnet" , "haiku" ]
}
モデル選択を制限 を参照してください。
`effortLevel`
保存していないモデルのデフォルト努力レベル を設定します。低いレベルは単純なタスクではより高速で安価であり、高いレベルは複雑な問題でより深く推論します。
マシン上のインタラクティブセッションで /effort low、medium、high、または xhigh を実行すると、Claude Code はレベルを modelSettings の下のアクティブなモデルに保存し、このキーには書き込みません。v2.1.251 より前では、/effort はこのキーに書き込みました。
同じ設定ファイル内で、Claude Code はモデルの保存されたレベルをこのキーではなく使用します。modelSettings はクロスファイルの優先順位を示します。
リモートワーカーに接続されたセッションでは、/effort はそのセッションのみに適用されます。-p 実行または Agent SDK でも、モデルのデフォルト努力に対するホールドが有効でない限り 、そのセッションのみに適用されます。努力レベルを調整 は、そのセッションのみに適用される対話的な選択肢も一覧表示します。/effort が出力するメッセージは、どちらが発生したかを示します。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"low": 最小限の推論。短く、スコープが限定され、レイテンシに敏感で、インテリジェンスに敏感でないタスク用
"medium": インテリジェンスをトレードオフできるコスト敏感な作業のトークン使用量を削減
"high": トークン使用量とインテリジェンスのバランス
"xhigh": より高いトークン支出でより深い推論
デフォルト : 設定解除
セッションごとのオーバーライド : --effort はこのキーより優先されます。セッションの場合、CLAUDE_CODE_EFFORT_LEVEL は両方より優先されます
{
"effortLevel" : "xhigh"
}
Opus 4.7、Opus 4.8、および Fable 5 では、Claude Code はそのモデルのデフォルト努力(組織設定またはビルトイン)を保持します。努力レベルを調整 は、レベルを設定するどの方法がホールドを終了し、どの方法がそれを維持するかを示します。ホールドが終了すると、Claude Code は modelSettings で示された優先順位によって努力を解決します。
`enforceAvailableModels`
/model ピッカーには、適用される場合は組織デフォルトモデル に解決される Default オプション、またはそうでない場合はアカウントタイプのデフォルトがあります。availableModels 許可リストはあなたが名前を付けることができるモデルを制限しますが、それ自体は Default をそのままにするため、Default はリスト外のモデルに解決される可能性があります。このキーはそのギャップを埋めます。Claude Code v2.1.175 以降が必要です。
組織が管理設定をデプロイすると、Claude Code はこのキーを管理ソースからのみ読み取り、他のファイルでは無視します。
スコープ : 任意のファイル
タイプ : ブール値
true: Default が availableModels 外のモデルに解決される場合、Claude Code はそれをリスト内の最初の利用可能なモデルに解決します
false: Default は通常通り解決され、availableModels 外のモデルにも解決される可能性があります
デフォルト : false
この例は、名前付き選択を Sonnet と Haiku モデルに制限し、Default をそれらの最初の利用可能なものに解決します:
{
"availableModels" : [ "sonnet" , "haiku" ] ,
"enforceAvailableModels" : true
}
このキーは availableModels が設定解除または空の場合は効果がありません。Default モデルの許可リストを強制 を参照してください。Claude Code v2.1.175 以降が必要です。
`fallbackModel`
プライマリモデルがオーバーロードされているか利用できない場合に、Claude Code が順番に試すバックアップモデルに名前を付けます。Claude Code はチェーン内の次の利用可能なモデルに切り替え、ターンの残りの間それを使用し、通知を表示します。チェーンがない場合、Claude Code は同じモデルを再試行してからサーバーのエラーを表示し、あなたが再試行またはモデルを切り替えます。
切り替えは、フォールバックモデルでの 1 ターンのコールドプロンプトキャッシュ を意味します。次のメッセージはプライマリモデルを最初に再度試します。
スコープ : 任意のファイル
タイプ : モデルエイリアスまたは ID の配列。"default" はデフォルトモデルに展開されます
デフォルト : 設定解除。失敗したリクエストは別のモデルで再試行されません
セッションごとのオーバーライド : --fallback-model はこのキーより優先されます。セッションの場合
この例は、プライマリモデルが失敗したときに最初に Sonnet 5 を試し、次に Haiku 4.5 を試します:
{
"fallbackModel" : [ "claude-sonnet-5" , "claude-haiku-4-5" ]
}
ほとんどの配列設定とは異なり、このキーは設定ファイル全体でマージされません。最も優先度の高いファイルがそれを定義すると、チェーン全体が提供されます。プロジェクトファイルが ["claude-sonnet-5"] を設定し、ユーザーファイルが ["claude-haiku-4-5"] を設定する場合、チェーンは ["claude-sonnet-5"] のみです。Claude Code はリストから最大 3 つの異なる許可モデルを保持し、残りを無視します。フォールバックモデルチェーン を参照してください。
`fastMode`
利用可能な場所でセッションの高速モード をオンにします。高速反復やライブデバッグなどの対話的な作業で、トークンあたりのコストが高くても速度が必要な場合に使用します。通常、このキーを手動で編集することはありません。/fast を実行すると fastMode: true が ~/.claude/settings.json に書き込まれ、再度実行すると高速モードがオフになります。高速モードは Opus 5 と Opus 4.8 でのみ実行されます。別のモデルからオンにすると Opus に切り替わり、サポートされていないモデルに切り替えるとオフになります。高速モードがオンの間にモデルを切り替える を参照してください。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は利用可能な場所でセッションの高速モードをオンにします
false: 高速モードはオフのままです
デフォルト : 設定解除。高速モードはオフです
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_FAST_MODE は 1 セッションの高速モードをオフにし、このキーはそれをオンに戻すことはできません
{
"fastMode" : true
}
`fastModePerSessionOptIn`
通常、/fast を実行するとユーザー設定に fastMode が保存されるため、高速モードは後のすべてのセッションの開始時にオンになります。このキーを true に設定してそれを停止します。保存された fastMode: true はセッション開始時に高速モードをオンにしなくなり、各ユーザーは必要な各セッションで /fast を実行する必要があります。Claude Code は fastMode キーをファイルに残すため、このキーをオフにすると古い動作が復元されます。Team または Enterprise プランのオーナーは、サーバー管理設定 を通じて組織全体にデプロイできます。
スコープ : 任意のファイル
タイプ : ブール値
true: 保存された fastMode: true はセッション開始時に高速モードをオンにしなくなるため、各ユーザーは必要な各セッションで /fast を実行します。--settings で渡された fastMode: true は、管理設定がこのキーを設定していない限り、そのセッションでもカウントされます
false: 保存された fastMode: true は後のすべてのセッションの開始時に高速モードをオンにします
デフォルト : false
{
"fastModePerSessionOptIn" : true
}
セッションごとのオプトインを必須にする を参照してください。
`language`
Claude がデフォルトで英語以外の言語で応答するようにします。応答の固定リストはありません。Claude Code は値をシステムプロンプトに逐語的に追加し、常にその言語で応答するよう指示するため、Claude が読める任意の言語名が機能します。Claude Code は値をチェックしないため、スペルが間違った名前はエラーを生成するのではなく、書かれたとおりに Claude に到達します。同じ値は音声ディクテーション の言語を設定します。これにはサポートされているディクテーション言語 の固定リストがあり、自動生成されたセッションタイトルの言語も設定します。
スコープ : 任意のファイル
タイプ : 文字列。"japanese"、"spanish"、"french" などの任意の言語名。Claude Code はそれを検証しません
デフォルト : 設定解除。セッションタイトルは会話の言語と一致します
{
"language" : "japanese"
}
`maxEffortLevel`
セッションが使用できる努力レベル をキャップし、低いレベルを利用可能なままにします。より高いレベルはすべてキャップで実行されます。これには /effort、/model ピッカー、--effort、CLAUDE_CODE_EFFORT_LEVEL 、スキルまたはサブエージェントの effort frontmatter、またはモデル自体のデフォルトからのものが含まれます。Claude Code は各リクエストの前にキャップ自体を適用するため、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry を含むすべてのプロバイダーで保持されます。Claude Code v2.1.267 以降が必要です。
スコープ : 任意のファイル 。組織に対して強制するために、管理設定にデプロイします。複数のスコープがキャップを設定する場合、最も低いものが適用されるため、1 つのスコープで設定されたキャップは別のスコープから上げることはできません
タイプ : 文字列。"low"、"medium"、"high"、"xhigh"、または "max" のいずれか。"max" 値はキャップを設定しません
デフォルト : 設定解除。キャップは適用されません
ultracode への影響 : xhigh より低いキャップは、キャップが適用されるモデルで ultracode を利用不可にします
モデルごとのキャップ : モデルの modelSettings エントリに maxEffortLevel を追加します。そのエントリは、ユーザー設定または 1 つの管理ソース など、両方を設定する設定ソース内でのみ、そのモデルのこのキーを置き換えます。そこに "max" を設定して、そのソースのキャップからモデルを除外します。Claude Code は他のソースからのキャップを依然として適用します
この例はすべてのモデルを medium でキャップし、Sonnet 4.6 を除外します:
{
"maxEffortLevel" : "medium" ,
"modelSettings" : {
"claude-sonnet-4-6" : {
"maxEffortLevel" : "max"
}
}
}
組織がモデルの努力制限 も設定する場合、2 つのキャップの低い方が適用されます。
`model`
すべての新しいセッションが使用するモデルを設定し、毎回 /model で 1 つを選択する必要がないようにします。ここで設定しても、セッション中にモデルを切り替えることはできます。管理者が組織デフォルトモデル を設定してユーザー選択をオーバーライドした場合、ユーザー、プロジェクト、またはローカル設定でこのキーを設定しても、そのモデルが取得されます。
スコープ : 任意のファイル
タイプ : 文字列。モデルエイリアスまたは完全なモデル ID
デフォルト : 設定解除。Claude Code はアカウントのデフォルトモデルを使用します
セッションごとのオーバーライド : --model は ANTHROPIC_MODEL より優先され、両方は 1 セッションのこのキーより優先されます。管理 model を含む。availableModels リストは依然として選択に適用されます
{
"model" : "claude-sonnet-5"
}
ここの値は ANTHROPIC_DEFAULT_MODEL をランク付けし、Claude Code はモデルを選択するものが他にない場合にのみ使用します。
`modelOverrides`
Anthropic モデル ID をプロバイダー固有のモデル ID(Amazon Bedrock 推論プロファイル ARN など)にマップします。各モデルピッカーエントリは、プロバイダー API を呼び出すときにマップされた値を使用します。管理者は、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry でこれを使用して、各モデルバージョンを特定の推論プロファイル、バージョン名、またはデプロイメントにルーティングし、ガバナンス、コスト配分、またはリージョナルルーティングを行います。
スコープ : 任意のファイル
タイプ : モデル ID をプロバイダーモデル ID にマップするオブジェクト
デフォルト : 設定解除
この例は、Opus 4.6 のすべての呼び出しを名前付き Bedrock 推論プロファイルにルーティングします:
{
"modelOverrides" : {
"claude-opus-4-6" : "arn:aws:bedrock:us-east-1:123456789012:inference-profile/example"
}
}
モデル ID をバージョンごとにオーバーライド を参照してください。
`modelPicker`
/model ピッカーが提供するモデルを、書き込む順序で、選択するラベルの下にリストします。これにより、ピッカーは組織が実行するモデルをリストします。ビルトインラインアップの後、またはその代わりに。各行の model は逐語的に取得されるため、--model が受け入れるもの(opus などのエイリアス、Anthropic モデル ID、または Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイのプロバイダー形式 ID)を受け入れます。Claude Code v2.1.242 以降が必要です。
スコープ : ユーザーまたは管理 。Claude Code はキーを管理設定、--settings、およびユーザー設定から読み取り、プロジェクトおよびローカル設定では無視するため、クローンするリポジトリはピッカーをリラベルできません。これら 3 つの最も高いものがキーを設定すると、ラインアップ全体が提供され、Claude Code は 2 つのソースからラインアップをマージすることはありません。
タイプ : options 配列と行を持つオブジェクト、およびオプションの replaceBuiltInOptions ブール値
デフォルト : 設定解除。ピッカーはビルトインラインアップを表示します
この例は、ビルトインラインアップの後に 2 つの Bedrock デプロイメントを追加し、チームが認識する名前の下に表示します:
{
"modelPicker" : {
"options" : [
{ "model" : "us.anthropic.claude-opus-4-8" , "label" : "Opus (production)" } ,
{
"model" : "us.anthropic.claude-sonnet-4-6" ,
"label" : "Sonnet (production)" ,
"description" : "Day-to-day work"
}
]
}
}
`modelPicker` のフィールド
キーは 2 つのフィールドを取ります。1 つは行自体用で、もう 1 つはビルトインラインアップを置き換えるか追加するかです。
フィールド
タイプ
機能
options
各行に必須の model とオプションの label および description を持つ行の配列
ピッカーが表示する行。この順序で。ただし、グレーアウトされた行は下部に移動します。label がない場合、Claude Code は既知のモデルのビルトイン名でタイトルを付けるか、モデル ID でそうでなければ、description がない場合は汎用の 2 行目を書きます
replaceBuiltInOptions
ブール値。デフォルト false
これらの行のみ、Default 、およびセッションが既に使用しているモデルの行を表示するには true に設定します。ビルトインラインアップにこれらの行を追加するには、設定解除のままにします
replaceBuiltInOptions がオンの場合、Claude Code はすべての他の行を非表示にします。ビルトインラインアップ、availableModels エントリ用に追加する行、ゲートウェイディスカバリー が見つけたモデル、および ANTHROPIC_CUSTOM_MODEL_OPTION 。オフの場合、Claude Code はビルトインラインアップが既にカバーしているリストされたモデルをスキップします。ラベルはピッカーが表示するものを変更し、Claude Code が実行するモデルではありません。
availableModels 許可リストは依然としてこれらの行に適用されます。リストされたモデルを許可リストに追加する前に、マージ動作 を読んでください。特定のモデル ID はそのファミリーのワイルドカード エントリを絞り込みます。Claude Code はピッカーを表示する前に各行をセッションに対してチェックします:
削除 : Claude Code が提供できない行。廃止されたモデルや、組織がアクセスできないモデルなど
グレーアウト : まだ選択できない行。理由とともに表示されます
行が生き残らない : Claude Code はビルトインラインアップを保持し、通常どおり許可リストでフィルタリングされます
Claude Code は解析できない行を削除し、残りを保持します。壊れた設定ファイルを修正 を参照してください。
`modelPricing`
組織が支払うレートでリスト価格ではなく支出を報告します。組織が契約レートを持っている場合に設定し、開発者が見るドル数字があなたの請求書と一致するようにします。Claude Code は /usage、ステータスライン 、Agent SDK の total_cost_usd、--max-budget-usd 制限、および OpenTelemetry コストメトリックとイベントでレートを適用します。レートを提供します。Claude Code はあなたの契約またはClaude Console から読み取りません。Claude Code v2.1.242 以降が必要です。
スコープ : 管理 。サーバー管理設定、MDM ポリシー、managed-settings.json ファイル、またはポリシーヘルパー を通じてキーをデプロイします。Claude Code はユーザー、プロジェクト、ローカル設定、--settings、および Windows のユーザー書き込み可能な HKCU レジストリ では無視します。サーバー管理設定では、各セッションは、そのセッションの設定フェッチ が設定を確認するまで、リスト価格でコストを報告します。Claude Code を埋め込み、CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST を設定するホストアプリケーションは、SDK managedSettings オプションを通じて独自のテーブルを提供でき、Claude Code は管理ソースがキーを設定しない場合にのみ、Claude Code v2.1.246 以降でのみ使用します。
タイプ : オプションの multiplier とオプションの overrides マップを持つオブジェクト
デフォルト : 設定解除。Claude Code はリスト価格を報告します。ホストアプリケーションがテーブルを提供しない限り
この例は Sonnet 4.6 の契約レートを設定し、すべての数字を 15% 削減します。multiplier のみ、overrides のみ、または両方を設定します:
{
"modelPricing" : {
"multiplier" : 0.85,
"overrides" : {
"claude-sonnet-4-6" : {
"input" : 2.4,
"output" : 12,
"cacheRead" : 0.24,
"cacheWrite" : 3
}
}
}
}
ステップについては、レートが有効であることを確認する方法を含めて、契約レートで支出を報告 を参照してください。
`modelPricing` のフィールド
フィールド
タイプ
機能
multiplier
0 より大きく、最大 1 の数値
Claude Code が計算するすべてのコストをスケーリングします。overrides 行がカバーするかどうかに関わらず
overrides
モデル ID を input、output、cacheRead、cacheWrite を持つレートオブジェクトにマップします。各 0 から 10000
そのモデルの USD-per-million-token レート。すべて 4 つ必須。cacheWrite は 5 分と 1 時間のキャッシュ書き込みの両方をカバーします。modelPricing 行が適用されるモデル を参照してください
Claude Code は行のレートを、高速モード サージャージまたは US のみ推論レート を追加せずに、書かれたとおりに使用します。multiplier も設定する場合、Claude Code はそれを行のレートの上に適用します。Claude Code は解析できないレートを持つ行、または解析できない multiplier を削除し、残りを保持します。壊れた設定ファイルを修正 を参照してください。
`modelPricing` 行が適用されるモデル
Claude Code は行のキーから行が適用されるモデルを決定します:
ビルトインモデルの ID : Claude Code 自体がビルトインモデルに使用するキー。そのキーがモデル自体の ID(claude-sonnet-4-6 など)であるか、その Bedrock、Agent Platform、または Foundry ID であるかに関わらず。Claude Code はそのモデルのすべての日付スナップショット ID とプロバイダー固有の ID に行を適用します。
その他のキー : ビルトインモデルの ID ではないキー。ゲートウェイモデルエイリアスなど。Claude Code はそのキーのみに行を適用します。モデル ID がキーの 1 つと正確に一致し、ビルトインモデルの ID でキーされた行の下にも該当する場合、Claude Code は正確な一致を使用します。
Bedrock アプリケーション推論プロファイル : Claude Code が modelOverrides マップまたは bedrock:GetInferenceProfile ルックアップ を通じてプロファイルをルーティング先のモデルに解決した後、Claude Code はそのモデルの行をプロファイルに適用します。
`modelSettings`
使用する各モデルの努力レベル を保存します。マシン上のインタラクティブセッションで、/effort または /model ピッカーの努力スライダーで low、medium、high、または xhigh をデフォルトとして保存すると、Claude Code はそのレベルを使用しているモデルの下にここに書き込むため、このキーを自分で編集することはめったにありません。effortLevel エントリは、/effort がそのセッションのみに適用されるセッションをリストします。Claude Code v2.1.251 以降が必要です。
キーを手動で編集して、保存したレベルを変更または削除します。
ここのモデルの effortLevel は、同じ設定ファイルの最上位の effortLevel より優先されます。ファイル全体で、Claude Code は各モデルを個別に解決します。そのモデルの effortLevel または最上位の effortLevel を設定する最も優先度の高い設定ファイル が決定するため、管理設定の effortLevel はユーザー設定で保存したレベルをランク付けします。努力レベルを調整 は、--effort 起動時など、保存されたレベルをオーバーライドできる他のものをリストします。
1 つのモデルの努力をキャップするのではなく、そのモデルのエントリに maxEffortLevel フィールドを追加します。フィールドには Claude Code v2.1.267 以降が必要です。
スコープ : 任意のファイル
タイプ : モデル名をオブジェクトにマップするオブジェクト。effortLevel フィールド("low"、"medium"、"high"、または "xhigh" のいずれか)、maxEffortLevel フィールド、またはその両方を持つ
デフォルト : 設定解除
Claude Code は各エントリを claude-opus-5 などのモデルの正規名の下に書き込み、そのモデルのエイリアス、日付サフィックス、[1m]、および認識されたプロバイダー固有の ID を同じエントリと一致させます。
この例は Opus 5 を medium に保ちながら、他のモデルは独自の保存またはデフォルトレベルを使用します:
{
"modelSettings" : {
"claude-opus-5" : {
"effortLevel" : "medium"
}
}
}
/effort auto を実行して、使用しているモデルの保存されたレベルをクリアします。Claude Code は他のエントリと最上位の effortLevel をそのままにします。
`outputStyle`
出力スタイル を名前で選択します。出力スタイルは、Claude の役割、トーン、出力形式を変更する保存された指示セットです。ビルトイン Explanatory および Learning スタイルや、自分で書いたものなど。
セッション中にこのキーを変更すると、Claude は次のメッセージから新しいスタイルを使用します。そのメッセージがプロンプトキャッシュでコストするものについては、出力スタイルを変更 を参照してください。v2.1.251 より前では、編集は /clear を実行した後またはセッションを開始した後にのみ適用されました。
スコープ : 任意のファイル
タイプ : 文字列。ビルトイン またはカスタム 出力スタイルの名前
デフォルト : 設定解除。Claude Code はデフォルトスタイルを使用します
この例は、ビルトイン Explanatory スタイルを選択します。これはタスク間に教育的な洞察を追加します:
{
"outputStyle" : "Explanatory"
}
`promptCacheTtl`
プロンプトキャッシュ がメイン会話を保持する期間を選択します。このキーは、インタラクティブ、-p、および Agent SDK ターンに適用されます。インラインで実行する Claude Code ヘルパーと一緒に。1 時間のライフタイムは、より長い休憩全体でキャッシュをウォームに保ち、API は各キャッシュ書き込みを 5 分のライフタイムより高いレートで請求します 。Claude Code v2.1.242 以降が必要です。
この例は、メイン会話を 1 時間のライフタイムに保ち、サブエージェントを 5 分のままにします:
{
"promptCacheTtl" : "1h" ,
"subagentPromptCacheTtl" : "5m"
}
各ライフタイムのコストについては、キャッシュライフタイム を参照してください。
`showThinkingSummaries`
インタラクティブセッションで Claude の拡張思考 の概要を参照してください。Ctrl+O で思考を展開するときに完全な概要が必要な場合に設定します。設定解除または false の場合、Anthropic API は思考ブロックを編集し、Claude Code は折りたたまれたスタブを表示します。サードパーティプロバイダーは編集しません。
スコープ : 任意のファイル
タイプ : ブール値
true: Ctrl+O で思考を展開するときに完全な思考概要が表示されます
false: Anthropic API は思考ブロックを編集し、Claude Code は折りたたまれたスタブを表示します
デフォルト : false
{
"showThinkingSummaries" : true
}
編集は、モデルが生成するものではなく、表示内容のみを変更します。思考支出を削減するには、代わりに予算を下げるか思考を無効にします 。
`subagentPromptCacheTtl`
プロンプトキャッシュ がメイン会話外で Claude Code が行うリクエストを保持する期間を選択します。このキーは、サブエージェント 、ワークフロー 、および Claude Code 独自のバックグラウンドおよびヘルパーリクエスト(圧縮やセッションタイトルなど)に適用されます。1 時間のライフタイムは、より長い休憩全体でキャッシュをウォームに保ち、API は各キャッシュ書き込みを 5 分のライフタイムより高いレートで請求します 。Claude Code v2.1.242 以降が必要です。
この例は、サブエージェントおよびメイン会話外の他のリクエストに 1 時間のライフタイムを提供します:
{
"subagentPromptCacheTtl" : "1h"
}
このキーは promptCacheTtl がカバーしないリクエストをカバーするため、両方を設定して Claude Code が行うすべてのリクエストのライフタイムを選択します。サブエージェントのキャッシュがメイン会話のキャッシュとどのように異なるかについては、サブエージェントとキャッシュ を参照してください。
`switchModelsOnFlag`
安全分類器がリクエストにフラグを立てた 場合に何が起こるかを選択します。フォールバックモデルに切り替えて続行するか、プロンプトを編集するか切り替えるかを選択できるように一時停止します。
スコープ : 任意のファイル 。/config にメッセージがフラグされたときにモデルを切り替える として表示されます。
タイプ : ブール値
true: Claude Code はフォールバックモデルに切り替えて続行します
false: インタラクティブセッションでは Claude Code は一時停止し、切り替えるかプロンプトを編集するかを選択できます。-p 実行など、ダイアログが表示できない場所では、フラグされたリクエストはエラーで終了します
デフォルト : true。自動的に切り替えます
{
"switchModelsOnFlag" : false
}
切り替える前に確認 を参照してください。
`ultracode`
利用可能な場所でultracode を使用してセッションを開始します。オンの場合、Claude は、あなたが尋ねるのを待つのではなく、各実質的なタスクのワークフローを計画します。Claude は、動的ワークフロー が有効になっており、モデルが xhigh 努力をサポートし、xhigh より低い努力キャップ が適用されない場合にのみワークフローを計画します。いずれにせよ、ultracode: true はセッションを xhigh 努力で実行するか、努力キャップが低い場合はキャップで実行します。Claude Code はこのキーを読みますが、決して書き込みません。/effort ultracode は現在のセッションのみで ultracode をオンにします。
スコープ : 任意のファイル
タイプ : ブール値
true: セッションは xhigh 努力で開始され、動的ワークフローが有効になっており、モデルが xhigh をサポートし、努力キャップが xhigh より低くない場合、ultracode はオンになります
false: セッションは ultracode をオフで開始します
デフォルト : 設定解除。ultracode はオフです
セッションごとのオーバーライド : /effort ultracode は、このキーなしで 1 つのセッションで ultracode をオンにします。--effort ultracode も同様に、Claude Code v2.1.203 以降が必要です
{
"ultracode" : true
}
Ultracode はセッションを xhigh 努力で実行し、effortLevel および modelSettings エントリより優先されます。xhigh より低い努力キャップ (maxEffortLevel 設定など)がモデルに適用される場合、セッションは代わりにキャップで実行され、ultracode はオフのままです。Claude はワークフローを独自に計画しないため、/effort は ultracode を提供しません。Agent SDK apply_flag_settings コントロールリクエストもキーを受け入れます。
権限設定
Claude が何を確認なしで実行できるか、セッションがどの権限モードで開始するか、自動モードの分類器が何を許可するかを決定します。ルール構文と権限モデルについては、権限を設定する を参照してください。
`allowManagedPermissionRulesOnly`
管理設定を権限ルールの唯一の設定ソースにします。Claude Code はユーザー、プロジェクト、ローカル、および --settings ファイル内の allow、ask、deny ルールを無視し、--allowedTools を無視し、権限プロンプトで常に許可する選択肢を非表示にし、新しいルールの保存を停止します。
埋め込みホストからの親設定 が適用される場合、Claude Code はそれらを管理層の一部として扱います。それらの deny および ask ルールを保持し、それらの allow ルールと additionalDirectories を削除します。
--disallowedTools ルールと現在のセッションの deny および ask ルールは、Claude Code が設定をセッション中に再度読み込んだ後を含めて、引き続き適用されます。これらは制限のみを行うため、管理ルールが付与するものを拡大することはできません。v2.1.257 より前では、Claude Code は最初の設定再度読み込み時にそれらのコマンドラインおよびセッションルールを削除していました。
スコープ : Managed
タイプ : ブール値
true: 管理設定が権限ルールの唯一の設定ソースになります
false: Claude Code は管理ルールに加えて、ユーザー、プロジェクト、ローカル、および --settings ファイルから権限ルールを適用します
デフォルト : 未設定。Claude Code はユーザー、プロジェクト、ローカル設定、および --settings から権限ルールを管理ルールに加えて適用します
{
"allowManagedPermissionRulesOnly" : true
}
このキーは MCP サーバーの許可リストをロックダウンしません。そのためには、allowManagedMcpServersOnly を設定してください。管理のみの設定 を参照してください。
`autoMode`
自動モード 分類器がブロックおよび許可するものに独自のルールを追加します。これを使用して、分類器に組織が信頼するリポジトリ、バケット、ドメインを伝え、日常的な内部操作のブロックを停止させます。分類器には組み込みの許可および拒否ルール が付属しています。リテラル文字列 "$defaults" を配列に含めて、それらの組み込みルールをその位置に保持し、その周りに独自のルールを追加します。省略すると、それらを独自のルールに置き換えます。
この例は、"$defaults" を通じて組み込みの soft_deny ルールを保持し、terraform apply をブロックするルールを 1 つ追加します。
{
"autoMode" : {
"soft_deny" : [ "$defaults" , "Never run terraform apply" ]
}
}
これらのファイルの複数が同じ配列を設定する場合、Claude Code はエントリを連結します。ルール形式と各配列の適用方法については、自動モードを設定する を参照してください。
`autoMode.classifyAllShell`
自動モードがアクティブな間、すべての Bash および PowerShell コマンドを自動モード分類器に通します。デフォルトでは、自動モードは任意のコードを実行できる許可ルールのみを一時停止します。Bash(*)、ワイルドカードルール、および Bash(python *) などのインタープリタまたはシェルラッパープレフィックス。Bash(npm test) などの他の許可ルールと一致するコマンドは分類器をスキップし、ルールのプレフィックスが予期しなかった破壊的な引数が見えないまま通過する可能性があります。このキーを設定すると、セッションのすべてのシェル許可ルールが一時停止され、分類器がすべてのコマンドを確認します。Claude Code v2.1.193 以降が必要です。
スコープ : User or managed 。autoMode が読み取られる場所で読み取られます。
タイプ : ブール値
true: 自動モードがアクティブな間、Claude Code はすべての Bash および PowerShell コマンドを分類器に通し、シェル許可ルールを一時停止します。自動モード外では、ルールは引き続き適用されます
false: 自動モードは Bash(*) および Bash(python *) などの任意のコードを実行できる許可ルールのみを一時停止します。他の許可ルールと一致するコマンドは分類器をスキップし、他のすべてのシェルコマンドはそれを通します
デフォルト : false
{
"autoMode" : {
"classifyAllShell" : true
}
}
すべてのシェルコマンドを分類器にルーティングする を参照してください。Claude Code v2.1.193 以降が必要です。
`disableAutoMode`
自動モード を Shift+Tab サイクルから削除します。--permission-mode auto、設定ファイル、または組み込みデフォルトから自動モードで開始する可能性があるセッションは、代わりに default で開始します。管理者は管理設定で設定して、組織内の開発者が自動モードを使用するのを防ぎます。
スコープ : Any file 。管理設定 で最も有用です。ユーザーはそれをオーバーライドできません。permissions の下で permissions.disableAutoMode として受け入れられます。
タイプ : 文字列 "disable"
デフォルト : 未設定
{
"disableAutoMode" : "disable"
}
`permissions`
Claude が確認なしで使用できるツール、常にプロンプトを表示するツール、ブロックされるツールを制御し、セッションが開始する権限モード を設定します。以下のすべての permissions.* キーはこのオブジェクトの下にネストされます。
スコープ : Any file
タイプ : allow、ask、deny、additionalDirectories、blockReadsOutsideWorkingDirectories、defaultMode、disableBypassPermissionsMode、disableAutoMode を含むオブジェクト
デフォルト : 未設定
この例は npm run コマンドを確認なしで承認し、git push の前にプロンプトを表示し、.env の読み取りをブロックし、セッションを acceptEdits で開始します。
{
"permissions" : {
"allow" : [ "Bash(npm run *)" ] ,
"ask" : [ "Bash(git push *)" ] ,
"deny" : [ "Read(./.env)" ] ,
"defaultMode" : "acceptEdits"
}
}
3 つのルール配列は 1 つの構文を共有します。permissions.allow の下の権限ルール構文 を参照してください。異なるファイルからの権限ルールがどのように結合されるかについては、スコープ全体での権限ルールのマージ方法 を参照してください。一般的に設定キーがどのように結合されるかについては、設定ガイドの設定の優先順位 を参照してください。
`useAutoModeDuringPlan`
Claude Code がプランモード中にシェルコマンドを確認するために自動モード分類器を使用するかどうかを選択します。デフォルトの true では、自動モードが利用可能で、プロンプトが表示されない場合、分類器は計画中に各コマンドを確認します。false に設定して、組み込みの読み取り専用セット外のすべてのコマンドに対して権限プロンプトを取得します。/config にプラン中に自動モードを使用 として表示されます。
スコープ : User, local, or managed 。リポジトリはそれをオフにすることはできません。
タイプ : ブール値
true: 未設定と同じです。自動モードが利用可能な場合、分類器はプランニング中に各シェルコマンドを確認し、プロンプトを表示しません。これらのファイルのいずれかで false でもそれをオフにします
false: 組み込みの読み取り専用セット外のすべてのコマンドに対して権限プロンプトを取得します
デフォルト : true
{
"useAutoModeDuringPlan" : false
}
`permissions.allow`
Claude Code が確認なしで承認するツール使用をリストします。MCP ルールでは、* はツール名内の mcp__<server>__ プレフィックスの後にのみ表示できます(例:mcp__github__get_*)。サーバー名には表示できません。
スコープ : Any file
タイプ : 権限ルール文字列の配列
デフォルト : 未設定
セッションごとのオーバーライド : --allowedTools は 1 つのセッションに許可ルールを追加し、任意の設定ファイルからの拒否ルールは、それが名前を付けるツールをブロックします
この例は git diff を承認し、Claude Code が確認なしに .zshrc を読み取ることを許可します。
{
"permissions" : {
"allow" : [ "Bash(git diff *)" , "Read(~/.zshrc)" ]
}
}
Claude Code はプロジェクトの .claude/settings.json から allow ルールを適用するのは、そのフォルダのワークスペース信頼ダイアログ を受け入れた後のみです。
権限ルール構文
権限ルールは Tool または Tool(specifier) の形式に従います。Claude Code は deny ルールを最初に評価し、次に ask、次に allow を評価し、最初のマッチが各ルールの具体性に関係なく決定します。権限ルール評価順序 を参照してください。
各行は 1 つのルール形状とそれが一致するものを示します。
ルール
一致するもの
Bash
すべての Bash コマンド
Bash(npm run *)
npm run で始まるコマンド
Read(./.env)
.env ファイルの読み取り
WebFetch(domain:example.com)
example.com へのフェッチリクエスト
ワイルドカード動作、Read、Edit、WebFetch、MCP、Agent ルールのツール固有パターン、および Bash パターンのセキュリティ制限を含む完全なルール構文については、権限ルール構文 を参照してください。
`permissions.ask`
acceptEdits または bypassPermissions などの権限モードで確認を求めるツール使用をリストします。dontAsk モードでは、Claude Code は一致するツール使用をプロンプトする代わりに拒否します。
スコープ : Any file
タイプ : 権限ルール文字列の配列
デフォルト : 未設定
{
"permissions" : {
"ask" : [ "Bash(git push *)" ]
}
}
`permissions.deny`
Claude Code がブロックするツール使用をリストします。API キー、シークレット、または環境値を保持するファイルに使用します。Claude Code は一致するファイルをファイル検出と検索結果から除外し、それらの読み取りを拒否し、一致するパスのEdit および Write ツール をブロックします。Read および Edit 拒否ルールは Claude の組み込みファイルツール、Claude Code が Bash で認識するファイルコマンド(cat、head、tail、sed など)、および > file および < file などの Bash リダイレクション のターゲットに適用されます。ファイルを名前で読み取らないコマンド(grep -r pattern . など)または任意のサブプロセスには適用されません。OS レベルの強制については、サンドボックスを有効にする を参照してください。
スコープ : Any file
タイプ : 権限ルール文字列の配列
デフォルト : 未設定
セッションごとのオーバーライド : --disallowedTools はこのキーと並行して 1 つのセッションに拒否ルールを追加します
この例は .env ファイル、secrets ディレクトリ、認証情報ファイルの読み取りを拒否し、curl コマンドをブロックします。
{
"permissions" : {
"deny" : [
"Read(./.env)" ,
"Read(./.env.*)" ,
"Read(./secrets/**)" ,
"Read(./config/credentials.json)" ,
"Bash(curl *)"
]
}
}
ツール名はグロブパターンを受け入れるため、"*" はすべてのツールを拒否し、"mcp__*" はすべての MCP ツールを拒否します。Claude Code は、他のツールがまだ Claude で利用可能である限り、EndConversation ツールの拒否ルールを無視します。Bash 拒否ルールは Claude が書いたコマンドと一致するため、Bash(curl *) は /usr/bin/curl または sh -c 'curl …' を停止しません。Bash ルールが一致しないもの を参照してください。このキーは非推奨の ignorePatterns 設定に置き換わります。
`permissions.additionalDirectories`
Claude に開始したディレクトリ外のディレクトリへのファイルアクセスを付与し、追加の作業ディレクトリ として使用します。ほとんどの .claude/ 設定は、これらのディレクトリから検出されません 。
スコープ : Any file
タイプ : ディレクトリパスの配列
デフォルト : 未設定
セッションごとのオーバーライド : --add-dir および /add-dir はこのキーと並行して 1 つのセッションにディレクトリを追加します
{
"permissions" : {
"additionalDirectories" : [ "../docs/" ]
}
}
allow ルールと同様に、プロジェクトの .claude/settings.json のエントリは、そのフォルダのワークスペース信頼ダイアログ を受け入れた後にのみ有効になります。
`permissions.blockReadsOutsideWorkingDirectories`
Claude が Read、Grep、Glob、LSP ツールを使用してセッションの作業ディレクトリ 外のパスを読み取るのを停止します。bypassPermissions を含むすべての権限モード。Claude Code が認識するファイルコマンド(cat など)を通じて一致するパスを読み取る Bash コマンドは、自動モードおよび bypassPermissions モードでもプロンプトを表示します。Claude Code v2.1.257 以降が必要です。
Claude Code は、作業ディレクトリ外の最初の読み取り前の自動モードのプロンプト でそのような読み取りをブロックすることを選択した場合、ここに true を書き込みます。
スコープ : Any file 。任意の設定ソースが true を設定する場合、ブロックが適用されるため、リポジトリのチェックイン済みファイルはプロジェクトのブロックをオンにできますが、設定したブロックを解除することはできません。
タイプ : ブール値
true: 作業ディレクトリ外のファイル読み取りがブロックされます
false: 未設定と同じです。他の設定ファイルの true でもブロックします
デフォルト : 未設定。作業ディレクトリ外の読み取りは権限モードとルールに従います
{
"permissions" : {
"blockReadsOutsideWorkingDirectories" : true
}
}
リポジトリのチェックイン済み設定ファイルのみがディレクトリを追加する場合、ブロックはそこでの読み取りに引き続き適用されます。Claude Code 自体が必要とするファイル(~/.claude/ の下のスキル、プラグイン、ルール、エージェント、コマンド、CLAUDE.md メモリファイルなど)は読み取り可能なままです。
サンドボックス がオンの場合、ブロックはサンドボックス化されたコマンドに対して、作業ディレクトリ外のホームディレクトリとマウントされたボリュームルートへの読み取りアクセスも拒否します。サンドボックス外で実行 するために承認が必要な再試行は、bypassPermissions モードでもプロンプトを表示します。ツールがホームディレクトリから読み取るファイル(~/.gitconfig など)は残りと一緒に拒否されます。ツールが必要な場合は、sandbox.filesystem.allowRead で特定のパスを再度開きます。
セッションの作業ディレクトリが Claude Code がセッション中に入力したリンク済み git worktree である場合、リポジトリの共通 .git ディレクトリはサンドボックス化されたコマンドに対して読み取り可能および書き込み可能なままなので、git はそこで機能し続けます。
`permissions.defaultMode`
新しいセッションが開始する権限モード を設定します。未設定のままにすると、セッションはプランとサーフェスの組み込みデフォルト で開始します。
スコープ : Any file 。auto および bypassPermissions はプロジェクトまたはローカル設定から有効にならないため、代わりに ~/.claude/settings.json で設定してください。v2.1.257 より前では、bypassPermissions は任意のファイルから有効になりました。VS Code 拡張機能が開始する会話の場合、Claude Code はユーザー、管理、および --settings 値のみを読み取ります。
タイプ : 文字列。次のいずれか:
"default": Claude Code は確認なしで読み取りのみを実行します
"acceptEdits": Claude Code は確認なしでファイル編集と mkdir および mv などの一般的なファイルシステムコマンドも実行します
"plan": Claude Code は読み取りと計画を行いますが、承認されるまで編集をブロックします
"auto": Claude Code はすべてを実行し、バックグラウンド安全チェックを行います
"dontAsk": Claude Code はプロンプトを表示するすべての呼び出しを自動的に拒否します。読み取り、承認が不要な他のアクション、事前承認されたツールは引き続き実行されます
"bypassPermissions": Claude Code はすべてを確認なしで実行します
"manual": Claude Code v2.1.200 以降の "default" のエイリアス
デフォルト : 未設定
セッションごとのオーバーライド : --permission-mode およびその同等の --dangerously-skip-permissions(bypassPermissions の場合)は 1 つのセッションのこのキーより優先されます
{
"permissions" : {
"defaultMode" : "acceptEdits"
}
}
権限ルールはすべてのモードの上に層状化されます。deny ルールは bypassPermissions を含むすべてのモードでブロックします。権限モード を参照してください。manual は CLI および VS Code 拡張機能で Manual というラベルが付いた権限モードに名前を付けます。エイリアスには Claude Code v2.1.200 以降が必要です。Claude Code on the web では、Claude Code はこのキーから acceptEdits、plan、default、auto のみを尊重します。VS Code 拡張機能が開始する会話の場合、開始権限モードの拡張機能が読み取る設定 を参照してください。
`permissions.disableBypassPermissionsMode`
誰もが bypassPermissions モードに入るのを防ぎます。Claude Code は --dangerously-skip-permissions フラグを拒否し、エージェント定義 の permissionMode: bypassPermissions を無視するため、サブエージェントは親セッションの権限モードで実行されます。
スコープ : Any file 。通常、管理設定 で設定して、組織のポリシーを強制します。
タイプ : 文字列 "disable"
デフォルト : 未設定
セッションごとのオーバーライド : このキーは --dangerously-skip-permissions より優先されます。キーが設定されている間、Claude Code はそれを拒否します
{
"permissions" : {
"disableBypassPermissionsMode" : "disable"
}
}
v2.1.223 より前では、Claude Code はバイパスが無効になっていても frontmatter 権限モードを適用していました。
`skipAutoPermissionPrompt`
Claude Code が最初に自動モード自体に入るときに表示する自動モード を説明する 1 回限りの通知をスキップします。例えば、独自の設定またはモードセレクターを通じて、組み込みデフォルトがセッションをそれで開始するのではなく。Claude Code はその通知を 1 回表示してから、それが表示されたことを記録するため、このキーは通知がまだ表示されていない場所でのみ重要です。
スコープ : User or managed 。リポジトリはそれを設定することはできません。
タイプ : ブール値
true: Claude Code は通知をスキップします
false: 未設定と同じです。これらのファイルのいずれかが true を設定しない限り、通知が表示されます
デフォルト : 未設定。通知が 1 回表示されます
{
"skipAutoPermissionPrompt" : true
}
`skipDangerousModePermissionPrompt`
Claude Code が bypassPermissions モードに入る前に表示する確認ダイアログをスキップします。--dangerously-skip-permissions または defaultMode: "bypassPermissions" からかどうか。Claude Code は、そのダイアログを 1 回受け入れたときに、ユーザー設定にここに true を書き込みます。
スコープ : User, local, or managed 。信頼されていないリポジトリはダイアログをスキップすることはできません。
タイプ : ブール値
true: Claude Code は bypassPermissions モードに入る前に確認ダイアログをスキップします
false: 未設定と同じです。これらのファイルのいずれかが true を設定しない限り、ダイアログが表示されます
デフォルト : 未設定。ダイアログが表示されます
{
"skipDangerousModePermissionPrompt" : true
}
サンドボックス設定
Claude が実行するコマンドをファイルシステム、ネットワーク、認証情報から分離します。サンドボックスの仕組みとプラットフォーム要件については、サンドボックス を参照してください。
`sandbox`
サンドボックス を使用して、Claude が実行する Bash コマンドをファイルシステムとネットワークから分離します。enabled でサンドボックスをオンにしてから、filesystem、network、credentials サブオブジェクトを使用して、サンドボックス化されたコマンドが何にアクセスできるかを制限または拡大します。サンドボックスは macOS、Linux、WSL2 で実行されます。
Scope : Any file
Type : enabled、failIfUnavailable、autoAllowBashIfSandboxed、excludedCommands、allowUnsandboxedCommands、enableWeakerNestedSandbox、enableWeakerNetworkIsolation、allowAppleEvents、bwrapPath、socatPath、ignoreViolations、ripgrep を含むオブジェクト、および filesystem、network、credentials オブジェクト
Default : 未設定。Claude Code はサンドボックスなしでコマンドを実行します
これはサンドボックスをオンにし、サンドボックス化されたコマンドの権限プロンプトをスキップし、docker をサンドボックスの外で実行し、2 つの追加書き込みパスを開き、AWS 認証情報ファイルを非表示にし、GitHub と npm を事前に許可します:
{
"sandbox" : {
"enabled" : true,
"autoAllowBashIfSandboxed" : true,
"excludedCommands" : [ "docker *" ] ,
"filesystem" : {
"allowWrite" : [ "/tmp/build" , "~/.kube" ] ,
"denyRead" : [ "~/.aws/credentials" ]
} ,
"network" : {
"allowedDomains" : [ "github.com" , "*.npmjs.org" ]
}
}
}
Claude Code はブール値キーの値を最も優先度の高い設定スコープから取得するため、管理対象の enabled または failIfUnavailable は開発者が設定したものをオーバーライドします。配列キーはセッションが読み込むすべての設定スコープ全体でマージされるため、開発者はエントリを追加できます。管理対象のみのロックについては、開発者がポリシーを拡大するのを防ぐ を参照してください。組織に対してサンドボックスを必須にするには、管理設定でサンドボックスを強制する を参照してください。
`sandbox.enabled`
Bash コマンドのサンドボックス をオンにします。/sandbox パネルでモードを選択すると、Claude Code はこのキーを現在のプロジェクトの .claude/settings.local.json に書き込みます。~/.claude/settings.json に設定して、すべてのプロジェクトをサンドボックス化します。
Scope : Any file
Type : ブール値
true: Claude Code は Bash コマンドをサンドボックス化します
false: Bash コマンドはサンドボックスなしで実行されます
Default : false
{
"sandbox" : {
"enabled" : true
}
}
Linux と WSL2 では、サンドボックスは bubblewrap と socat が必要です。Linux と WSL2 をセットアップする を参照してください。サンドボックスが起動できない場合、Claude Code は警告を表示し、failIfUnavailable も設定しない限り、コマンドはサンドボックスなしで実行されます。
`sandbox.failIfUnavailable`
sandbox.enabled が true だがサンドボックスが起動できない場合(依存関係が不足しているか、プラットフォームがサポートされていない場合)、Claude Code が起動時にエラーで終了するようにします。これがない場合、Claude Code は警告を表示し、コマンドはサンドボックスなしで実行されます。組織がサンドボックスを厳密に必須とする場合は、管理設定で使用してください。
Scope : Any file
Type : ブール値
true: sandbox.enabled が true だがサンドボックスが起動できない場合、Claude Code は起動時にエラーで終了します
false: Claude Code は警告を表示し、コマンドはサンドボックスなしで実行されます
Default : false
これにより、すべての管理対象マシンがコマンドをサンドボックス化するか、起動を拒否します:
{
"sandbox" : {
"enabled" : true,
"failIfUnavailable" : true
}
}
管理設定でサンドボックスを強制する を参照してください。
`sandbox.autoAllowBashIfSandboxed`
Claude Code がサンドボックス化された Bash コマンドを権限プロンプトなしで実行できるようにします。サンドボックスで実行できないコマンドは通常の権限フローを通過し、deny ルールと Bash(git push *) などのコンテンツスコープ付き ask ルールは引き続き適用されます。ベアの Bash ask ルールはサンドボックス化されたコマンドではスキップされます。これを false に設定して、サンドボックス化されたコマンドも通常の権限フローを通すようにします。これは /sandbox Mode タブが通常権限モードと呼ぶものです。
Scope : Any file
Type : ブール値
true: Claude Code はサンドボックス化された Bash コマンドを権限プロンプトなしで実行します。deny ルールとコンテンツスコープ付き ask ルールの対象です。CLAUDE_CODE_SUBPROCESS_ENV_SCRUB は自動許可をオフにします
false: サンドボックス化されたコマンドは通常の権限フローを通るため、許可ルールと権限モードが決定します。/sandbox Mode タブはこれを通常権限モードと呼びます
Default : true
これはサンドボックスをオンに保ち、サンドボックス化されたコマンドを通常の権限フローを通します:
{
"sandbox" : {
"enabled" : true,
"autoAllowBashIfSandboxed" : false
}
}
サンドボックスモード を参照して、自動許可モードが何をプロンプトするか、およびプランモードでどのように動作するかを確認してください。
`sandbox.excludedCommands`
Claude Code が常にサンドボックスの外で実行するコマンド(それの下で動作しないツールなど)に名前を付けます。各エントリは、Bash(...) 権限ルール の内容と同じ構文を使用します:正確なコマンド、docker * などのプレフィックス、またはワイルドカードパターン。複合コマンドの任意の部分がエントリと一致する場合、Claude Code はコマンド全体をサンドボックスなしで実行します。
Scope : Any file
Type : コマンドパターンの配列
Default : 未設定。コマンドは除外されません
{
"sandbox" : {
"excludedCommands" : [ "docker *" ]
}
}
除外されたコマンドは通常の権限フローを通過します。除外はセキュリティ境界ではなく、便宜です。ツールが特定の場所にのみ書き込む必要がある場合は、filesystem.allowWrite を優先してください。Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージし、このリストに対する管理対象のみのロックはないため、管理対象リストは狭く保ってください。
`sandbox.allowUnsandboxedCommands`
Claude がサンドボックスによってブロックされた後、dangerouslyDisableSandbox パラメータを使用してコマンドをサンドボックスの外で再試行できるようにします。これを false に設定して、Claude Code がそのパラメータを完全に無視し、Claude が実行するすべてのコマンドがサンドボックス化されるか、excludedCommands に表示されるようにします。/sandbox Overrides タブはその状態を厳密なサンドボックスモード として表示します。厳密なサンドボックスを必須とするポリシーの場合は、管理設定で false を使用してください。
Scope : Any file
Type : ブール値
true: Claude がサンドボックスによってブロックされた後、dangerouslyDisableSandbox パラメータを使用してコマンドをサンドボックスの外で再試行できます
false: Claude Code はそのパラメータを無視するため、Claude が実行するすべてのコマンドはサンドボックス化されるか excludedCommands に表示されます
Default : true
これにより、管理設定がカバーするすべてのユーザーに対して厳密なサンドボックスモードが強制されます:
{
"sandbox" : {
"enabled" : true,
"allowUnsandboxedCommands" : false
}
}
サンドボックスなしの再試行は通常の権限フローを通り、マニュアルモードではプロンプトが表示されます。サンドボックスなしの再試行エスケープハッチ を参照してください。
! シェルモードプロンプト で自分で入力したコマンドがサンドボックス化されて実行される場合を確認するには、厳密なサンドボックスモード を参照してください。
`sandbox.filesystem`
サンドボックス化されたコマンドが読み取りおよび書き込みできるパスを制御します。デフォルトでは、作業ディレクトリ、セッション一時ディレクトリ、--add-dir、/add-dir、または permissions.additionalDirectories で追加したディレクトリに書き込むことができ、認証情報ファイルを含むファイルシステムの残りの部分を読み取ることができます。4 つのパスリストでこれを拡大または縮小するか、disabled でファイルシステムレイヤーをオフにします。デフォルトの境界については、ファイルシステム分離 を参照してください。
Scope : Any file
Type : allowWrite、denyWrite、denyRead、allowRead 配列を含むオブジェクト、および allowManagedReadPathsOnly と disabled ブール値
Default : 未設定。デフォルトの読み取りおよび書き込み境界が適用されます
これにより、サンドボックス化されたコマンドはビルドディレクトリと kubeconfig に書き込むことができ、AWS 認証情報ファイルを非表示にします:
{
"sandbox" : {
"filesystem" : {
"allowWrite" : [ "/tmp/build" , "~/.kube" ] ,
"denyRead" : [ "~/.aws/credentials" ]
}
}
}
Claude Code はこれらのリストを OS サンドボックス境界で強制するため、kubectl、terraform、npm などのサンドボックス化されたコマンドが開始するすべてのサブプロセスに適用されます。Claude の ファイルツールだけではありません。Claude Code は権限ルール をこれらのリストに追加します:Edit 許可および拒否ルールを allowWrite および denyWrite に、Read 拒否ルールを denyRead に、WebFetch(domain:...) 許可および拒否ルールをnetwork ドメインリストに追加します。
管理対象のみのロックが設定されていない限り、Claude Code はセッションが読み込む設定ファイル全体ですべてのリストをマージします。allowManagedReadPathsOnly は allowRead を管理設定からのエントリに制限し、allowManagedDomainsOnly は許可されたドメインに対して同じことを行います。
サンドボックスを設定する は --setting-sources で除外するソースをカバーしています。セッション中にリストを編集すると、Claude Code は実行中のセッションに変更を適用します 。
サンドボックスパスプレフィックス
allowWrite、denyWrite、denyRead、allowRead、および credentials.files のパスは、プレフィックスで解決されます:
プレフィックス
意味
例
/
ファイルシステムルートからの絶対パス
/tmp/build は /tmp/build のままです
~/
ホームディレクトリに相対
~/.kube は $HOME/.kube になります
./ またはプレフィックスなし
プロジェクト設定ではプロジェクトルートに相対、ユーザー設定では ~/.claude に相対
.claude/settings.json の ./output は <project-root>/output に解決されます
絶対パスの //path プレフィックスも機能します。プロジェクト相対解決を期待して単一スラッシュ /path を使用する場合は、./path に切り替えてください。この構文は、//path を絶対パスに、/path をプロジェクト相対に使用する読み取りおよび編集権限ルール とは異なります。サンドボックスファイルシステムパスは標準規約を使用するため、/tmp/build は絶対パスです。
Claude Code はディレクトリパスから末尾のスラッシュを削除するため、~/.aws と ~/.aws/ は同じディレクトリと一致します。v2.1.224 より前では、Claude Code は末尾のスラッシュをサンドボックスに渡し、Claude は末尾のスラッシュで書かれた denyRead または denyWrite エントリの下のパスを読み取りまたは書き込みできました。
Claude Code は末尾の /** も削除するため、~/build/** と ~/build は同じディレクトリをカバーします。* などのワイルドカードが機能するかどうかは、エントリがどのリストにあるか、およびプラットフォームに依存します:
allowWrite および denyWrite : macOS ではワイルドカードが機能します。Linux と WSL2 では、サンドボックスは具体的なパスをマウントするため、Claude Code は末尾の /** を削除した後に *、?、または [ を含むエントリをスキップし、そのエントリは効果がありません。Claude Code は Edit 権限ルールからパスをこれらのリストに追加するため、同じ制限が適用され、/sandbox の Config タブはワイルドカードを含む Edit および Read 権限ルールについて警告します。
denyRead および allowRead : ワイルドカードはすべてのプラットフォームで機能します。Linux と WSL2 では、Claude Code は読み取りエントリを、それが一致する具体的なパスに展開します。これは書き込みリストに対しては行いません。
`sandbox.filesystem.allowWrite`
作業ディレクトリ、セッション一時ディレクトリ、--add-dir、/add-dir、または permissions.additionalDirectories で追加したディレクトリを超えて、サンドボックス化されたコマンドが書き込みできるパスを追加します。kubectl やビルドツールなどのサブプロセスがプロジェクト外に書き込む必要がある場合に使用します。
これにより、ビルドが /tmp/build の下に書き込むことができ、kubectl が kubeconfig を更新できます:
{
"sandbox" : {
"filesystem" : {
"allowWrite" : [ "/tmp/build" , "~/.kube" ]
}
}
}
Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージします:ユーザー、プロジェクト、ローカル、管理対象パスは相互に置き換わるのではなく組み合わされ、Claude Code は Edit(...) 許可権限ルールからパスを追加します。allowWrite エントリは保護されたパス を解除することはできません。
`sandbox.filesystem.denyWrite`
サンドボックス化されたコマンドが特定のパスへの書き込みをブロックします。これには、別の方法で書き込み可能なディレクトリ内のパスが含まれます。
これにより、サンドボックス化されたコマンドがシステム設定を変更したり、バイナリをインストールしたりするのを防ぎます:
{
"sandbox" : {
"filesystem" : {
"denyWrite" : [ "/etc" , "/usr/local/bin" ]
}
}
}
Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージし、Edit(...) 拒否権限ルールからパスを追加します。
`sandbox.filesystem.denyRead`
サンドボックス化されたコマンドが特定のパス(デフォルトの読み取りポリシーが公開する認証情報ファイルなど)を読み取るのをブロックします。認証情報ファイルを保護し、サンドボックスプロキシを通じて使用可能に保つには、代わりに sandbox.credentials を参照してください。
{
"sandbox" : {
"filesystem" : {
"denyRead" : [ "~/.aws/credentials" ]
}
}
}
Claude Code はセッションが読み込むすべての設定スコープ全体でエントリをマージし、Read(...) 拒否権限ルールからパスを追加します。filesystem.disabled が true の場合、Claude Code はこれらのエントリを強制しません。
`sandbox.filesystem.allowRead`
denyRead がブロックする領域内の特定のパスの読み取りを再度開き、ワークスペースのみの読み取りアクセスを構築します。正確またはワイルドカード denyRead エントリは、より広い allowRead 内でブロックされたままです。重複テーブル が示すとおりです。ワイルドカード denyRead エントリ(~/**/.env など)がディレクトリと一致する場合、Claude Code はその内容の読み取りもブロックします。v2.1.236 より前の macOS では、Claude Code はワイルドカード denyRead エントリが一致したパスを、より広い allowRead エントリがカバーしている場所で再度開き、一致したディレクトリの内容を読み取り可能なままにしました。
これはホームディレクトリの読み取りをブロックしますが、プロジェクト自体は除きます:
{
"sandbox" : {
"filesystem" : {
"denyRead" : [ "~/" ] ,
"allowRead" : [ "." ]
}
}
}
Claude Code は . エントリをプロジェクト設定ではプロジェクトルートに、ユーザー設定では ~/.claude に解決します。Claude Code はセッションが読み込むすべての設定ファイル全体でエントリをマージします。allowManagedReadPathsOnly が設定されていない限り。
`sandbox.filesystem.allowManagedReadPathsOnly`
管理設定から来る allowRead エントリのみを尊重するため、開発者は組織がブロックしたパスへの読み取りアクセスを再度開くことはできません。Claude Code は引き続き、セッションが読み込むすべての設定スコープから denyRead エントリをマージします。
Scope : Managed
Type : ブール値
true: Claude Code は管理設定からの allowRead エントリのみを尊重します
false: allowRead エントリはセッションが読み込むすべての設定スコープからマージされます
Default : false
これはホームディレクトリの読み取りをブロックし、~/work を再度開き、開発者が他のものを再度開くのを防ぎます:
{
"sandbox" : {
"filesystem" : {
"denyRead" : [ "~/" ] ,
"allowRead" : [ "~/work" ] ,
"allowManagedReadPathsOnly" : true
}
}
}
開発者がポリシーを拡大するのを防ぐ を参照してください。
`sandbox.filesystem.disabled`
ネットワーク分離を保持しながらファイルシステム分離をスキップします。サンドボックス化されたコマンドはホストファイルシステムへの無制限の読み取りおよび書き込みアクセスを取得し、それらのネットワーク出力は network.allowedDomains に限定されたままです。コマンドが接続する場所を制御するためにサンドボックスを使用する場合に使用します。書き込む内容ではなく。Claude Code v2.1.216 以降が必要です。
Scope : User or managed 。管理設定が sandbox.filesystem をまったく設定する場合、または "mode": "deny" の sandbox.credentials.files エントリをリストする場合、管理設定のみがそれを設定できます。
Type : ブール値
true: Claude Code はファイルシステム分離をスキップし、ネットワーク分離を保持します
false: ファイルシステム分離は有効なままです
Default : false。ファイルシステム分離は有効なままです
これはファイルシステムを開いたままにし、ネットワーク出力を GitHub と npm に限定します:
{
"sandbox" : {
"enabled" : true,
"filesystem" : {
"disabled" : true
} ,
"network" : {
"allowedDomains" : [ "github.com" , "*.npmjs.org" ]
}
}
}
レイヤーがオフの場合、Claude Code は denyRead または credentials.files deny エントリを強制しませんが、credentials.envVars エントリと適用された mask エントリは機能し続けます。autoAllowBashIfSandboxed は引き続き true にデフォルト設定されるため、プロンプトを続けるには false に設定してください。ファイルシステム分離を無効にする を参照して、それを設定できるソースの完全なリストと、分離がオフの場合に何が変わるかを確認してください。Claude Code v2.1.216 以降が必要です。
`sandbox.ignoreViolations`
コマンドが /etc/hosts をスタートアップで確認するツールなど、プローブされて拒否されることが予想されるパスのサンドボックス違反レポートをサイレンスします。これらの拒否が違反として表示されたり、Claude が見たりしないようにします。サンドボックスはアクセスをブロックしたままです。レポートのみが抑制されます。キーはコマンドと照合するサブストリング(* はすべてのコマンドと一致)で、値はそのコマンドで無視する違反のサブストリング(ファイルシステムパスなど)です。
Scope : Any file
Type : コマンドサブストリングを違反サブストリングの配列にマップするオブジェクト。通常はパス
Default : 未設定。すべての違反が報告されます
{
"sandbox" : {
"ignoreViolations" : {
"*" : [ "/etc/hosts" ]
}
}
}
`sandbox.enableWeakerNestedSandbox`
Linux サンドボックスを非特権 Docker コンテナ内で実行します。bubblewrap は新しい /proc をマウントできません。代わりに、内部サンドボックスはコンテナの既存の /proc をバインドマウントします。これは、新しいマウントが非表示にするプロセス情報を公開します。これはセキュリティを低下させます。外部コンテナが既に必要な分離を提供する場合にのみ使用してください。
Scope : Any file
Type : ブール値
true: 内部サンドボックスは新しい /proc をマウントする代わりに、コンテナの既存の /proc をバインドマウントします
false: サンドボックスは新しい /proc をマウントします。これは非特権 Docker コンテナでは機能しません
Default : false
{
"sandbox" : {
"enabled" : true,
"enableWeakerNestedSandbox" : true
}
}
Linux と WSL2 のみ。Bubblewrap がコンテナ内で起動に失敗する を参照してください。
`sandbox.enableWeakerNetworkIsolation`
macOS でサンドボックス化されたコマンドがシステム TLS 信頼サービス com.apple.trustd.agent に到達できるようにします。gh、gcloud、terraform などの Go ベースのツールは、network.httpProxyPort を MITM プロキシとカスタム CA で使用する場合、TLS 証明書を検証するために必要です。これはセキュリティを低下させます。信頼サービスを通じた潜在的なデータ流出パスを開きます。
Scope : Any file
Type : ブール値
true: macOS でサンドボックス化されたコマンドは com.apple.trustd.agent に到達できます
false: macOS でサンドボックス化されたコマンドはシステム TLS 信頼サービスに到達できません
Default : false
{
"sandbox" : {
"enabled" : true,
"enableWeakerNetworkIsolation" : true
}
}
MITM プロキシを使用しない場合は、代わりに失敗するツールを excludedCommands にリストしてください。Go ベースの CLI が macOS で TLS 検証に失敗する を参照してください。
`sandbox.allowAppleEvents`
macOS でサンドボックス化されたコマンドが Apple Events を送信できるようにします。open、osascript、およびブラウザで URL を開くツールが必要です。これがないと、エラー -600 で失敗します。これはコード実行分離を削除します:サンドボックス化されたコマンドはユーザープロンプトなしで他のアプリケーションをサンドボックスなしで起動でき、Terminal などの実行中のアプリケーションに AppleScript コマンドを送信できます。アプリごとの macOS オートメーション同意プロンプト(TCC)の対象です。
Scope : User or managed
Type : ブール値
true: macOS でサンドボックス化されたコマンドは Apple Events を送信できます
false: macOS でサンドボックス化されたコマンドは Apple Events を送信できないため、open と osascript はエラー -600 で失敗します
Default : false
{
"sandbox" : {
"enabled" : true,
"allowAppleEvents" : true
}
}
分離を保持しながら 1 つのそのようなツールを実行するには、代わりに excludedCommands に追加してください。macOS の Apple Events を参照してください。
`sandbox.ripgrep`
Claude Code が使用するものの代わりに、独自の ripgrep バイナリをサンドボックスに指定します。たとえば、プラットフォームが異なる方法で構築された rg が必要な場合。
Scope : User or managed
Type : ripgrep バイナリへのパスである command を含むオブジェクト、および前置する引数の配列である optional args
Default : 未設定。サンドボックスは Claude Code と同じ ripgrep バイナリを使用します。USE_BUILTIN_RIPGREP を 0 に設定しない限り、バンドルされたバイナリです
{
"sandbox" : {
"ripgrep" : {
"command" : "/usr/local/bin/rg"
}
}
}
`sandbox.bwrapPath`
PATH の外にインストールされた bubblewrap バイナリ(エアギャップホスト上のベンダー版など)をサンドボックスに指定します。Claude Code はスタートアップ依存関係チェックと、サンドボックス化された各コマンドをラップするときの両方でパスを使用します。
Scope : Managed 。Claude Code はユーザー、プロジェクト、またはローカルファイルがサンドボックスを別のバイナリに指定できないように、管理設定からのみ読み取ります。
Type : 文字列。絶対パス。Claude Code は相対パスをドロップし、PATH ルックアップにフォールバックします
Default : 未設定。Claude Code は PATH で bwrap を見つけます
{
"sandbox" : {
"enabled" : true,
"bwrapPath" : "/opt/admin/bwrap"
}
}
Linux と WSL2 のみ。
`sandbox.socatPath`
PATH の外にインストールされた socat バイナリをサンドボックスネットワークプロキシに指定します。
Scope : Managed
Type : 文字列。絶対パス。Claude Code は相対パスをドロップし、PATH ルックアップにフォールバックします
Default : 未設定。Claude Code は PATH で socat を見つけます
{
"sandbox" : {
"enabled" : true,
"socatPath" : "/opt/admin/socat"
}
}
Linux と WSL2 のみ。
`sandbox.credentials`
サンドボックス化されたコマンドから保護する 認証情報ファイルと環境変数を宣言します。各エントリはファイル path または変数 name と mode に名前を付けます:deny はサンドボックス内の認証情報を非表示にし、mask はサンドボックス化されたコマンドにプレースホルダーを表示します。サンドボックスプロキシ は送信リクエストで実際の値を置き換えます。Claude Code はリストしたエントリのみを保護します。組み込みの認証情報拒否リストはありません。Claude Code v2.1.187 以降が必要です。
Scope : Any file 。Claude Code は mask エントリ、allowPlaintextInject、awsPairs、sigv4 をユーザー設定、管理設定、--settings フラグからのみ尊重します。
Type : files、envVars、allowPlaintextInject、awsPairs、sigv4 を含むオブジェクト
Default : 未設定。認証情報は保護されません
これは AWS 認証情報ファイルを非表示にし、サンドボックス化されたコマンドから GITHUB_TOKEN を削除します:
{
"sandbox" : {
"credentials" : {
"files" : [ { "path" : "~/.aws/credentials" , "mode" : "deny" } ] ,
"envVars" : [ { "name" : "GITHUB_TOKEN" , "mode" : "deny" } ]
}
}
}
deny ファイル保護はファイルシステムレイヤーの一部であるため、ファイルシステム分離を無効にする 場合は適用されません。環境変数保護は引き続き行われます。Claude Code v2.1.187 以降が必要です。
管理設定の無効な認証情報エントリ
管理対象の sandbox.credentials エントリが検証に失敗した場合、Claude Code は可能な限り認証情報を保護し続けます:
files または envVars のエントリで、有効な path または name と mask または deny の mode を持つもの(キャプチャグループのない extract パターンなど)は、警告とともに mode: "deny" に低下します。認証情報はマスクされず、エントリを修正するまでブロックされたままです。低下した files エントリは filesystem.disabled を明示的な deny エントリのようにピンします。警告は、管理設定がファイルシステム分離をオフにした場合、その読み取りブロックが強制されないことを記します。
不明な mode または無効な path または name を持つエントリは削除されます。
各ケースは警告します。エントリが低下または削除されるかどうかに関わらず、残りの有効なエントリは引き続き強制され、完全に無効な credentials 値は削除されますが、sandbox の残りは引き続き適用されます。
v2.1.191 以降に適用されます。v2.1.221 より前では、すべての無効なエントリが削除されました。フィールドごとの処理を持つ他の管理キーについては、管理設定の無効なエントリ を参照してください。
`sandbox.credentials.files`
認証情報ファイルまたはディレクトリをサンドボックス化されたコマンドから保護します。"mode": "deny" の場合、Claude Code はサンドボックス内のパスの読み取りをブロックします。これは sandbox.filesystem.denyRead と同じ読み取りブロックです。 "mode": "mask" の場合、Linux と WSL2 でサンドボックス化されたコマンドはファイルのセンチネルコピーを読み取り、サンドボックスプロキシはそのエントリの injectHosts への送信リクエストで実際の値を置き換えます。macOS ではファイルはサンドボックス内で読み取り不可です。Claude Code v2.1.187 以降が必要で、"mode": "mask" は v2.1.221 以降が必要です。
Scope : Any file 。Claude Code はプロジェクト .claude/settings.json とローカル .claude/settings.local.json から mask エントリを削除します。
Type : オブジェクトの配列。各オブジェクトは path と "deny" または "mask" の mode、および optional ファイルのマスクフィールド
Default : 未設定。認証情報ファイルは保護されません
これは AWS 認証情報ファイルを非表示にし、gh ホストファイルをマスクします。実際の値は api.github.com へのリクエストでのみ置き換えられます:
{
"sandbox" : {
"credentials" : {
"files" : [
{ "path" : "~/.aws/credentials" , "mode" : "deny" } ,
{ "path" : "~/.config/gh/hosts.yml" , "mode" : "mask" , "injectHosts" : [ "api.github.com" ] }
]
}
}
}
パスは sandbox.filesystem.* 設定と同じプレフィックス を使用し、Claude Code はセッションが読み込むすべての設定スコープから配列をマージします。認証情報を保護する は --setting-sources で除外するソースから何が引き続き適用されるかをカバーしています。Claude Code v2.1.187 以降が必要です。mask エントリは v2.1.221 以降が必要です。
mask 置き換えはサンドボックスプロキシを通じてのみ実行されるため、sandbox.network.tlsTerminate を設定するか、プレーン HTTP テストネットワークの場合は allowPlaintextInject を設定してください。mask は単一ファイルに適用されるため、各認証情報ファイルを個別にリストしてください。Claude Code は deny エントリの mask フィールドを受け入れますが無視します。認証情報ファイルをマスクする は、どの設定ソースが尊重されるか、およびエントリが deny にフォールバックするときをカバーしています。
ファイルのマスクフィールド
mask エントリはこれらの optional フィールドを受け入れます。extract または decode がない場合、Claude Code はファイル全体の内容を 1 つのセンチネルで置き換えます。ファイルシステム分離がオンの macOS では、Claude Code は extract または decode が実行される前に mask エントリを deny として適用します。認証情報ファイルをマスクする を参照してください。
フィールド
型
何をするか
extract
文字列。少なくとも 1 つのキャプチャグループを持つ正規表現
各マッチのグループ 1 でキャプチャされたテキストのみをマスクします。ファイルの残りは解析可能なままです。decode も設定されている場合、Claude Code は各キャプチャを置き換える代わりに、可能な JWT として確認します。v2.1.221 以降が必要です
onExtractNoMatch
"warn"、"deny"、または "error"。デフォルト "warn"
extract または decode がマスクするものを見つけられない場合に何が起こるか。warn はファイルを読み取り可能なままにします。サンドボックス内で、deny は読み取り不可にし、error は設定を修正するまでサンドボックスセットアップを停止します。Claude Code は、読み取りブロックが強制されない場合、deny を error として扱います。ファイルシステム分離を無効にする か、sandbox.filesystem.allowRead エントリがパスを再度開く場合。v2.1.221 以降が必要です。decode ケースは v2.1.224 以降が必要です
decode
文字列 "jwt"
ファイル内の JSON Web Token(JWT)を見つけ、組み込みパターンまたは設定されている場合は extract で、各候補を検証し、構造的に有効な偽トークンで置き換えます。サンドボックス内のコードがトークンをデコードし続けるようにします。候補が検証されない場合、onExtractNoMatch が結果を管理します。v2.1.224 以降が必要です
maskClaims
文字列の配列。少なくとも 1 つのクレーム名。decode が必要
各検証済み JWT 内の名前付きトップレベルペイロードクレームのみをマスクし、変更されたペイロードの周りにトークンを再構築します。他のクレームは読み取り可能なままです。名前付きクレームが一致しない場合、onExtractNoMatch が結果を管理します。v2.1.224 以降が必要です
maskDuplicates
ブール値。デフォルト false
ファイル内の他の場所にある各マスク値の逐語的コピーも置き換えます。コメントに貼り付けられたシークレットなど。Claude Code は生のサブストリングと照合するため、長く、高エントロピーのシークレット用に予約してください。extract または decode が設定されている場合にのみ参照されます。v2.1.221 以降が必要です
injectHosts
文字列の配列。各ホストは sandbox.network.allowedDomains も認めます
サンドボックスプロキシが実際の値を置き換えるホストを絞ります。未設定の場合、プロキシは sandbox.network.allowedDomains のすべてのホストへのリクエストで置き換えます。v2.1.221 以降が必要です
これは gh ホストファイルの oauth_token 値のみをマスクし、ファイル内のそれぞれの他のコピーを置き換え、パターンが何も一致しない場合はファイルを読み取り不可にし、実際のトークンは api.github.com へのリクエストでのみ置き換えます:
{
"sandbox" : {
"credentials" : {
"files" : [
{
"path" : "~/.config/gh/hosts.yml" ,
"mode" : "mask" ,
"extract" : "oauth_token:\\s*(\\S+)" ,
"maskDuplicates" : true,
"onExtractNoMatch" : "deny" ,
"injectHosts" : [ "api.github.com" ]
}
]
}
}
}
`sandbox.credentials.envVars`
環境変数をサンドボックス化されたコマンドから保護します。"mode": "deny" の場合、Claude Code はサンドボックス化されたコマンドの環境から変数を削除します。 "mode": "mask" の場合、サンドボックス化されたコマンドはセッションごとのセンチネル値を見て、サンドボックスプロキシはそのエントリの injectHosts への送信リクエストで実際の値を置き換えます。gh と npm などのツールは実際の認証情報を保持することなく認証を続けます。Claude Code v2.1.187 以降が必要で、"mode": "mask" は v2.1.199 以降が必要です。
Scope : Any file 。Claude Code はプロジェクト .claude/settings.json とローカル .claude/settings.local.json から mask エントリを削除します。
Type : オブジェクトの配列。各オブジェクトは name と "deny" または "mask" の mode、および optional 環境変数のマスクフィールド
Default : 未設定。環境変数は保護されません
これは NPM_TOKEN をサンドボックス化されたコマンドから削除し、GITHUB_TOKEN をマスクします。実際の値は api.github.com へのリクエストでのみ置き換えられます:
{
"sandbox" : {
"credentials" : {
"envVars" : [
{ "name" : "NPM_TOKEN" , "mode" : "deny" } ,
{ "name" : "GITHUB_TOKEN" , "mode" : "mask" , "injectHosts" : [ "api.github.com" ] }
]
}
}
}
name は文字、アンダースコアで始まり、文字、数字、アンダースコアのみを含む必要があります。Claude Code はセッションが読み込むすべての設定スコープから配列をマージし、同じ変数が両方のモードで表示される場合は deny を適用します。認証情報を保護する は --setting-sources で除外するソースから何が引き続き適用されるかをカバーしています。Claude Code v2.1.187 以降が必要です。mask エントリは v2.1.199 以降が必要です。
mask 置き換えはサンドボックスプロキシを通じてのみ実行されるため、sandbox.network.tlsTerminate を設定するか、プレーン HTTP テストネットワークの場合は allowPlaintextInject を設定してください。環境変数をマスクする を参照してください。Claude Code は deny エントリの mask フィールドを受け入れますが無視します。
環境変数のマスクフィールド
mask エントリはこれらの optional フィールドを受け入れます。extract または decode がない場合、Claude Code は値全体を 1 つのセンチネルで置き換えます。extract と decode は同じエントリで組み合わせることはできません。
フィールド
型
何をするか
extract
文字列。少なくとも 1 つのキャプチャグループを持つ正規表現
各マッチのグループ 1 でキャプチャされたテキストのみをマスクします。DATABASE_URL 接続文字列内のパスワードなど。値の残りは解析可能なままです。v2.1.224 以降が必要です
onExtractNoMatch
"warn"、"deny"、または "error"。デフォルト "warn"。decode を含むエントリでは、"warn" のみが受け入れられます
extract が何も一致しない場合に何が起こるか。warn は変数をマスクなしで渡し、deny はサンドボックス内でそれをアンセットし、error は設定を修正するまでサンドボックスセットアップを停止します。v2.1.224 以降が必要です
decode
文字列 "jwt"
値全体が JWT であることを検証し、構造的に有効な偽トークンで置き換えます。サンドボックス内のコードがトークンをデコードし続けるようにします。プロキシは出力時に実際のトークン全体を置き換えます。検証されない値はマスクなしで警告とともに渡されます。v2.1.224 以降が必要です
maskClaims
文字列の配列。少なくとも 1 つのクレーム名。decode が必要
デコードされた JWT 内の名前付きトップレベルペイロードクレームのみをマスクし、変更されたペイロードの周りにトークンを再構築します。他のクレームは読み取り可能なままです。名前付きクレームが一致しない場合、変数は警告とともにマスクなしで渡されます。v2.1.224 以降が必要です
injectHosts
文字列の配列。各ホストは sandbox.network.allowedDomains も認めます
サンドボックスプロキシが実際の値を置き換えるホストを絞ります。未設定の場合、プロキシは sandbox.network.allowedDomains のすべてのホストへのリクエストで置き換えます。IPv6 宛先を括弧で囲まれた形式ではなく、"::1" などの裸の圧縮アドレスとして書きます。injectHosts の IPv6 宛先 を参照してください。v2.1.199 以降が必要です
これは DATABASE_URL 内のパスワードのみをマスクし、パターンが何も一致しない場合は変数をアンセットし、SERVICE_JWT の JWT をマスクします。api_key を除くすべてのクレームは読み取り可能なままです:
{
"sandbox" : {
"credentials" : {
"envVars" : [
{
"name" : "DATABASE_URL" ,
"mode" : "mask" ,
"extract" : "://[^:]+:([^@]+)@" ,
"onExtractNoMatch" : "deny"
} ,
{
"name" : "SERVICE_JWT" ,
"mode" : "mask" ,
"decode" : "jwt" ,
"maskClaims" : [ "api_key" ]
}
]
}
}
}
`sandbox.credentials.allowPlaintextInject`
TLS 終了 HTTPS だけでなく、プレーン HTTP リクエストでも mask 置き換えを許可します。プレーン HTTP では上流の ID は未検証で、認証情報はクリアテキストで移動するため、信頼できるテストネットワーク外ではこれをオフのままにしてください。Claude Code v2.1.199 以降が必要です。
Scope : User or managed
Type : ブール値
true: Claude Code は TLS 終了 HTTPS だけでなく、プレーン HTTP リクエストでも mask 置き換えを許可します
false: Claude Code は TLS 終了 HTTPS でのみ mask 置き換えを許可します
Default : false
{
"sandbox" : {
"credentials" : {
"allowPlaintextInject" : true
}
}
}
Claude Code v2.1.199 以降が必要です。
`sandbox.credentials.awsPairs`
マスクされた環境変数をグループ化して、認証情報が非標準の名前の変数に存在する場合、SigV4 再署名 用に 1 つの AWS 認証情報を形成します。Claude Code は、従来の AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN トリオを自動的にリンクします。値全体をマスクする場合、他の名前の場合にのみこのキーが必要です。Claude Code v2.1.224 以降が必要です。
Scope : User or managed
Type : オブジェクトの配列。各オブジェクトは accessKeyIdVar、secretAccessKeyVar、および optional sessionTokenVar を含み、sandbox.credentials.envVars エントリに名前を付けます
Default : 未設定。従来のトリオのみがペアになります
これは 3 つのカスタム名の変数を 1 つの AWS 認証情報にリンクして再署名します:
{
"sandbox" : {
"credentials" : {
"awsPairs" : [
{
"accessKeyIdVar" : "MY_KEY_ID" ,
"secretAccessKeyVar" : "MY_SECRET_KEY" ,
"sessionTokenVar" : "MY_SESSION_TOKEN"
}
]
}
}
}
各名前付き変数は sandbox.credentials.envVars の全値 mask エントリである必要があり、extract または decode なしで、すべてのペアで 1 つのスロットのみを埋めることができます。
`sandbox.credentials.sigv4`
サンドボックスプロキシが再署名できない AWS リクエストフォームで何をするかを選択します:streaming は aws-chunked ストリーミングアップロード、presigned は事前署名 URL、sigv4a は SigV4A 非対称署名。これは、マスクされたペアのプレースホルダーアクセスキー ID で署名されたリクエストにのみ適用されます。Claude Code v2.1.224 以降が必要です。
Scope : User or managed
Type : streaming、presigned、sigv4a を含むオブジェクト。各オブジェクトは以下のいずれか:
"deny": プロキシはリクエストを失敗させます
"passthrough": プロキシはマスクされたプレースホルダーで署名されたリクエストを転送するため、ツールは AWS 自体の拒否を受け取ります
Default : 未設定。すべてのフォームは "deny" です
これはストリーミングアップロードを失敗させる代わりに転送します:
{
"sandbox" : {
"credentials" : {
"sigv4" : {
"streaming" : "passthrough"
}
}
}
}
deny の場合、プロキシはリクエストを失敗させます。passthrough の場合、プロキシはマスクされたプレースホルダーで署名されたリクエストを転送するため、AWS はそれを拒否し、呼び出しツールはプロキシエラーの代わりに AWS 自体の応答を受け取ります。
`sandbox.network`
サンドボックス化されたコマンドが到達できるホスト、ポート、ソケットを制御します。サンドボックスは送信トラフィックをプロキシを通じてルーティングし、これらのリストを強制します。ネットワーク分離 を参照して、プロキシがどのように決定するか、およびいつプロンプトするかを確認してください。
Scope : Any file 。strictAllowlist、allowManagedDomainsOnly、tlsTerminate は、それらのエントリが言うように、より少ないソースから読み取られます。
Type : 以下のサブキーを含むオブジェクト
Default : 未設定。ドメインは事前に許可されず、サンドボックスは各新しいホストについてプロンプトします
これは GitHub と npm を事前に許可し、uploads.github.com をブロックし、コマンドが localhost にバインドできるようにします:
{
"sandbox" : {
"network" : {
"allowedDomains" : [ "github.com" , "*.npmjs.org" ] ,
"deniedDomains" : [ "uploads.github.com" ] ,
"allowLocalBinding" : true
}
}
}
Claude Code は配列サブキーを設定スコープ全体でマージし、重複を排除するため、プロジェクトはドメインをユーザーリストに追加できます。WebFetch(domain:...) 許可および拒否権限ルール は同じ許可および拒否リストをフィードします。
`sandbox.network.allowUnixSockets`
macOS でサンドボックス化されたコマンドが接続できる Unix ソケットパスをリストします。Claude Code は Linux と WSL2 でこのリストを無視します。seccomp フィルタはソケットパスを検査できません。代わりに allowAllUnixSockets を使用してください。
Scope : Any file
Type : 文字列の配列。各文字列はソケットパス
Default : 未設定。macOS サンドボックスはすべての Unix ソケットをブロックします
{
"sandbox" : {
"network" : {
"allowUnixSockets" : [ "~/.ssh/agent-socket" ]
}
}
}
ソケットパスは広いアクセスを許可できます:/var/run/docker.sock を許可すると、たとえば、サンドボックス化されたコマンドが Docker デーモンを制御できます。セキュリティ制限 を参照してください。
`sandbox.network.allowAllUnixSockets`
サンドボックス化されたコマンドがすべての Unix ソケットに接続できるようにします。Linux と WSL2 では、サンドボックスの seccomp フィルタ は socket(AF_UNIX, ...) 呼び出しをブロックするため、これが Unix ソケットを許可する唯一の方法です。フィルタが不足している場合(/sandbox がその Dependencies タブで報告します)、サンドボックスは Unix ソケット呼び出しをブロックしません。Linux と WSL2 をセットアップする を参照して、フィルタがどこから来るかを確認してください。
Scope : Any file
Type : ブール値
true: サンドボックス化されたコマンドはすべての Unix ソケットに接続できます
false: サンドボックスは Unix ソケット接続をブロックします:macOS では allowUnixSockets のパスを除き、Linux と WSL2 では seccomp フィルタが存在する場合はそれを通じて
Default : false
{
"sandbox" : {
"network" : {
"allowAllUnixSockets" : true
}
}
}
WSL2 では、true は cmd.exe と powershell.exe などの Windows バイナリを起動する相互運用ソケットも再度開きます。
`sandbox.network.allowLocalBinding`
macOS でサンドボックス化されたコマンドが localhost ポートにバインドできるようにします。たとえば、開発サーバーを起動するため。
Scope : Any file
Type : ブール値
true: macOS でサンドボックス化されたコマンドは localhost ポートにバインドできます
false: macOS でサンドボックス化されたコマンドは localhost ポートにバインドできません
Default : false
{
"sandbox" : {
"network" : {
"allowLocalBinding" : true
}
}
}
`sandbox.network.allowMachLookup`
macOS サンドボックスが検索できる追加の XPC および Mach サービス名をリストします。iOS Simulator または Playwright などの XPC を通じて通信するツールは、ここにサービスをリストする必要があります。
Scope : Any file
Type : 文字列の配列。各文字列はサービス名。単一の末尾 * はプレフィックスと一致し、"*" 単独はすべてのサービスと一致します
Default : 未設定
これは com.apple.coresimulator. プレフィックスの下のすべてのサービスを許可します:
{
"sandbox" : {
"network" : {
"allowMachLookup" : [ "com.apple.coresimulator.*" ]
}
}
}
`sandbox.network.allowedDomains`
サンドボックス化されたコマンドからの送信トラフィックのドメインを事前に許可し、サンドボックスがそれらについてプロンプトしないようにします。*.example.com などのワイルドカードはサブドメインと一致し、optional :port サフィックスはエントリを 1 つのポートに制限します。ポートのないエントリはすべてのポートと一致します。
Scope : Any file 。allowManagedDomainsOnly が設定されている場合、管理設定のみ。
Type : 文字列の配列。各文字列はドメイン、ワイルドカードパターン、または IP リテラル。optional :port サフィックス
Default : 未設定。サンドボックスは新しいホストに初めて到達するときにプロンプトします
これは GitHub をすべてのポートで事前に許可し、すべての npm サブドメイン、および 1 つの API ホストをポート 443 のみで事前に許可します:
{
"sandbox" : {
"network" : {
"allowedDomains" : [ "github.com" , "*.npmjs.org" , "api.example.com:443" ]
}
}
}
IPv6 リテラルを括弧で囲んで書き、optional ポート:"[::1]" はすべてのポートを許可し、"[::1]:443" は 1 つのポートを許可します。括弧で囲まれた形式は Claude Code v2.1.229 以降が必要です。ドメインリストの IPv6 アドレス を参照してください。
`sandbox.network.deniedDomains`
allowedDomains と同じワイルドカード、ポート、IPv6 構文を使用して、サンドボックス化されたコマンドからの送信トラフィックのドメインをブロックします。拒否されたドメインは、allowedDomains エントリも一致する場合でもブロックされたままです。
Scope : Any file
Type : 文字列の配列。各文字列はドメイン、ワイルドカードパターン、または IP リテラル。optional :port サフィックス
Default : 未設定
{
"sandbox" : {
"network" : {
"deniedDomains" : [ "sensitive.cloud.example.com" ]
}
}
}
Claude Code は allowManagedDomainsOnly が設定されている場合でも、セッションが読み込むすべての設定ソースからこのリストをマージするため、開発者は常に拒否リストを厳しくできます。IPv6 リテラルについては、ドメインリストの IPv6 アドレス を参照してください。
完全修飾ドメイン名をマークする末尾ドット(example.com. など)で書かれたエントリは、example.com と同じ接続をブロックします。
`sandbox.network.strictAllowlist`
許可リスト外のホストへのアクセスをプロンプトする代わりにサンドボックス化されたコマンドを拒否します。許可リストは allowedDomains プラス WebFetch(domain:...) 許可ルールからのドメイン、または allowManagedDomainsOnly が設定されている場合は管理設定エントリのみです。Claude Code v2.1.219 以降が必要です。
Scope : User or managed 。リポジトリはそれをオンまたはオフにすることはできません。
Type : ブール値
true: Claude Code は許可リスト外のホストへのサンドボックス化されたコマンドアクセスを拒否します
false: 別の信頼できる設定ファイルが true を設定しない限り、Claude Code は許可リスト外のホストを権限モードの代わりに拒否する代わりに決定します:自動モードで分類器を実行し、dontAsk モードで拒否し、bypassPermissions モードで許可し、プランモードでバイパスが利用可能な場合、それ以外の場合は尋ねます
Default : false
{
"sandbox" : {
"network" : {
"strictAllowlist" : true
}
}
}
Claude Code はサンドボックス化されたコマンドに対してのみこれを強制します。WebFetch などのインプロセスツールは引き続き権限ルール に従います。尊重されるソースのいずれかが true に設定する場合、それはオンのままです。ネットワーク分離 を参照してください。Claude Code v2.1.219 以降が必要です。
`sandbox.network.allowManagedDomainsOnly`
ネットワーク許可リストを管理設定が定義するものにロックします。Claude Code は管理設定からの allowedDomains と WebFetch(domain:...) 許可ルールのみを尊重し、ユーザー、プロジェクト、ローカル、--settings 設定からのドメインを無視し、許可されていないドメインをプロンプトする代わりに自動的にブロックします。
Scope : Managed
Type : ブール値
true: Claude Code は管理設定からの allowedDomains と WebFetch(domain:...) 許可ルールのみを尊重し、許可されていないドメインをプロンプトする代わりにブロックします
false: ユーザー、プロジェクト、ローカル、--settings 設定からのドメインが許可リストにマージされます
Default : false
これは許可リストを GitHub と npm にロックし、開発者が追加するドメインを無視します:
{
"sandbox" : {
"network" : {
"allowManagedDomainsOnly" : true,
"allowedDomains" : [ "github.com" , "*.npmjs.org" ]
}
}
}
拒否されたドメインはセッションが読み込むすべてのソースからマージされます。開発者がポリシーを拡大するのを防ぐ を参照してください。
`sandbox.network.httpProxyPort`
Claude Code が実行するものの代わりに、独自の HTTP プロキシをサンドボックスに指定します。組織はこれを行って HTTPS トラフィックを検査し、独自のフィルタリングルールを適用するか、すべてのリクエストをログします。未設定の場合、Claude Code は HTTP トラフィック用に独自のプロキシを起動します。
Scope : Any file
Type : 数値。ローカル TCP ポート
Default : 未設定。Claude Code は独自のプロキシを実行します
{
"sandbox" : {
"network" : {
"httpProxyPort" : 8080
}
}
}
プロキシが SOCKS トラフィックも実行する場合は、socksProxyPort も設定してください。2 つのうち 1 つだけが設定されている場合、Claude Code は他のプロトコル用に独自のプロキシを実行します。カスタムプロキシ設定 を参照してください。
`sandbox.network.socksProxyPort`
Claude Code が実行するものの代わりに、独自の SOCKS5 プロキシをサンドボックスに指定します。未設定の場合、Claude Code は SOCKS トラフィック用に独自のプロキシを起動します。
Scope : Any file
Type : 数値。ローカル TCP ポート
Default : 未設定。Claude Code は独自のプロキシを実行します
{
"sandbox" : {
"network" : {
"socksProxyPort" : 8081
}
}
}
カスタムプロキシ設定 を参照してください。
`sandbox.network.tlsTerminate`
サンドボックスプロキシが TLS を終了して HTTPS リクエストの内容を読み取ることができるようにします。これは実験的で、mask 認証情報置き換え はそれを必要とします。{} を設定してセッション用に一時的な認証局を生成するか、caCertPath と caKeyPath を設定して独自のものを使用します。
Scope : User or managed 。リポジトリはそれをオンにするか、認証局を提供することはできません。
Type : optional caCertPath と caKeyPath 文字列を含むオブジェクト。各文字列はファイルパス
Default : 未設定。プロキシは TLS を終了または検査しません
{
"sandbox" : {
"network" : {
"tlsTerminate" : { }
}
}
}
複数の尊重されるソースがそれを設定する場合、Claude Code は最も優先度の高いソースからの値を使用します:管理設定、次に --settings フラグ、次にユーザー設定。Claude Code v2.1.199 以降が必要です。
メモリとコンテキスト
Claude Code がコンテキストに読み込む内容、コンパクト化の方法、メモリと計画の保存場所を制御します。コンテキストの管理 とメモリ を参照してください。
`autoCompactEnabled`
コンテキストが制限に近づいたときに Claude Code が会話を自動的にコンパクト化 するようにします。/config に自動コンパクト化 として表示され、そこで切り替えるとこのキーがユーザー設定に書き込まれます。
スコープ : 任意のファイル
タイプ : ブール値
true: コンテキストが制限に近づいたときに Claude Code が会話を自動的にコンパクト化します
false: Claude Code は自動的にコンパクト化しません
デフォルト : true
セッションごとのオーバーライド : DISABLE_AUTO_COMPACT は 1 つのセッションの自動コンパクト化をオフにします。2 つのうちどちらかがオフにすると、もう一方はオンに戻すことができません
{
"autoCompactEnabled" : false
}
手動の /compact コマンドは自動コンパクト化がオフの間も機能し続けます。
`autoCompactWindow`
Claude Code が自動的にコンパクト化 する前にコンテキストウィンドウがどの程度満杯になるかを設定します。
{
"autoCompactWindow" : 500000
}
/autocompact コマンドで設定します。このコマンドはこのキーをユーザー設定に書き込みます。自動コンパクト化ウィンドウを設定 では、コマンド、フラグ、変数、設定がどのように相互作用するかについて説明しています。
`autoMemoryDirectory`
自動メモリ をプロジェクトごとのデフォルトではなく、選択したディレクトリに保存します。
スコープ : 任意のファイル
タイプ : 文字列。絶対パスまたは ~/ で始まるディレクトリパス
デフォルト : 未設定。Claude Code は ~/.claude/projects/<project>/memory/ を使用します
{
"autoMemoryDirectory" : "~/my-memory-dir"
}
プロジェクトまたはローカル設定から、Claude Code はこのキーをフックと同じワークスペーストラストルール の下で尊重します。クローンされたリポジトリはこれらのファイルを提供できるためです。
`autoMemoryEnabled`
自動メモリ をオンまたはオフにします。false の場合、Claude は自動メモリディレクトリから読み取ったり書き込んだりしません。セッション中に /memory で切り替えることもできます。これはこのキーをユーザー設定に書き込みます。
スコープ : 任意のファイル
タイプ : ブール値
true: 未設定と同じです。--bare、セーフモード、CLAUDE_CODE_DISABLE_AUTO_MEMORY など、セッションでこのキーより優先される何かがオフにしない限り、自動メモリはオンのままです
false: Claude は自動メモリディレクトリから読み取ったり書き込んだりしません
デフォルト : true
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_AUTO_MEMORY は 1 つのセッションでこのキーより優先されます。どちらの方向でも優先されます
{
"autoMemoryEnabled" : false
}
`bashOutputMaxChars`
成功した Bash または PowerShell コマンドの出力 Claude が受け取るインライン の文字数を設定します。出力が制限を超える場合、Claude Code はそれをファイルに保存し、Claude は短いプレビューとファイルのパスを受け取ります。詳細なビルドまたは完全なテストスイートログなどのコマンド出力がデフォルトを定期的に超過し、Claude がファイルを開かずに読み取ることを希望する場合は、制限を引き上げます。Claude Code v2.1.261 以降が必要です。
スコープ : 任意のファイル
タイプ : 文字数。正の整数。Claude Code はこの値を 4000 から 128000 の範囲に制限します
デフォルト : 未設定。Claude は最大 30,000 文字をインラインで受け取ります
{
"bashOutputMaxChars" : 100000
}
このキーを設定すると、Claude Code はBASH_MAX_OUTPUT_LENGTH 環境変数を無視します。
`claudeMd`
CLAUDE.md スタイルの指示を別のファイルをデプロイせずに組織管理メモリとして挿入します。Claude Code はテキストをユーザーおよびプロジェクト CLAUDE.md ファイルの前に管理メモリエントリとして読み込みます。
スコープ : 管理
タイプ : 文字列。CLAUDE.md ファイルのテキスト。ファイルのように記述します。Markdown を含め、改行は \n として記述します
デフォルト : 未設定
この例は 2 つのルールを短い Markdown リストとしてデプロイします。
{
"claudeMd" : "# Engineering rules\n\n- Always run make lint before committing.\n- Never push directly to main."
}
組織全体の CLAUDE.md をデプロイ を参照してください。
`claudeMdExcludes`
Claude Code がメモリ を読み込むときに特定の CLAUDE.md ファイルをスキップします。大規模なモノレポでは、これを使用して、作業に関連のない他のチームの CLAUDE.md ファイルをスキップします。大規模コードベースガイド の関連のない CLAUDE.md ファイルを除外するセクションでそのケースについて説明しています。パターンは絶対ファイルパスと照合されます。
スコープ : 任意のファイル
タイプ : 文字列の配列。各要素はグロブパターンまたは絶対パス
デフォルト : 未設定。Claude Code は見つかったすべての CLAUDE.md を読み込みます
{
"claudeMdExcludes" : [ "**/vendor/**/CLAUDE.md" ]
}
除外はユーザー、プロジェクト、ローカルメモリファイルにのみ適用されます。管理ポリシー CLAUDE.md ファイルは除外できません。
`env`
すべてのセッションと Claude Code がそこから開始するサブプロセスの環境変数を設定します。環境変数リファレンス の任意の変数をここに配置できます。これは 1 つをすべてのセッションに適用するか、チーム全体にロールアウトする方法です。
スコープ : 任意のファイル
タイプ : 変数名を文字列値にマップするオブジェクト
デフォルト : 未設定
この例は自動コンパクト化をオフにし、API リクエストをプロキシ経由でルーティングします。
{
"env" : {
"DISABLE_AUTO_COMPACT" : "1" ,
"ANTHROPIC_BASE_URL" : "https://proxy.example.com"
}
}
`env` 値がシェルとどのように相互作用するか
ここの値はシェルでエクスポートされた同じ変数を上書きします。複数の設定ファイルが変数を設定する場合、最も優先度の高い ものが適用されます。
シェルエクスポートをキャンセルするには、変数を "" に設定します。Claude Code は空の値をプロバイダー選択の未設定として扱い、サブプロセスは空の値を継承します。
NO_COLOR と FORCE_COLOR をここで設定すると、サブプロセスにのみ到達します。Claude Code 自体のインターフェースカラーを変更するには、claude を起動する前にシェルで設定します。
ここの値は設定ファイルのプレーンテキストであり、Claude Code が開始するすべてのサブプロセスに到達します。ローテーションする OTLP ベアラートークンの場合はotelHeadersHelper を使用します。API 認証情報の場合はapiKeyHelper を使用します。
Claude Code が `env` 値を適用するタイミング
ユーザー設定、--settings、管理設定から: 起動時、および実行中のセッションでマージされた env を変更する保存された変更がある場合。
プロジェクトおよびローカル設定から: ワークスペースを信頼した後、または -p モード(信頼ダイアログを表示しない)での起動時、およびマージされた env を変更する保存された変更がある場合。
Claude Code がモデル選択、タイムアウトと制限、機能トグル、テレメトリ設定などの安全として分類する変数: プロジェクトおよびローカル設定が設定できない変数 を除き、すべての設定ファイルから起動時。
v2.1.246 以降で/cd でセッションを移動した後: 新しいディレクトリのプロジェクトおよびローカル env 値。前のディレクトリの上に。
Claude Code が `env` で無視する変数
プロジェクトおよびローカル設定は、チェックアウトされたリポジトリが制御すべきではない変数を設定できません。代わりにシェル、ユーザー設定、または管理設定で設定します。Claude Code は各変数をドロップし、claude --debug で確認できる警告をログに記録します。これらには以下が含まれます。
Claude Code が独自のファイルを保存または書き込む場所を選択する変数: CLAUDE_CONFIG_DIR、CLAUDE_CODE_TMPDIR、および HOME、TMPDIR、TMP、TEMP、XDG_* ファミリーなどのオペレーティングシステムディレクトリ変数。
セッションコンテンツをエクスポートする変数: OTEL_LOG_RAW_API_BODIES および詳細なベータトレーシングペア ENABLE_BETA_TRACING_DETAILED と BETA_TRACING_ENDPOINT。
Claude Code の起動またはシンク方法を変更する変数。CLAUDE_CODE_PROCESS_WRAPPER、CLAUDE_CODE_SYNC_SKILLS、CLAUDE_CODE_SYNC_PLUGINS、CLAUDE_CODE_PLUGIN_CACHE_DIR、CLAUDE_CODE_PLUGIN_SEED_DIR など。
v2.1.251 より前は、プロジェクトおよびローカル設定は HOME、XDG_CONFIG_HOME、Claude Code の起動またはシンク方法を変更する変数を除き、このリストが名前を付けるすべての変数を設定できました。
Claude Code のホスティング環境が所有する CLAUDE_CODE_REMOTE や CLAUDE_CODE_ACCOUNT_UUID などのアイデンティティ変数は、すべてのファイルから無視されます。
CLAUDE_CODE_MESSAGING_SOCKET と CLAUDE_CODE_MESSAGING_TOKEN 。Claude Code 自体がエクスポートするものは、すべてのファイルから無視されます。ソケット変数を無視するには Claude Code v2.1.224 以降が必要で、トークンを無視するには v2.1.228 以降が必要です。
CLAUDE_CODE_PROJECT_DIR_NAME 。Claude Code は起動環境からのみ読み取ります。すべてのファイルから無視されます。v2.1.234 以降が必要です。
CLAUDE_CODE_RESTRICTED 。Claude Code は起動環境からのみ読み取ります。すべてのファイルから無視されます。
`fileCheckpointingEnabled`
各編集の前にファイルをスナップショットして、/rewind がそれらを復元できるようにします。/config に**コードを巻き戻す(チェックポイント)**として表示され、そこで切り替えるとこのキーがユーザー設定に書き込まれます。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は各編集の前にファイルをスナップショットして、/rewind がそれらを復元できるようにします
false: Claude Code はファイルをスナップショットしないため、/rewind はそれらを復元できません
デフォルト : true
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING は 1 つのセッションのチェックポイント作成をオフにします。2 つのうちどちらかがオフにすると、もう一方はオンに戻すことができません
{
"fileCheckpointingEnabled" : false
}
-p 実行または Agent SDK セッションでは、Claude Code はこのキーを無視します。SDK は enableFileCheckpointing オプションでチェックポイント作成をオンにし、ベアの -p 実行には CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true が必要です。Agent SDK でのファイルチェックポイント作成 を参照してください。
`plansDirectory`
Claude Code が計画モード で書き込む計画ファイルを保存する場所を選択します。Claude Code はパスをプロジェクトルートを基準に解決し、パスがそれの外側に解決される場合はデフォルトを保持します。
スコープ : 任意のファイル
タイプ : 文字列。プロジェクトルートを基準とした相対パス
デフォルト : 未設定。Claude Code は ~/.claude/plans を使用します
{
"plansDirectory" : "./plans"
}
`skillListingBudgetFraction`
各ターンで、Claude はスキルのリスト とその説明を見ます。Claude Code はそのリスティングをコンテキストウィンドウのシェアで上限に設定します。リスティングが上限を超える場合、Claude Code はすべてのスキルの名前を保持しますが、最も使用されていないスキルの説明をドロップします。Claude はそれらのスキルを呼び出すことはできますが、独自に選択する可能性は低くなります。このキーを引き上げて、ターンごとにより多くのコンテキストを消費する代わりに、より多くの説明を表示させます。
スコープ : 任意のファイル
タイプ : 数値。0 より大きく、最大 1 の分数
デフォルト : 0.01。コンテキストウィンドウの 1% を予約します
{
"skillListingBudgetFraction" : 0.02
}
リスティングがどの程度のコンテキストを使用し、どのスキルが最も貢献しているかを確認するには、/doctor を実行します。
`skillListingMaxDescChars`
各ターンで、Claude はスキルのリスト を見ます。これは各スキルの description と when_to_use テキストを表示します。このキーは Claude Code がスキルごとに表示するそのテキストの文字数を上限に設定します。より長いテキストは上限で切り詰められます。
スコープ : 任意のファイル
タイプ : 文字数。正の整数
デフォルト : 1536
{
"skillListingMaxDescChars" : 2048
}
ターンごとにより多くのコンテキストを消費する代わりに、長い説明を完全に保つために引き上げます。skillListingBudgetFraction の下により多くのスキルを適合させるために引き下げます。
`taskOutputMaxChars`
Claude が TaskOutput ツールでタスクを読み取るときに、バックグラウンドタスク の出力の文字数を設定します。Claude がインラインで受け取ります。完了したタスクの出力がより長い場合、Claude は最新の文字を受け取ります。バックグラウンドタスクが定期的にデフォルトより多くの出力を生成する場合は、制限を引き上げます。Claude Code v2.1.261 以降が必要です。
スコープ : 任意のファイル
タイプ : 文字数。正の整数。Claude Code はこの値を 4000 から 128000 の範囲に制限します
デフォルト : 未設定。Claude は最大 32,000 文字をインラインで受け取ります
{
"taskOutputMaxChars" : 100000
}
このキーを設定すると、Claude Code はTASK_MAX_OUTPUT_LENGTH 環境変数を無視します。
インターフェースとターミナル
Claude Code がターミナルでどのように見え、動作するかを変更します。テーマ、エディタモード、ステータスライン、スピナー、セッション内の通知、アクセシビリティなどです。ターミナル設定 を参照してください。
`askUserQuestionTimeout`
AskUserQuestion ダイアログが一定期間のアイドル時間後に自動的に続行し、既に選択したオプションを送信するようにします。席を離れて Claude に続行させたい場合に設定します。デフォルトでは、質問は回答されるまで待機します。Claude Code v2.1.200 以降が必要です。
{
"askUserQuestionTimeout" : "5m"
}
/config に 質問の自動続行タイムアウト として表示されます。これはこのキーをユーザー設定に書き込みます。マネージド設定または --settings フラグがキーを設定している場合、Claude Code は行を非表示にします。Claude Code v2.1.200 以降が必要です。
`autoContinueAtUsageLimit`
claude.ai の使用制限がセッションを停止した後、開いているセッションで待機し、リセット後にタスクを自動的に続行します。自動続行をオフにする を参照してください。Claude Code v2.1.234 以降が必要です。
スコープ : ユーザーまたはマネージド 。ユーザー設定、--settings、およびマネージド設定からのみ読み込みます。これらのいずれもキーを設定しない場合、プロジェクトまたはローカル設定ファイルがキーを設定すると、機能がオフになります。
タイプ : ブール値
true: claude.ai の使用制限がセッションを停止した後、Claude Code は開いているセッションで待機し、リセット後にタスクを自動的に続行します
false: Claude Code は自動的に待機を開始しません。使用制限オプションメニューから自分で待機を開始 できます
デフォルト : true
{
"autoContinueAtUsageLimit" : false
}
/config に 使用制限で自動的に続行 として表示されます。これはこのキーをユーザー設定に書き込みます。マネージド設定または --settings フラグがキーを設定している場合、Claude Code は行を非表示にします。
フルスクリーンレンダリング で会話の下部に新しい出力を追従します。スクロールした場所に留まりながら Claude が作業を続けるようにするにはオフにします。権限プロンプトは引き続き表示されます。
スコープ : 任意のファイル
タイプ : ブール値
true: 会話は新しい出力の下部に追従します
false: Claude が作業を続ける間、スクロールした場所に留まります。権限プロンプトはトランスクリプトの下に表示されます
デフォルト : true
{
"autoScrollEnabled" : false
}
フルスクリーンレンダリングがオンの場合、/config に 自動スクロール として表示されます。これはこのキーをユーザー設定に書き込みます。
`axScreenReader`
スクリーンリーダーフレンドリーな出力をレンダリングします。装飾的なボーダーやアニメーションのないフラットテキストです。スクリーンリーダーモードはクラシックレンダラーを使用するため、アクティブな間は tui 設定は効果がありません。接続されたバックグラウンドセッション は引き続きフルスクリーンでレンダリングされます。Claude Code v2.1.181 以降が必要です。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は装飾的なボーダーやアニメーションのないフラットテキストをクラシックレンダラーを使用してレンダリングします
false: Claude Code は通常通りレンダリングします
デフォルト : 未設定。スクリーンリーダーモードはオフです
セッションごとのオーバーライド : --ax-screen-reader は CLAUDE_AX_SCREEN_READER より優先され、両方ともこのキーより優先されます
{
"axScreenReader" : true
}
Claude Code v2.1.181 以降が必要です。
`companyAnnouncements`
スタートアップ時にユーザーに組織のお知らせを表示します。複数のお知らせをリストアップすると、Claude Code は各セッションでランダムに 1 つを選択します。ユーザーの最初の起動時には最初のエントリを表示します。
スコープ : 任意のファイル
タイプ : 文字列の配列
デフォルト : 未設定。お知らせは表示されません
{
"companyAnnouncements" : [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}
`defaultShell`
入力ボックスで ! プレフィックス で入力したシェルコマンド、Claude Code が直接実行してセッションに追加するコマンドを実行するかどうかを選択します。Bash または PowerShell を実行するかを選択します。
"powershell" は PowerShell ツール がオンの場合のみ機能します。このツールは、Git Bash がない Windows ではデフォルトでオンになっており、Git Bash がある Windows では claude.ai および Console アカウント用にオンになっています。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry セッション、および macOS、Linux、WSL では、CLAUDE_CODE_USE_POWERSHELL_TOOL=1 を設定してツールをオンにします。その変数を 0 に設定してツールをオフにします。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"bash": Claude Code は ! コマンドを Bash で実行します
"powershell": Claude Code は ! コマンドを PowerShell で実行します
デフォルト : "bash"、または Bash が利用できない Windows では "powershell"
{
"defaultShell" : "powershell"
}
指定したシェルが利用できない場合、Claude Code は他のシェルを使用します。"powershell" は PowerShell ツールがオフの場合 Bash にフォールバックし、"bash" は Bash がインストールされていない場合 PowerShell にフォールバックします。
`dialogExpiry`
Claude Code がリモートクライアント (Remote Control または SDK ホストなど)に転送するダイアログ、および保持されたクロスセッションメッセージ の承認ダイアログの期限を設定します。Claude Code v2.1.236 以降では、同じ期限がセッション内の Fable 使用クレジット同意プロンプト を制限します。ターミナルに誰もいない可能性があるセッションです。期限前に回答が到着しない場合、Claude Code はダイアログをキャンセルし、デフォルトのアクションなしで続行します。Claude Code v2.1.224 以降が必要です。
{
"dialogExpiry" : "10m"
}
権限プロンプトと AskUserQuestion の質問は独自のフローを使用し、この期限の対象ではありません。ユーザー設定に書き込む ダイアログの有効期限 として /config に表示されます。この行には Claude Code v2.1.232 以降が必要です。マネージド設定または --settings フラグがキーを設定している場合、Claude Code は行を非表示にします。
`editorMode`
入力プロンプトのキーバインディングモードを選択します。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"normal": プロンプト入力の標準キーバインディング
"vim": NORMAL、INSERT、VISUAL モードを備えた vim スタイルの編集
デフォルト : "normal"
{
"editorMode" : "vim"
}
ユーザー設定に書き込む エディタモード として /config に表示されます。
`emojiCompletionEnabled`
プロンプト入力で : とショートコードを入力するときに絵文字の提案を表示し、:heart: などの完成したショートコードを絵文字に置き換えます。false に設定して両方をオフにします。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は : の後に絵文字の提案を表示し、完成したショートコードを絵文字に置き換えます
false: Claude Code は絵文字を提案せず、ショートコードを置き換えません
デフォルト : true
{
"emojiCompletionEnabled" : false
}
絵文字ショートコード を参照してください。Claude Code v2.1.217 以降が必要です。
`fileSuggestion`
組み込みのファイル提案の代わりに、@ ファイルパスオートコンプリートを提供するために独自のコマンドを実行します。組み込みの提案は高速ファイルシステムトラバーサルを使用します。大規模なモノレポは、事前構築されたファイルインデックスなどのプロジェクト固有のインデックスでより良い結果が得られる場合があります。
スコープ : 任意のファイル 。ステータスラインとファイル提案ゲート の下では、Claude Code はコマンドをオフにするか、マネージド値のみを実行し、警告なしにあなたのコマンドをスキップします。
タイプ : type(常に "command")と command(実行するシェルコマンド)を持つオブジェクト
デフォルト : 未設定。Claude Code は組み込みのファイル提案を使用します
{
"fileSuggestion" : {
"type" : "command" ,
"command" : "~/.claude/file-suggestion.sh"
}
}
これを保存した後、プロンプトで @ に続けてパスの一部を入力します。提案はコマンドの出力から取得されます。
Claude Code は hooks と同じ環境変数(CLAUDE_PROJECT_DIR を含む)でコマンドを実行し、5 秒後に待機を停止します。コマンドは stdin で query フィールドを持つ JSON を受け取ります。これまでに入力した内容を保持します:
{ "query" : "src/comp" }
stdout にニューラインで区切られたファイルパスを出力します。Claude Code は最大 15 個を表示します:
src/components/Button.tsx
src/components/Modal.tsx
src/components/Form.tsx
次のスクリプトはクエリを読み込み、リポジトリファイルインデックスに渡します:
query=$(cat | jq -r '.query' )
your-repo-file-index --query "$query" | head -20
ターンの出力(ツール結果(ファイルコンテンツと取得されたページを含む)および Claude 自身の応答)に正規表現が一致するときに、入力ボックスの下のフッターに追加のクリック可能なバッジをレンダリングします。プロジェクト CLI によって出力される ID(レビューツールと問題トラッカーなど)をセッションリンクに変換するために使用します。Claude Code v2.1.176 以降が必要です。
スコープ : ユーザーまたはマネージド
タイプ : オブジェクトの配列。各オブジェクトは type を "regex" に設定、pattern 正規表現、url テンプレート、およびオプションの label を持ちます。url と label の {name} プレースホルダーは pattern の名前付きキャプチャグループから入力されます
デフォルト : 未設定。バッジはレンダリングされません
この例は PROJ-1234 などの問題キーに一致し、キャプチャされたキーから各リンクを構築します:
{
"footerLinksRegexes" : [
{
"type" : "regex" ,
"pattern" : "\\b(?<key>PROJ-\\d+)\\b" ,
"url" : "https://issues.example.com/browse/{key}" ,
"label" : "{key}"
}
]
}
これが設定されている場合、PROJ-1234 がツール結果または Claude の応答に表示されると、PROJ-1234 バッジがフッターに表示され、https://issues.example.com/browse/PROJ-1234 にリンクします。Claude Code v2.1.176 以降が必要です。
バッジの制約
各エントリの URL、ラベル、およびバッジ数は以下のように制限されます:
制約
動作
URL オリジン
キャプチャされた値は URL エンコードされ、構築された URL はテンプレートのリテラルオリジンを共有する必要があります。キャプチャはパスセグメントまたはクエリ値を入力できますが、リンクが指す場所を変更することはできません
URL 長
2048 文字より長い構築された URL は削除されます
URL スキーム
https、http、または認識されたエディタまたはワークスペースディープリンクスキーム(vscode、vscode-insiders、cursor、windsurf、zed、jetbrains、idea、slack、linear、notion、figma)である必要があります
ラベル
デフォルトは一致したテキストで、28 表示列に切り詰められます
バッジ数
最大 5 個のバッジがレンダリングされます。最も古いものは新しい一致に置き換えられ、/clear はそれらを削除します
ターンが完了すると、Claude Code はメインスレッドでターン出力に対して各エントリの pattern 正規表現を照合するため、遅い正規表現は UI をブロックします。(a+)+$ などのネストされた量指定子は特定の入力に対して指数関数的に長くかかり、セッションをフリーズさせる可能性があるため、各 pattern を線形に保ち、+ または * のネストを避けてください。
フッターバッジはカスタムステータスライン が設定されている場合、それと一緒にレンダリングされます。どちらも他方を置き換えません。ステータスラインをセッションデータから独自のコンテンツを計算するスクリプト駆動行に使用し、フッターバッジを会話から ID をリンクに変換するために使用します。スクリプトなしで。
`keybindingFlavor`
v2.1.238 から v2.1.260 では、"readline" に設定すると Ctrl+W は前の単語だけでなく前の空白文字まで削除されます。
スコープ : 任意のファイル
タイプ : 文字列、"classic" または "readline"
デフォルト : 未設定
`prefersReducedMotion`
スピナー、シマー、フラッシュエフェクトなどのインターフェースアニメーションを減らすか、オフにします。/config に モーションを減らす として表示されます。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code はスピナー、シマー、フラッシュエフェクトなどのインターフェースアニメーションを減らすか、オフにします
false: 未設定と同じです。Claude Code はアニメーションを表示します
デフォルト : false
{
"prefersReducedMotion" : true
}
`promptSuggestionEnabled`
プロンプト提案 を表示または非表示にします。プロンプト入力に表示される灰色の予測です。false に設定するか、/config で プロンプト提案 をオフにして非表示にします。
{
"promptSuggestionEnabled" : false
}
プロンプト提案には、テレメトリがオンの claude.ai または Console アカウントが必要です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または DISABLE_TELEMETRY によってテレメトリがオフの場合、このキーは効果がなく、CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 のみがそれらをオンにします。
`respectGitignore`
@ ファイルピッカーが .gitignore パターンに一致するファイルを除外するかどうかを制御します。/config に ファイルピッカーで .gitignore を尊重 として表示されます。
スコープ : 任意のファイル 。設定ファイルがそれを設定しない場合、Claude Code は ~/.claude.json の respectGitignore にフォールバックします。これは /config トグルが書き込みます。
タイプ : ブール値
true: @ ファイルピッカーは .gitignore パターンに一致するファイルを除外します
false: @ ファイルピッカーは .gitignore パターンに一致するファイルを含めます
デフォルト : true
{
"respectGitignore" : false
}
`respondToBashCommands`
入力ボックスで ! プレフィックス でシェルコマンドを実行した後、Claude が応答するかどうかを選択します。デフォルトでは、Claude Code はコマンドの出力を会話に追加し、Claude がそれに応答します。このキーを false に設定して、応答なしでコンテキストに出力を追加します。複数のコマンドを実行して、一緒に質問できます。Claude Code v2.1.186 以降が必要です。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code はコマンドの出力を会話に追加し、Claude がそれに応答します
false: Claude Code は応答なしでコンテキストに出力を追加します
デフォルト : true
{
"respondToBashCommands" : false
}
! プレフィックスでシェルモード を参照してください。Claude Code v2.1.186 以降が必要です。
`showClearContextOnPlanAccept`
Claude がプランモード でプランを完了すると、承認メニューが表示されます。計画は多くのコンテキストを使用できるため、このキーはそのメニューに最初のオプション はい、コンテキストをクリアして… を追加します。これはプランを承認し、会話コンテキストをクリアし、プランだけから実装を開始します。ラベルの残りは、セッションが続行する権限モードに名前を付け、計画がコンテキストをどの程度使用したかを示します。
スコープ : 任意のファイル
タイプ : ブール値
true: プラン承認メニューは最初のオプション はい、コンテキストをクリアして… を取得します。これはプランを承認し、会話コンテキストをクリアします
false: プラン承認メニューはクリアコンテキストオプションを表示しません
デフォルト : false
{
"showClearContextOnPlanAccept" : true
}
`showTurnDuration`
各応答後のターン期間メッセージを表示または非表示にします。例えば「Cooked for 1m 6s · done 6:05 PM」。「done」の後の時計はターンが完了した時刻を示します。timeFormat と timeZone はその形式とゾーンを制御します。/config に ターン期間を表示 として表示されます。
スコープ : 任意のファイル 。設定ファイルがそれを設定しない場合、古いバージョンの ~/.claude.json の値が適用されます。
タイプ : ブール値
true: 各応答後にターン期間メッセージが表示されます
false: Claude Code はターン期間メッセージを非表示にします
デフォルト : true
{
"showTurnDuration" : false
}
`spellcheck`
入力ボックスのテキストを入力するときに、インストールしたスペルチェッカーを使用して、スペルミスのある単語に下線を引きます。Claude Code はプロンプト入力ボックスのテキストのみをチェックします。入力時にスペルをチェック は aspell、hunspell、または ispell をインストールし、チェッカーが何をカバーするかについて説明しています。Claude Code v2.1.235 以降が必要です。
スコープ : ユーザーまたはマネージド 。それを設定する最高層からのブロック全体が全体として適用されます。
タイプ : enabled(ブール値)、checker("aspell"、"hunspell"、"ispell"、または "auto")、language(文字列、チェッカーの辞書名として渡される)、および color(文字列、ターミナルカラー名、#rrggbb、rgb(r,g,b)、ansi256(n)、または ansi:<name>)を持つオブジェクト
デフォルト : 未設定。スペルチェックはオフです。checker はデフォルトで "auto"(PATH で見つかった最初の 3 つ)です。language はデフォルトでチェッカー自身の辞書です。color はデフォルトでテーマのエラーカラーです
{
"spellcheck" : { "enabled" : true, "language" : "en_GB" }
}
`spinnerTipsEnabled`
Claude が作業している間、スピナーラインは「Plan Mode を使用して複雑なリクエストに備えてから変更を加えます。Shift+Tab を 2 回押して有効にします」などの Claude Code 機能に関する短いヒントをローテーションします。このキーを false に設定して非表示にします。/config に ヒントを表示 として表示されます。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude が作業している間、スピナーにヒントが表示されます
false: Claude Code はスピナーヒントを非表示にします
デフォルト : true
{
"spinnerTipsEnabled" : false
}
`spinnerTipsOverride`
Claude Code が Claude の作業中に表示するスピナーヒント に独自のヒントを追加するか、組み込みヒントを置き換えます。Claude Code はあなたのヒントを組み込みのものと同じローテーションに入れます。最も長く表示されていないヒントを選択し、クールダウン中のヒントをスキップし、優先度でタイを破ります。
spinnerTipsEnabled を false に設定すると、Claude Code はすべてのヒント(あなたのものを含む)を非表示にします。
スコープ : 任意のファイル 。Claude Code はユーザー設定、--settings フラグ、およびマネージド設定からのヒントオブジェクト、tipsFile、label、および excludeDefault を尊重します。プロジェクトおよびローカル設定からは、プレーンな文字列ヒントのみを読み込みます。
タイプ : tips、tipsFile、label、および excludeDefault フィールドを持つオブジェクト。各フィールドはオプションです
デフォルト : 未設定。Claude Code は組み込みヒントのみを表示します
ヒントオブジェクト、tipsFile、label、およびスコープラインのルール(プロジェクトおよびローカル設定がプレーンな文字列のみを提供する)には Claude Code v2.1.247 以降が必要です。以前のバージョンでは、プロジェクトまたはローカルファイルの excludeDefault も適用されます。
各 tips エントリはプレーンな文字列またはこれらのフィールドを持つオブジェクトです:
フィールド
必須
説明
id
はい
最大 64 文字、数字、.、_、または -。Claude Code はヒントの表示履歴をキーにするため、ヒントのクールダウンはリストの並べ替えを生き残ります。同じ id を持つ 2 つのエントリのうち、Claude Code は最初のものを使用します
text
はい
ヒント、最大 500 文字の 1 行。Claude Code は ANSI エスケープと制御文字を削除し、空白を折りたたみます
cooldownSessions
いいえ
Claude Code がヒントを再度表示する前に待機するセッション数。0 から 1000。デフォルト 0
priority
いいえ
同じ期間表示されていないヒント間の順序。高い方が最初。-10 から 10。デフォルト 0
Claude Code はプレーンな文字列をこれらのデフォルトを持つヒントとして読み込むため、リストを並べ替えるときに表示履歴がリセットされます。ヒントに id を付けて、編集全体で履歴を保持します。
Claude Code は tips と tipsFile 全体で最大 200 個のヒントを読み込み、デフォルト設定ファイルを拒否する代わりに、デバッグ警告で無効なエントリを削除します。
残りのフィールドを使用して、ヒントファイルに名前を付け、プレフィックスを設定し、組み込みヒントを非表示にします:
tipsFile: ローカル JSON ファイルへの絶対パスまたは ~/ パスで、同じエントリの配列、または tips 配列を持つオブジェクトを保持します。最大 256 KB。Claude Code はプロセスごとに 1 回ファイルを読み込むため、次の起動時に編集が読み込まれます。サーバー管理設定 を通じて設定することはできません。インライン tips をそこに展開するか、オンディスク managed-settings.json にパスを展開します。
label: Claude Code がユーザー、--settings、およびマネージド設定からのヒントの前に表示するプレフィックス。最大 40 文字。デフォルトは Tip(組み込みヒントと同じプレフィックス)で、プロジェクトおよびローカル設定からのヒントは常にそれを使用します。
excludeDefault: true に設定して、組み込みヒントを非表示にし、あなたのヒントのみを表示します。Claude Code が例えば tipsFile が存在しないか、すべてのエントリが無効であるため、あなたのヒントのいずれかを読み込めない場合、空のスピナーの代わりに組み込みローテーションを保持します。
複数の設定ファイルがキーを設定する場合、Claude Code はすべてのファイルからヒントを表示し、マネージド設定、--settings フラグ、およびユーザー設定のうち、各を設定する最高優先度のものから tipsFile、label、および excludeDefault を取得します。
この例は、ユーザー設定にあり、プレーンな文字列ヒントとオブジェクトヒントを Acme tip プレフィックスの下のローテーションに追加します:
{
"spinnerTipsOverride" : {
"label" : "Acme tip" ,
"tips" : [
"Run /review before opening a PR" ,
{
"id" : "gateway-errors" ,
"text" : "Seeing 5xx errors? Check the gateway status page first" ,
"cooldownSessions" : 5,
"priority" : 2
}
]
}
}
例の各フィールドは、Claude Code がヒントを表示する方法の 1 つを変更します:
label: Claude Code は両方のヒントを Acme tip: ... として表示します。Tip: ... の代わりに。
プレーンな文字列:Claude Code はデフォルトを与えるため、次のセッションで再度表示される可能性があります。
id: Claude Code は 2 番目のヒントの表示履歴を gateway-errors にキーにするため、クールダウンはヒントの追加または並べ替え後も適用されます。
cooldownSessions: Claude Code が gateway-errors ヒントを表示した後、そのヒントを 5 セッション後まで再度表示しません。
priority: gateway-errors ヒントと別のヒントが同じ数のセッション(例えば、どちらも表示されていない場合)で表示されていない場合、Claude Code は gateway-errors を最初に表示します。プレーンな文字列はデフォルトの優先度 0 を持ちます。
Claude が作業している間、Claude Code はあなたのプレフィックス(例えば Acme tip: Run /review before opening a PR)でスピナーにあなたのヒントを表示します。
`spinnerVerbs`
ターンが進行中の間、スピナーは「Accomplishing」、「Architecting」、または「Baking」などの回転する動詞を表示します。このキーを使用して、そのローテーションに独自の動詞を追加するか、組み込みリストを置き換えます。
スコープ : 任意のファイル
タイプ : verbs 文字列の配列と mode を持つオブジェクト。以下のいずれか:
"append": Claude Code は組み込みセットにあなたの動詞を追加します
"replace": Claude Code はあなたの動詞のみを表示します
デフォルト : 未設定。Claude Code は組み込み動詞を使用します
この例は 2 つの動詞を組み込みセットに追加します:
{
"spinnerVerbs" : {
"mode" : "append" ,
"verbs" : [ "Pondering" , "Crafting" ]
}
}
"replace" モードで空の verbs 配列の場合、Claude Code は組み込み動詞を保持します。
`statusLine`
ステータスライン をプロンプトの下にレンダリングするために独自のコマンドを実行します。モデル、コスト、git ブランチなどのコンテキストを含みます。オプションのフィールドは間隔を調整し、定期的な再実行を追加し、スクリプトが vim.mode 自体をレンダリングする場合、組み込みの vim モードインジケーターを非表示にします。
スコープ : 任意のファイル 。allowManagedHooksOnly がオンの場合、または disableAllHooks がマネージド設定の外で設定されている場合、マネージド設定値のみが実行されます。
タイプ : type を "command" に設定し、command 文字列を持つオブジェクト。オプションで padding(文字数)、refreshInterval(秒数、最小 1)、および hideVimModeIndicator(ブール値)
デフォルト : 未設定。ステータスラインはありません
この例はモデル名とコンテキスト使用量を出力し、2 文字の水平間隔を追加します:
{
"statusLine" : {
"type" : "command" ,
"command" : "jq -r '\" [ \\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'" ,
"padding" : 2
}
}
この例には jq がインストールされている必要があり、シェルで実行されます。PowerShell および Git Bash の同等物については、Windows 設定 を参照してください。完全なセットアップについては、ステータスラインを手動で設定 を参照してください。
`subagentStatusLine`
Claude がサブエージェント を実行する場合、Claude Code はプロンプトの下のタスク表示にそれらをリストアップします。サブエージェントごとに 1 行。name · description · token count を表示します。このキーを使用すると、独自のコマンドを実行してそれらの行を書き直すことができます。例えば、各サブエージェントのコンテキスト使用量をパーセンテージとして表示します。各リフレッシュで、Claude Code は表示されている行を 1 つの JSON オブジェクトとして stdin に送信します。tasks 配列は各サブエージェントの id、name、status、model、tokenCount などを持ちます。書き直した各 id の行を {"id", "content"} 行として置き換えます。書き直さない行はデフォルトレンダリングを保持します。
{
"subagentStatusLine" : {
"type" : "command" ,
"command" : "jq -c '.tasks[] | {id, content: \" \\(.name): \\(.tokenCount) tokens\"}'"
}
}
サブエージェントステータスライン を参照してください。
`syntaxHighlightingDisabled`
Claude Code は、ターミナルに表示する diff、コードブロック、ファイルプレビューで、組み込みハイライターを使用して言語別にコードを色付けします。プラグインまたは言語サーバーは関与しません。このキーを true に設定して、代わりにプレーンテキストとして表示します。例えば、色がターミナルテーマと競合する場合、またはスクリーンリーダーを遅くする場合。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は diff、コードブロック、ファイルプレビューの構文ハイライトをオフにします
false: Claude Code は構文をハイライトします
デフォルト : false
{
"syntaxHighlightingDisabled" : true
}
`terminalProgressBarEnabled`
一部のターミナルは、それらで実行されているプログラムのタブまたはタスクバーに進捗インジケーターを表示できます。Claude が作業している間、Claude Code は進行中の状態をターミナルに報告するため、別のタブまたはウィンドウからセッションがまだビジーかどうかを確認できます。インジケーターは バックグラウンドサブエージェント または動的ワークフロー がまだ実行されている間、ターンが終了した後も表示されたままになり、セッションがアイドル状態になるとクリアされます。
Claude Code はインジケーターをサポートするターミナルでのみ報告します。ConEmu、Ghostty 1.2.0 以降、および iTerm2 3.6.6 以降。このキーを false に設定して、Claude Code がそれを報告するのを停止します。/config に ターミナル進捗バー として表示されます。
スコープ : 任意のファイル 。設定ファイルがそれを設定しない場合、古いバージョンの ~/.claude.json の値が適用されます。
タイプ : ブール値
true: サポートするターミナルでターミナル進捗バーが表示されます
false: Claude Code はターミナル進捗バーを非表示にします
デフォルト : true
{
"terminalProgressBarEnabled" : false
}
`terminalTitleFromRename`
Claude Code はターミナルタブのタイトルを設定します。デフォルトでは、会話から生成されたタイトルを使用し、/rename または --name でセッションに名前を付ける と、タブはその名前を代わりに表示します。このキーを false に設定して、セッションに名前を付けた後も、生成されたタイトルをタブに保持します。名前自体は引き続き適用されるため、/resume <name> とセッションピッカーはそれを見つけます。
スコープ : 任意のファイル
タイプ : ブール値
true: ターミナルタブのタイトルは設定したセッション名を表示します
false: タブは会話から生成された Claude Code のタイトルを保持します
デフォルト : true
{
"terminalTitleFromRename" : false
}
Claude Code がターミナルタイトルを更新するのを完全に停止するには、代わりに CLAUDE_CODE_DISABLE_TERMINAL_TITLE を 1 に設定します。
`theme`
インターフェースのカラーテーマを選択します。/config に テーマ として表示されます。
スコープ : 任意のファイル 。設定ファイルがそれを設定しない場合、古いバージョンの ~/.claude.json の値が適用されます。
タイプ : 文字列、以下のいずれか:
"auto": ターミナルの明るいまたは暗い背景に一致します
"dark": ダークテーマ
"light": ライトテーマ
"dark-daltonized": 色覚異常フレンドリーな色を持つダークテーマ
"light-daltonized": 色覚異常フレンドリーな色を持つライトテーマ
"dark-ansi": ターミナルの ANSI カラーパレットのみを使用するダークテーマ
"light-ansi": ターミナルの ANSI カラーパレットのみを使用するライトテーマ
"custom:<slug>" または "custom:<plugin-name>:<slug>": ~/.claude/themes/ またはプラグインからのカスタムテーマ
デフォルト : "dark"
{
"theme" : "light-daltonized"
}
カスタムテーマを作成 を参照してください。
Claude Code がインターフェースに表示する時刻の書き方を選択します。例えば、各ターン期間メッセージの終わりの done 6:05 PM とトランスクリプトビューアー のタイムスタンプ。プリセットを選択するには、/config を実行して 時間形式 を設定します。Claude Code v2.1.257 以降が必要です。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"auto": 未設定と同じです。各時刻は組み込み形式を保持します。ターン期間メッセージではロケールに従います
"12-hour": 12 時間制
"24-hour": 24 時間制
"24-hour-utc": UTC での 24 時間制。分の後に Z。例えば 18:05Z。Claude Code はこのプリセットの timeZone を無視します
"%H:%M" などの strftime パターン:Claude Code はパターンで各時刻を書き込みます。% を含む値はパターンで、プリセット外の他の値は "auto" としてカウントされます
デフォルト : "auto"
{
"timeFormat" : "24-hour"
}
/config はプリセットのみを提供するため、strftime パターンを使用するには、キーを設定ファイルに追加します。この例は各時刻を 2 桁の 24 時間制として表示します:
{
"timeFormat" : "%H:%M"
}
ターン期間メッセージとトランスクリプトビューアーは 18:05 などの時刻を表示します。トランスクリプトビューアーでは、パターンはタイムスタンプ全体であるため、日付をそこに表示したい場合は日付ディレクティブを追加します。この例は時計の前に日付を置きます:
{
"timeFormat" : "%Y-%m-%d %H:%M"
}
同じサーフェスは 2026-09-01 18:05 などの時刻を表示します。
`timeZone`
インターフェースの時刻をシステムの時刻以外のタイムゾーンで表示します。IANA タイムゾーン名 ("UTC" または "Europe/Dublin" など)に設定します。timeFormat が制御する時刻はこのゾーンで表示されます。timeFormat が "24-hour-utc" の場合、時刻は UTC のままで、Claude Code はこのキーを無視します。/config にはこのキーの行がないため、設定ファイルで設定します。Claude Code v2.1.257 以降が必要です。
スコープ : 任意のファイル
タイプ : 文字列、IANA タイムゾーン名。Claude Code が名前を認識しない場合、システムタイムゾーンを使用します
デフォルト : 未設定。時刻はシステムタイムゾーンで表示されます
{
"timeZone" : "Europe/Dublin"
}
`tui`
ターミナル UI レンダラーを選択します。ちらつきのない代替スクリーンレンダラー を使用する場合は "fullscreen" を使用します。仮想スクロールバック付き。クラシックメインスクリーンレンダラーの場合は "default" を使用します。/tui fullscreen または /tui default を実行すると、このキーが書き込まれます。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"default": クラシックメインスクリーンレンダラー
"fullscreen": ちらつきのない代替スクリーンレンダラー。仮想スクロールバック付き
デフォルト : 未設定。Claude Code はレンダラーを自動的に選択 します
セッションごとのオーバーライド : CLAUDE_CODE_NO_FLICKER と CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN はこのキーより優先されます。CLAUDE_CODE_NO_FLICKER=1 はフルスクリーンをオンにし、CLAUDE_CODE_NO_FLICKER=0 または CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 はオフにします。両方が設定されている場合、Claude Code はオフにします
{
"tui" : "fullscreen"
}
tmux -CC の下またはWindows への SSH 経由では、Claude Code は CLAUDE_CODE_NO_FLICKER=1 を設定しない限り、クラシックレンダラーを保持します。エージェントビュー から開かれたバックグラウンドセッションは、この設定に関係なく、常にフルスクリーンレンダラーを使用します。
`verbose`
デフォルトでは、トランスクリプトは各ツール呼び出しを短い要約に折りたたみます。例えば、Claude が実行したコマンドと出力の行数。詳細を表示したい場合は Ctrl+O を押して、トランスクリプト全体を展開ビューに切り替えます。このキーを true に設定して、すべてのツール呼び出しの完全な入力と出力をインラインで表示します。これは、フック、MCP サーバー、または長いシェルコマンドをデバッグするときに便利です。/config に 詳細出力 として表示されます。
スコープ : 任意のファイル 。設定ファイルがそれを設定しない場合、古いバージョンの ~/.claude.json の値が適用されます。
タイプ : ブール値
true: 完全なツール出力が表示されます
false: ツール出力の切り詰められた要約が表示されます
デフォルト : false
セッションごとのオーバーライド : --verbose はこのキーより優先されます
{
"verbose" : true
}
viewMode 値またはスティッキー /focus 選択はこのキーを毎セッション上書きします。
`viewMode`
Claude Code が開始するトランスクリプトビューを設定します。"default"、"verbose"、または "focus"。設定されている場合、スティッキー /focus 選択と verbose 設定の両方を上書きします。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"default": ツール出力が切り詰められた通常のトランスクリプト
"verbose": 完全なツール出力を持つトランスクリプト
"focus": 最後のプロンプトのみ。編集 diffstat を持つツール呼び出しの 1 行の要約。最終応答。フォーカスビューはフルスクリーンレンダラー が必要です
デフォルト : 未設定。verbose 設定と最後の /focus 選択が適用されます
セッションごとのオーバーライド : --verbose はこのキーより優先されます
{
"viewMode" : "focus"
}
`vimInsertModeRemaps`
vim エディタモード で 2 キーの INSERT モードシーケンスを Escape にマップします。各キーは正確に 2 つの印字可能文字で、順序で入力されます。"<Esc>" は唯一サポートされているターゲットです。Claude Code は他のエントリを無視します。Claude Code v2.1.208 以降が必要です。
スコープ : ユーザーまたはマネージド 。リポジトリはキーストロークを再マップできません。
タイプ : 2 文字シーケンスを "<Esc>" にマップするオブジェクト
デフォルト : 未設定
{
"vimInsertModeRemaps" : {
"jj" : "<Esc>"
}
}
editorMode が "vim" でない限り、効果がありません。INSERT モードキーシーケンスを再マップ を参照してください。Claude Code v2.1.208 以降が必要です。
`voice`
音声ディクテーション をオンにし、ディクテーションキーの動作を選択します。Claude Code は /voice を実行するときにこのオブジェクトを書き込みます。
スコープ : 任意のファイル
タイプ : enabled をブール値として、autoSubmit をホールドモードのみに適用するブール値として、および mode を以下のいずれかとして持つオブジェクト:
"hold": ディクテーションキーを押しながら話し、リリースして停止します
"tap": キーを 1 回タップして記録を開始し、もう一度タップして送信します
デフォルト : 未設定。ディクテーションはオフです。enabled が true で mode が未設定の場合、Claude Code は "hold" を使用します
この例はディクテーションをオンにし、キーを 1 回タップして記録を開始し、もう一度タップして送信するようにします:
{
"voice" : {
"enabled" : true,
"mode" : "tap"
}
}
autoSubmit はホールドモードでキーをリリースするときにプロンプトを送信します。音声ディクテーションには claude.ai アカウントが必要です。
`voiceEnabled`
voice オブジェクトの前の単一ブール値形式で音声ディクテーションをオンにします。両方が設定されている場合、voice.enabled が適用されます。
スコープ : 任意のファイル
タイプ : ブール値
true: claude.ai アカウントでログインしており、組織のポリシーが音声を許可している場合、音声ディクテーションはオンです。voice.enabled が設定されていない限り
false: 音声ディクテーションはオフです。voice.enabled が設定されていない限り
デフォルト : 未設定
{
"voiceEnabled" : true
}
フルスクリーンレンダリング での高速スクロール中にマウスホイールスクロール速度を加速します。ホイールノッチごとに一定のスクロール速度を使用するには false に設定します。Claude Code v2.1.174 以降が必要です。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は高速スクロール中にマウスホイールスクロール速度を加速します
false: Claude Code はホイールノッチごとに一定の速度でスクロールします
デフォルト : true
{
"wheelScrollAccelerationEnabled" : false
}
Claude Code v2.1.174 以降が必要です。
Git とアトリビューション
Claude Code がコミットとプルリクエストに追加するアトリビューションを制御し、git との連携方法を設定します。
`attribution`
Claude Code が git コミットとプルリクエストに追加するアトリビューションをカスタマイズします。コミットはデフォルトで Co-Authored-By などの git トレーラー を取得します。プルリクエストの説明はプレーンテキストを取得します。以下のサブキーを使用して各部分を個別に設定します。
スコープ : Any file
タイプ : commit と pr 文字列および sessionUrl ブール値を含むオブジェクト
デフォルト : 未設定。Claude Code は各サブキーの下に表示される標準アトリビューションを使用します
この例はコミットアトリビューションを置き換え、プルリクエストアトリビューションを削除し、セッションリンクを削除します。
{
"attribution" : {
"commit" : "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>" ,
"pr" : "" ,
"sessionUrl" : false
}
}
すべてのアトリビューションを非表示にするには、commit と pr を空の文字列に設定し、sessionUrl を false に設定します。commit または pr を設定すると、Claude Code は非推奨の includeCoAuthoredBy 設定を無視し、設定しなかった方のデフォルトテキストを使用します。
`includeCoAuthoredBy`
このキーを置き換える attribution を代わりに使用してください。これにより、コミットトレーラー、プルリクエストテキスト、セッションリンクを個別に変更または非表示にできます。Claude Code は attribution より前の設定ファイルからの includeCoAuthoredBy: false を引き続き尊重しますが、attribution.commit または attribution.pr を設定すると無視します。
スコープ : Any file
タイプ : ブール値
true: 未設定と同じ。Claude Code はコミットトレーラーとプルリクエストアトリビューションテキストを追加します
false: Claude Code はコミットトレーラーとプルリクエストアトリビューションテキストの両方を省略します。ただし、attribution が commit または pr を設定する場合は、attribution ルールが適用されます
デフォルト : true
{
"includeCoAuthoredBy" : false
}
すべてのアトリビューションを今すぐ非表示にするには、attribution.commit と attribution.pr を空の文字列に設定し、attribution.sessionUrl を false に設定します。
`includeGitInstructions`
セッション開始時に、Claude Code は git 関連の 2 つの部分を Claude のプロンプトに追加します。Bash ツールの説明にあるコミットとプルリクエストの書き方に関する組み込み命令と、システムプロンプトのリポジトリの git ステータススナップショット(現在のブランチ、メインブランチ、git status 出力、最近のコミット)です。このキーを false に設定して両方を除外します。例えば、独自の git ワークフロースキルを使用する場合などです。
スコープ : Any file
タイプ : ブール値
true: Claude Code は組み込みのコミットおよびプルリクエストワークフロー命令と git ステータススナップショットを含めます。クラウドセッションはスナップショットを含めません
false: Claude Code は両方を除外します
デフォルト : true
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS はこのキーより優先されます(1 セッション)
{
"includeGitInstructions" : false
}
`prUrlTemplate`
Claude Code がレンダリングする PR リンク(フッターバッジとツール結果サマリー内)を github.com の代わりに内部コードレビューツールに指定します。Claude Code は PR URL から {host}、{owner}、{repo}、{number}、{url} を置き換えます。両方のサーフェス上の GitLab マージリクエスト リンクは GitLab URL を保持します。
スコープ : Any file
タイプ : 文字列。5 つのプレースホルダーのいずれかを使用する URL テンプレート
デフォルト : 未設定
{
"prUrlTemplate" : "https://reviews.example.com/{owner}/{repo}/pull/{number}"
}
Claude Code はそれ自体がレンダリングするリンクにのみテンプレートを適用します。Claude がメッセージに書き込む PR 番号(#123 など)は Claude が書き込んだままです。/pull/<number> の形状を持たない URL は変更されません。
`attribution.commit`
Claude Code が git コミットに追加するアトリビューションテキスト(トレーラーを含む)を設定します。コミットアトリビューションを非表示にするには、空の文字列に設定します。
スコープ : Any file
タイプ : 文字列
デフォルト : 未設定。Claude Code は Co-Authored-By: <name> <noreply@anthropic.com> を追加します。名前はセッションのアクティブなモデル(Claude Sonnet 5 など)です。
Claude Code がモデルを Claude モデルとして認識しているが、その正確なバージョンを確認できない場合、Claude のみを書き込みます。
モデル ID をカスタム ANTHROPIC_BASE_URL を通じて提供されるサードパーティモデルなど、Claude モデルと一致させることができない場合、Claude Code を書き込みます。
この例はデフォルトトレーラーをカスタム行とカスタム Co-Authored-By トレーラーに置き換えます。
{
"attribution" : {
"commit" : "Generated with AI\n\nCo-Authored-By: AI <ai@example.com>"
}
}
`attribution.pr`
Claude Code がプルリクエストの説明に追加するアトリビューションテキストを設定します。プルリクエストアトリビューションを非表示にするには、空の文字列に設定します。
スコープ : Any file
タイプ : 文字列
デフォルト : 未設定。Claude Code は 🤖 Generated with [Claude Code](https://claude.com/claude-code) を追加します
{
"attribution" : {
"pr" : ""
}
}
`attribution.sessionUrl`
Claude Code が クラウド または Remote Control セッションからコミットするか、プルリクエストを開くときに claude.ai セッションリンクを追加するかどうかを選択します。Claude Code はコミット上に Claude-Session トレーラーとしてリンクを追加し、プルリクエストの説明にリンクとして追加します。リンクを省略するには false に設定します。
スコープ : Any file
タイプ : ブール値
true: Claude Code はクラウドまたは Remote Control セッションからコミットするか、プルリクエストを開くときに claude.ai セッションリンクを追加します
false: Claude Code はリンクを省略します
デフォルト : true
{
"attribution" : {
"sessionUrl" : false
}
}
フック と自動化
フックを登録し、実行するフックを制限し、ワークフローを制御します。フックイベントとペイロードについては、フックリファレンス を参照してください。
`allowedHttpHookUrls`
HTTP フック がターゲットできる URL を制限します。このキーを定義すると、Claude Code は HTTP フックを実行するのはその URL がパターンの 1 つと一致する場合のみで、残りはブロックして実行しません。空の配列はすべての HTTP フックをブロックします。
スコープ : Any file 。配列は設定ファイル全体でマージされます。
型 : URL パターンの配列。ワイルドカード として * を使用
デフォルト : 未設定。任意の URL が許可されます
この例は https://hooks.example.com/ 下のすべての URL と任意の http://localhost URL を許可します:
{
"allowedHttpHookUrls" : [ "https://hooks.example.com/*" , "http://localhost:*" ]
}
ホスト名マッチングは大文字と小文字を区別せず、完全修飾ドメイン名を示す末尾のドット付きの hooks.example.com. を hooks.example.com と同じように扱います。これは DNS の扱い方と同じです。許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。
`allowManagedHooksOnly`
フック実行を組織がデプロイするフックに制限します。
スコープ : Managed
型 : ブール値
デフォルト : 未設定。すべての設定スコープとプラグインからのフックが実行されます
{
"allowManagedHooksOnly" : true
}
`allowManagedHooksOnly` 下で実行されるもの
これを true に設定すると、Claude Code はどのフックとフック類似コマンドをロードするかを変更します:
管理フックと SDK フックが実行されます : 管理設定からのフックと Agent SDK がプロセス内で登録するフック
強制有効プラグインフックが実行されます : 管理設定が enabledPlugins を通じて強制有効にするプラグインからのフック。Claude Code は完全な plugin@marketplace ID でマッチするため、別のマーケットプレイスからの同じ名前のプラグインはブロックされたままです。これにより、組織マーケットプレイスを通じて検証済みフックを配布しながら、その他すべてをブロックできます
その他すべてはブロックされます : ユーザー、プロジェクト、ローカルフック、他のプラグインからのフック、エージェント frontmatter で宣言されたフック
コマンドソースプラグインは無効になります : Claude Code は command ソース を持つプラグイン(管理 enabledPlugins で強制有効にされたプラグインを含む)も無効にします。ただし、disableCommandPluginSources を明示的に false に設定した場合を除きます
マーケットプレイス headersHelper コマンドはブロックされます : Claude Code はマーケットプレイス headersHelper コマンド もブロックします。ただし、disableCommandPluginSources が明示的に false に設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です
ステータスラインとファイル提案は管理設定に絞られます : Claude Code は statusLine 、fileSuggestion 、subagentStatusLine を管理設定からのみ読み込みます。ステータスラインとファイル提案ゲート に従います
このキーが設定されている間、/goal コマンドは実行できません。これはフックに依存しているためです。
`disableAllHooks`
フック 、カスタム ステータスライン 、カスタム ファイル提案 コマンドをオフにします。これらを設定から削除せずに一時的にオフにするために使用します。
スコープ : Any file 。管理設定のみが管理フックを無効にできます。
型 : ブール値
true: Claude Code はフック、カスタムステータスライン、カスタムファイル提案コマンドをオフにします
false: フック、ステータスライン、ファイル提案コマンドが実行されます
デフォルト : 未設定。フックが実行されます
{
"disableAllHooks" : true
}
到達範囲はキーを持つファイルによって異なります:
管理設定内 : Claude Code はすべての設定済みフック(管理フックを含む)を無効にし、Agent SDK がプロセス内で登録するフックは実行し続けます
他の設定ファイル内 : Claude Code はユーザー、プロジェクト、ローカル、プラグインフックを無効にします。管理フック、Agent SDK フック、管理 enabledPlugins で強制有効にされたプラグインからのフックは実行し続けます
管理設定がこのキーを設定している場合に Agent SDK フックを実行し続けるには、Claude Code v2.1.242 以降が必要です。
フックが無効な間、/goal コマンドは実行できず、/hooks メニューはフックの代わりに通知を表示します。
ステータスラインとファイル提案ゲート
Claude Code は statusLine、fileSuggestion、subagentStatusLine について、この順序で 2 つの決定を行います:
完全にオフ : 管理設定が disableAllHooks を設定している場合、またはフォルダが設定ファイル内のフックと同じ ワークスペーストラストルール の下で信頼されていない場合
管理設定に絞られます : allowManagedHooksOnly が設定されている場合、設定優先度 が適用された後に管理設定外で disableAllHooks が true である場合、または --safe-mode で Claude Code を起動した場合
絞られた場合 : Claude Code はデプロイされた管理値があれば実行します。そうでない場合は警告なしに値をスキップします: ステータスラインは無効になり、@ オートコンプリートは組み込みファイル提案にフォールバックします。
`disableWorkflows`
動的ワークフロー と、管理設定を通じた組織など、設定が到達するすべてのユーザーのためのバンドルワークフローコマンドをオフにします。自分自身のためだけにワークフローをオンまたはオフにするには、代わりに enableWorkflows を使用してください。これは /config の Dynamic workflows トグルが書き込みます。
スコープ : Any file
型 : ブール値
true: Claude Code は動的ワークフローと、設定が到達するすべてのユーザーのためのバンドルワークフローコマンドをオフにします
false: 未設定と同じです。ワークフローがオンかどうかは enableWorkflows とプランのデフォルトに従います
デフォルト : false
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_WORKFLOWS は 1 つのセッションのワークフローをオフにします。2 つのうちどちらがオフにするかに関わらず、もう一方はオンに戻すことはできません
{
"disableWorkflows" : true
}
`enableWorkflows`
プランのデフォルトが望むものでない場合、自分自身のために 動的ワークフロー をオンまたはオフにします。/config に Dynamic workflows として表示され、このキーをユーザー設定に書き込み、プランのデフォルトに戻すときに再度削除します。管理設定からすべてのユーザーのためにワークフローをオフにするには、代わりに disableWorkflows を使用してください。
スコープ : Any file
型 : ブール値
true: Claude Code は動的ワークフローをオンにします
false: Claude Code は動的ワークフローをオフにします
デフォルト : 未設定。ワークフローはオンです。ただし Pro プランではオフです
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_WORKFLOWS は 1 つのセッションのワークフローをオフにし、ここで true はそれが設定されている間はワークフローをオンに戻すことはできません
{
"enableWorkflows" : true
}
disableWorkflows と組織のワークフローポリシーも優先されます: enableWorkflows: true はいずれかのソースがワークフローをオフにしている間はワークフローをオンに戻すことはできません。Claude Code は、ユーザー設定以外のソースが enableWorkflows を設定している場合、または disableWorkflows を true に設定している場合、/config 行を非表示にします。
`hooks`
Claude Code のライフサイクルの特定の時点(ツール呼び出しの前やセッション開始時など)で、フック として独自のコマンド、プロンプト、エージェント、HTTP リクエスト、または MCP ツールを実行します。フックリファレンス はすべてのイベント、ペイロード、終了コードをリストします。各イベントはマッチャーグループのリストにマップされ、各グループはマッチャーが適用されるときに実行するハンドラーをリストします。
スコープ : Any file 。フックはファイル全体でマージされ、管理設定からのフックは他のファイルから削除できません。
型 : フックイベント でキー付けされたオブジェクト。各値は "command"、"prompt"、"agent"、"http"、または "mcp_tool" の type を持つ { "matcher", "hooks" } グループの配列
デフォルト : 未設定。フックは実行されません
この例はすべての Bash ツール呼び出しの前にスクリプトを実行します:
{
"hooks" : {
"PreToolUse" : [
{
"matcher" : "Bash" ,
"hooks" : [
{ "type" : "command" , "command" : "~/.claude/hooks/check-bash.sh" }
]
}
]
}
}
すべてのイベント、マッチャーパターン、ハンドラーフィールドについては、フックリファレンス を参照してください。フックをオフにするには、disableAllHooks を参照してください。フックを組織がデプロイするものに制限するには、allowManagedHooksOnly を参照してください。
`httpHookAllowedEnvVars`
HTTP フック は環境変数の値をリクエストヘッダーに入れることができます。例えば Authorization: Bearer $HOOK_TOKEN ヘッダーですが、フックが独自の allowedEnvVars でリストしている変数のみです。このキーはすべての HTTP フックのそのリストに外側の制限を設定します: フックは変数を使用できるのは、独自の allowedEnvVars とこのキーの両方がそれを名前付けしている場合のみです。フックの定義がそれを要求している場合でも、フックが読むべきではないシークレットを読むのを防ぐために使用します。
スコープ : Any file 。配列は設定ファイル全体でマージされます。
型 : 環境変数名の配列
デフォルト : 未設定。各フック独自の allowedEnvVars リストが適用されます
この例はヘッダー補間を MY_TOKEN と HOOK_SECRET に制限します:
{
"httpHookAllowedEnvVars" : [ "MY_TOKEN" , "HOOK_SECRET" ]
}
許可リストはすべてのソースからのフック(管理設定を含む)に適用されます。
`workflowKeywordTriggerEnabled`
プロンプトでキーワード ultracode を入力することが 動的ワークフロー をトリガーするかどうかを選択します。false に設定して、トリガーなしで単語を入力します。
スコープ : Any file 。/config に Ultracode keyword trigger として表示されます。
型 : ブール値
true: プロンプトで ultracode を入力すると動的ワークフローがトリガーされます
false: トリガーなしで単語を入力できます
デフォルト : true
{
"workflowKeywordTriggerEnabled" : false
}
ultracode 努力設定、/workflows、保存されたワークフローコマンドは影響を受けません。
`workflowSizeGuideline`
動的ワークフローが書き込む エージェント数 Claude が目指す を設定します。Claude Code は値を Claude に助言として送信します。強制的な上限ではありません: "small" は 5 未満のエージェントを要求し、"medium" は 15 未満、"large" は 50 未満です。ワークフローが費やすものを制限したい場合は "small" を選択します。Claude Code v2.1.219 以降が必要です。
スコープ : Any file 。そこの値は /config の Dynamic workflow size 選択肢より優先されます。Claude Code は ~/.claude.json に保存します。設定ファイルがキーを設定している間、Claude Code はその行を非表示にします。
型 : 文字列。以下のいずれか:
"unrestricted": ガイドラインなし。Claude はワークフローをタスクにサイズします
"small": Claude は 5 未満のエージェントを目指します
"medium": Claude は 15 未満のエージェントを目指します
"large": Claude は 50 未満のエージェントを目指します
デフォルト : "medium"
{
"workflowSizeGuideline" : "small"
}
Claude Code v2.1.219 以降が必要です。v2.1.202 から v2.1.218 では、代わりに /config でガイドラインを設定します。
プラグインとスキル
プラグインを有効にし、マーケットプレイスを登録し、組織が許可するプラグインソースを制限し、どのスキルを読み込むかを制御します。プラグインのインストールとビルドについては、プラグイン を参照してください。
`disableBundledSkills`
Claude Code に含まれているスキル とワークフローをオフにします。Claude Code はバンドルされたスキルとワークフローを完全に削除し、/init などの組み込みコマンドは入力可能なままですがモデルから非表示になります。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code はバンドルされたスキルとワークフローを削除し、/init などの組み込みコマンドをモデルから非表示にします
false: バンドルされたスキルが読み込まれます
デフォルト : 未設定の場合、バンドルされたスキルが読み込まれます
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_BUNDLED_SKILLS を1に設定すると、1 つのセッションでバンドルされたスキルがオフになります。2 つのうちどちらかがオフにすると、もう一方はオンに戻すことができません
{
"disableBundledSkills" : true
}
プラグインからのスキル、.claude/skills/、および.claude/commands/からのスキルは影響を受けません。/doctorは組み込みコマンドと同様に入力可能なままです。非表示にするには、代わりにDISABLE_DOCTOR_COMMAND を設定してください。
`disableSkillShellExecution`
スキル およびユーザー、プロジェクト、プラグイン、または追加ディレクトリソースからのカスタムコマンドの!`...`および```!ブロック内のインラインシェル実行をオフにします。Claude Code は各コマンドを実行する代わりに[shell command execution disabled by policy]に置き換えます。
スコープ : 任意のファイル 。マネージド設定のtrueは他の場所のfalseでオーバーライドできません。
タイプ : ブール値
true: Claude Code は各インラインシェルコマンドを実行する代わりに[shell command execution disabled by policy]に置き換えます
false: インラインシェルが実行されます
デフォルト : 未設定の場合、インラインシェルが実行されます
{
"disableSkillShellExecution" : true
}
バンドルされたスキルおよびマネージド設定を通じてデプロイされたスキルは影響を受けません。
`skillOverrides`
スキル のSKILL.mdを編集せずに非表示にしたり折りたたんだりします。Claude Code は各スキルの名前の下の値をスキルリストと/オートコンプリートに適用します。
スコープ : 任意のファイル 。/skillsメニューは.claude/settings.local.jsonに書き込みます。
タイプ : スキル名を次のいずれかにマッピングするオブジェクト:
"on": Claude はスキルを表示し、/nameを入力できます
"name-only": Claude はスキルを説明なしで名前で表示します
"user-invocable-only": Claude はスキルを表示しませんが、/nameを入力できます
"off": Claude はスキルを表示せず、/nameはオートコンプリートから非表示になります
デフォルト : 未設定の場合、すべてのスキルが"on"です
この例はlegacy-contextを Claude に名前のみで表示し、deployを Claude と/オートコンプリートから非表示にします:
{
"skillOverrides" : {
"legacy-context" : "name-only" ,
"deploy" : "off"
}
}
オーバーライドはプラグインスキルには適用されません。プラグインスキルは/pluginで管理します。
マネージド設定および--settingsで渡されたファイルでは、/doctorのcheckupなどのバンドルされたスキルのエイリアスのキーも、スキル自体の名前のキーに適用されます。エイリアスキーがスキル自体の名前のキーとどのように組み合わされるか を参照してください。
`syncClaudeAiSkills`
claude.ai で有効にするスキル のダウンロードをオフにします。Claude Code は-pフラグとCLAUDE_CODE_SYNC_SKILLS が設定された非対話モード で実行するときに、~/.claude/skills/synced/にダウンロードします。falseに設定して、そのダウンロードを停止し、既に同期したスキルを非表示にします。Claude Code はfalseのみを受け入れます。trueは未設定と同じで、同期をオンにしません。
スコープ : ユーザー、ローカル、またはマネージド 。リポジトリはそれをオフにすることはできません。
タイプ : ブール値
false: Claude Code は同期されたスキルのダウンロードを停止し、~/.claude/skills/synced/にあるスキルを非表示にします。ユーザーまたはマネージド設定では、~/.claude/skills/.trash/に移動します
true: 未設定と同じです
デフォルト : 未設定の場合、CLAUDE_CODE_SYNC_SKILLSが設定された非対話実行はスキルをダウンロードします
この例は、セッションが環境で設定するものに関係なく、マシンがアカウントのスキルをダウンロードするのを防ぎます:
{
"syncClaudeAiSkills" : false
}
`allowedChannelPlugins`
チャネル プラグインが組織内のセッションにメッセージをプッシュできるチャネル プラグインを選択します。設定すると、Claude Code はデフォルトの Anthropic 許可リストの代わりにリストを使用します。各エントリはプラグインとそれが由来するマーケットプレイスに名前を付けます。
スコープ : マネージド
タイプ : marketplaceとplugin文字列を持つオブジェクトの配列。エントリは代わりに"telegram@claude-plugins-official"などの"plugin@marketplace"文字列である可能性があり、Claude Code はそれを同等のオブジェクトとして扱います。文字列形式には Claude Code v2.1.267 以降が必要です。以前のバージョンは、1 つが含まれている場合、全体のallowedChannelPlugins値を拒否します
デフォルト : 未設定の場合、Claude Code はデフォルトの Anthropic 許可リストを使用します
この例はチャネルをオンにし、公式 Anthropic マーケットプレイスからの Telegram プラグインのみを許可します:
{
"channelsEnabled" : true,
"allowedChannelPlugins" : [
{ "marketplace" : "claude-plugins-official" , "plugin" : "telegram" }
]
}
空の配列はすべてのチャネルプラグインをブロックします。
このキーは、チャネルがアカウントのchannelsEnabled ゲートを通過した後に有効になります。Team および Enterprise プラン、およびマネージド設定を持つ Console アカウントでは、channelsEnabled: trueを意味します。チャネルプラグインの実行を制限する を参照してください。
`blockedMarketplaces`
組織のプラグインマーケットプレイスソースをブロックします。Claude Code はマーケットプレイスの追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時にブロックリストをチェックするため、ポリシーを設定する前に誰かが追加したマーケットプレイスは、プラグインをフェッチするために使用することはできません。ブロックされたソースはダウンロード前にチェックされるため、ファイルシステムに触れることはありません。
この例は、1 つの GitHub リポジトリをマーケットプレイスソースとしてブロックします:
{
"blockedMarketplaces" : [
{ "source" : "github" , "repo" : "untrusted/plugins" }
]
}
GitHub エントリはオーナーワイルドカード形式 "owner/*"を使用して、その GitHub オーナーの下のすべてのリポジトリをブロックできます。これには Claude Code v2.1.223 以降が必要です。{ "source": "skills-dir" }を追加して、Claude Code が~/.claude/skills/から@skills-dirプラグイン を読み込むのを停止し、マーケットプレイスを制限しません。マネージドマーケットプレイス制限 を参照してください。
`channelsEnabled`
組織のチャネル を許可します。claude.ai Team および Enterprise プランでは、これをtrueに設定するまで Claude Code はチャネルをブロックします。API キーで認証するAnthropic Console アカウントの場合、チャネルはデフォルトで許可されます。組織がマネージド設定をデプロイする場合、Claude Code はこのキーをtrueに設定するまで、これらのアカウントのチャネルもブロックします。
スコープ : マネージド
タイプ : ブール値
true: Claude Code は組織のチャネルを許可します
false: 未設定と同じです。チャネルがブロックされるかどうかはプランによって異なります。デフォルトを参照してください
デフォルト : 未設定。チャネルは Team および Enterprise プランおよびマネージド設定を持つ Console アカウントでブロックされ、Pro および Max プランおよびマネージド設定のない Console アカウントで許可されます
{
"channelsEnabled" : true
}
有効になったら、どのプラグインがチャネルとして登録できるかを制限するには、allowedChannelPlugins を設定します。エンタープライズコントロール を参照してください。
`disableCommandPluginSources`
commandプラグインソース をブロックします。これはユーザーのマシンでマーケットプレイス宣言コマンドを実行してプラグインをインストールします。これをtrueに設定すると、Claude Code はコマンドを実行せず、コマンドソースプラグインをインストールまたは更新せず、既にインストールされているものの読み込みを停止します。falseに設定して明示的に許可します。コマンドソースをブロックするときはいつでも、trueに設定するかallowManagedHooksOnly の下で未設定のままにするかに関わらず、マーケットプレイスheadersHelperコマンド もブロックします。ただし、マネージド設定自体が宣言するマーケットプレイスは除きます。Claude Code v2.1.229 以降が必要で、headersHelperブロックには v2.1.238 以降が必要です。
スコープ : マネージド
タイプ : ブール値
true: Claude Code はマーケットプレイス宣言コマンドを実行せず、コマンドソースプラグインをインストールまたは更新せず、既にインストールされているものの読み込みを停止します
false: Claude Code はコマンドソースプラグインを明示的に許可します
デフォルト : 未設定の場合、Claude Code はallowManagedHooksOnly に従います。フック実行をマネージド設定に制限する組織はコマンドソースも無効になります
{
"disableCommandPluginSources" : true
}
Claude Code v2.1.229 以降が必要です。
`pluginSuggestionMarketplaces`
スピナーチップおよび/pluginDiscover タブの上部に固定されたコンテキストインストール提案として表示できるプラグインのマーケットプレイスに名前を付けます。組み込みのファーストパーティフロントエンド設計チップは影響を受けません。提案は各プラグインのマーケットプレイスエントリのrelevance宣言から来ます。
スコープ : マネージド
タイプ : マーケットプレイス名の配列
デフォルト : 未設定の場合、マーケットプレイス宣言提案は表示されません
{
"pluginSuggestionMarketplaces" : [ "acme-corp-plugins" ]
}
名前は、マーケットプレイスがマシンに登録され、その登録されたソースが同じマネージド設定でも宣言されている場合にのみ有効になります。その名前のextraKnownMarketplaces エントリとして、またはstrictKnownMarketplaces のエントリとして。Claude Code は、許可リストされた名前の下で別のソースから登録されたマーケットプレイスを無視します。公式マーケットプレイスはソース要件から除外されます。その名前のみを許可リストすれば十分です。その名前は公式 Anthropic ソースからのみ登録できるためです。コンテキストでプラグインを提案する を参照してください。
`pluginTrustMessage`
インストール前に Claude Code が表示するプラグイン信頼警告に、組織独自のテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。
スコープ : マネージド
タイプ : 文字列
デフォルト : 未設定の場合、Claude Code は標準警告のみを表示します
{
"pluginTrustMessage" : "All plugins from our marketplace are approved by IT"
}
`strictKnownMarketplaces`
組織内のユーザーが追加およびインストールできるプラグインマーケットプレイスソースを制限します。Claude Code はマーケットプレイスの追加時およびプラグインのインストール、更新、リフレッシュ、自動更新時に許可リストを強制します。ネットワークまたはファイルシステム操作の前に、ポリシーを設定する前に誰かが追加したマーケットプレイスは、そのソースが一致しなくなったら使用できません。ブロックされたユーザーはマネージドポリシーに名前を付けるエラーを表示します。
スコープ : マネージド
タイプ : マーケットプレイスソースオブジェクトの配列。許可されたソースタイプ を参照してください
デフォルト : 未設定の場合、ユーザーは任意のマーケットプレイスを追加できます。空の配列は、公式 Anthropic マーケットプレイスを含むすべてのマーケットプレイスソースをブロックする完全なロックダウンです
この例は、2 つの GitHub リポジトリを許可します。1 つはv2.0ref に固定され、もう 1 つはホストされたmarketplace.json URL です:
{
"strictKnownMarketplaces" : [
{ "source" : "github" , "repo" : "acme-corp/approved-plugins" } ,
{ "source" : "github" , "repo" : "acme-corp/security-tools" , "ref" : "v2.0" } ,
{ "source" : "url" , "url" : "https://plugins.example.com/marketplace.json" }
]
}
このキーをallowedMarketplacesとして書くこともできます。マーケットプレイスキーエイリアス は、Claude Code がエイリアスをどのように扱うか、およびどのバージョンがそれを受け入れるかについて説明しています。このキーはポリシーゲートです。ユーザーが追加できるものを制御しますが、何も登録しません。制限と事前登録を 1 つのファイルで行うには、extraKnownMarketplacesと組み合わせる を参照してください。ユーザー向けビューについては、マネージドマーケットプレイス制限 を参照してください。
許可されたソースタイプ
以下の各エントリは、ソースタイプごとに 1 つの許可リストエントリと、それが受け入れるフィールドを示しています。ほとんどのタイプは正確に一致します。hostPatternとpathPatternは正規表現で一致し、githubエントリはオーナーワイルドカード を使用できます。
ソース
エントリ例
フィールド
github
{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }
repoは必須。refはブランチまたはタグ。pathはサブディレクトリ
git
{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }
urlは必須。refとpathはgithubと同じ
url
{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }
urlは必須。headersは認証アクセス用の HTTP ヘッダーを追加します
npm
{ "source": "npm", "package": "@acme-corp/claude-plugins" }
packageは必須。marketplace.jsonを含む npm パッケージ
file
{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }
pathは必須。marketplace.jsonファイルへの絶対パス
directory
{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }
pathは必須。.claude-plugin/marketplace.jsonを含むディレクトリへの絶対パス
hostPattern
{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }
hostPatternは必須。マーケットプレイスホストに対して一致する正規表現
pathPattern
{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }
pathPatternは必須。fileおよびdirectoryソースのpathに対して一致する正規表現
skills-dir
{ "source": "skills-dir" }
フィールドなし。~/.claude/skills/プラグインスキャンをオプトインします
3 つのソースタイプはテーブルを超えたルールを持ちます:
url : URL マーケットプレイスはmarketplace.jsonファイルのみをダウンロードし、Claude Code はそのサーバーから相対パスでプラグインファイルをフェッチしないため、プラグインは相対パス以外のプラグインソース を使用する必要があります。たとえば、同じホストにある可能性があるアーカイブ URL。相対パスを持つプラグインの場合は、代わりに Git ベースのマーケットプレイスを使用してください。相対パスを持つプラグインが URL ベースのマーケットプレイスで失敗する を参照してください。
hostPattern : これを使用して、各リポジトリをリストせずに、内部 GitHub Enterprise または GitLab サーバー上のすべてのマーケットプレイスを許可します。Claude Code はgithubソースをgithub.comに対して一致させ、urlソースからホスト名を取得し、git URL の形式に応じてgitソースから取得します:
https://またはssh://などのスキーム付き URL: URL のホスト名。
スキームなしの SSH アドレス。git のuser@host:path形式。例:git@git.example.com:tools/plugins.git: @と:の間のホスト。これは git が接続するホストです。
スキームなしの他の形式: ホストなし。strictKnownMarketplaces``hostPatternエントリは一致しません。blockedMarketplaces``hostPatternの場合、Claude Code はより広い形式のセットからホストを取得するため、ブロックリストエントリはそのような形式と一致する可能性があります。v2.1.234 より前では、strictKnownMarketplaces``hostPatternも git が SSH アドレスとして扱わない一部の形式と一致していました。
fileおよびdirectoryソースにはホストがなく、hostPatternエントリと一致しません。
pathPattern : これを使用して、ネットワークソースのhostPatternエントリと共にファイルシステムマーケットプレイスを許可します。".*"はすべてのローカルパスを許可します。"^/opt/approved/"などのより狭いパターンはディレクトリに制限します。
空の配列を含むすべての許可リストは、Claude Code が~/.claude/skills/から@skills-dirプラグイン を読み込むのも停止します。{ "source": "skills-dir" }エントリを追加して、それらの読み込みを続けます。エントリはこのキーとblockedMarketplacesの外では意味がありません。
オーナーワイルドカード
そのrepo値が"<owner>/*"であるgithubエントリは、その GitHub オーナーの下のすべてのリポジトリと一致します。オーナーワイルドカードには Claude Code v2.1.223 以降が必要で、strictKnownMarketplacesとblockedMarketplacesでのみ機能します。githubソースが表示される他の場所。例:extraKnownMarketplacesまたは/plugin marketplace add。repo値は単一のリポジトリに名前を付ける必要があります。v2.1.223 より前では、Claude Code はエントリを文字通り比較したため、許可リストエントリはリポジトリと一致せず、ブロックリストエントリは何もブロックしませんでした。単一リポジトリエントリはすべてのバージョンで強制されます。
このエントリはacme-corp組織内のマーケットプレイスリポジトリを許可します:
{
"strictKnownMarketplaces" : [
{ "source" : "github" , "repo" : "acme-corp/*" }
]
}
リポジトリ名の位置全体のみがワイルドカードになります。Claude Code は*、*/plugins、またはacme-corp/tools-*などのエントリを文字通り比較するため、リポジトリと一致しません。
マッチングルールは 2 つの設定間で異なります:
ルール
strictKnownMarketplaces
blockedMarketplaces
マッチングソーススペリング
owner/repo形式のみ。同じリポジトリをクローンする git URL は一致しません
github.comリポジトリに解決する git URL を含む任意のスペリング
オーナーケース
正確なエントリマッチングのように大文字と小文字を区別します
大文字と小文字を区別しません
ref
正確なエントリルールに従います。refを持つエントリはその正確な ref を持つソースのみと一致し、1 つを持たないエントリは ref を指定しないソースのみと一致します
refを持たないエントリは、一致するリポジトリのすべての ref をブロックします
path
正確なエントリルールより緩い: pathを持つエントリはその正確な値を必要とし、1 つを持たないエントリはリポジトリ内の任意のパスと一致します
pathを持たないエントリは、一致するリポジトリのすべてのパスをブロックします
正確なマッチング
オーナーワイルドカードgithubエントリと正規表現でマッチングされたhostPatternおよびpathPatternエントリを除くすべてのソースタイプについて、Claude Code はユーザーの追加をマーケットプレイスソースがエントリと正確に一致する場合にのみ許可します。git ベースのソースgithubおよびgitの場合、正確なマッチングはオプションフィールドを含みます:
repoまたはurlは正確に一致する必要があります
refフィールドは正確に一致する必要があります。または両方が未定義です
pathフィールドは正確に一致する必要があります。または両方が未定義です
たとえば、Claude Code は以下の各ペアを 2 つの異なるソースとして扱います:
{ "source": "github", "repo": "acme-corp/plugins" }および{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }
{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }および{ "source": "github", "repo": "acme-corp/plugins" }
公式マーケットプレイスのみを許可する
公式 Anthropic マーケットプレイスのみを許可し、他は何も許可しないようにするには、そのリポジトリをリストします:
{
"strictKnownMarketplaces" : [
{ "source" : "github" , "repo" : "anthropics/claude-plugins-official" }
]
}
このエントリを使用すると、Claude Code は既に登録されている公式マーケットプレイスを利用可能に保ち、新しいマシンでは、最初に対話的に Claude Code を起動するときにマーケットプレイスを自動的に登録します。自動登録は最も一般的に以下を見逃します:
マシンの最初の対話的起動の前に実行される非対話環境。
Claude Code が既に、マーケットプレイスをブロックするポリシー下で対話的に実行されたマシン。例えば、空の配列ロックダウン。Claude Code はブロックされた試行を記録し、ポリシーが変更された後は再試行しません。
これらのマシンでは、同じmanaged-settings.jsonのextraKnownMarketplaces にマーケットプレイスを追加して、Claude Code が自動的に登録するようにするか、claude plugin marketplace add anthropics/claude-plugins-officialを実行してください。
2 つのキーは異なるジョブを実行します。この表はそれらを比較します:
側面
strictKnownMarketplaces
extraKnownMarketplaces
目的
組織ポリシー強制
チーム便宜
設定ファイル
マネージド設定のみ
任意の設定ファイル
動作
許可リストされていない追加をブロック
不足しているマーケットプレイスを登録
強制される時期
ネットワークおよびファイルシステム操作の前
ユーザーまたはマネージド設定からすぐに。リポジトリのファイルのワークスペース信頼ダイアログの後
オーバーライド可能
いいえ。最高の優先度
はい。より高い優先度の設定による
ソース形式
直接ソースオブジェクト
ネストされたsourceオブジェクトを持つ名前付きマーケットプレイス
すべてのユーザーのマーケットプレイスを制限および事前登録するには、managed-settings.jsonの両方を設定します:
{
"strictKnownMarketplaces" : [
{ "source" : "github" , "repo" : "acme-corp/plugins" }
] ,
"extraKnownMarketplaces" : {
"acme-tools" : {
"source" : { "source" : "github" , "repo" : "acme-corp/plugins" }
}
}
}
strictKnownMarketplacesのみが設定されている場合、ユーザーは/plugin marketplace addで許可されたマーケットプレイスを自分で追加できます。公式 Anthropic マーケットプレイスは、Claude Code が自動的に登録する唯一のマーケットプレイスであり、許可リストがそれを許可する場合のみです。公式マーケットプレイスのみを許可する は、それが見逃すマシンをリストします。
`strictPluginOnlyCustomization`
スキル、エージェント、フック、および MCP サーバーをユーザーおよびプロジェクトソースからブロックして、プラグインまたはマネージド設定からのみ来るようにします。strictKnownMarketplaces と組み合わせて、完全なカスタマイズサプライチェーンを制御します。マーケットプレイス許可リストは、ユーザーがインストールできるプラグインを制御します。
スコープ : マネージド
タイプ : すべての 4 種類のカスタマイズをロックするにはtrue。またはロックする種類に名前を付ける配列。"skills"、"agents"、"hooks"、および"mcp"から
デフォルト : 未設定の場合、何もロックされません
この例はスキルとフックをロックし、エージェントと MCP サーバーをロック解除したままにします:
{
"strictPluginOnlyCustomization" : [ "skills" , "hooks" ]
}
以下の 4 つのサブキーエントリは、各サーフェスがブロックするものと、何が読み込まれるかをリストします。Claude Code は認識しないサーフェス名を無視するため、すべてのクライアントが更新される前に新しいサーフェス名を追加できます。
`strictPluginOnlyCustomization.skills`
skillsサーフェスをロックします。Claude Code は~/.claude/skills/および.claude/skills/からのスキル、~/.claude/commands/および.claude/commands/からのカスタムコマンド、--add-dirディレクトリの下のスキル、および claude.ai アカウントから同期されたスキルの読み込みを停止し、プラグインスキル、バンドルされたスキル、およびマネージドポリシーディレクトリ内のスキルの読み込みを続けます。
{
"strictPluginOnlyCustomization" : [ "skills" ]
}
`strictPluginOnlyCustomization.agents`
agentsサーフェスをロックします。Claude Code は~/.claude/agents/および.claude/agents/からのエージェントの読み込みを停止し、プラグインエージェント、組み込みエージェント、およびマネージドポリシーディレクトリ内のエージェントの読み込みを続けます。
{
"strictPluginOnlyCustomization" : [ "agents" ]
}
`strictPluginOnlyCustomization.hooks`
hooksサーフェスをロックします。Claude Code はユーザー、プロジェクト、およびローカルsettings.jsonからのフックの実行を停止し、プラグインフックおよびマネージド設定内のフックの実行を続けます。
{
"strictPluginOnlyCustomization" : [ "hooks" ]
}
`strictPluginOnlyCustomization.mcp`
mcpサーフェスをロックします。Claude Code は~/.claude.jsonおよび.mcp.jsonからの MCP サーバーの読み込みを停止し、プラグイン MCP サーバー、managed-mcp.json サーバー、およびmanagedMcpServers からのサーバーの読み込みを続けます。
{
"strictPluginOnlyCustomization" : [ "mcp" ]
}
`enabledPlugins`
個別のプラグイン をオン/オフにします。plugin-name@marketplace-nameでキー付けされます。スコープでエントリを持たないプラグインは、そのdefaultEnabled 値にフォールバックします。/pluginまたはclaude plugin enableでプラグインを有効または無効にすると、Claude Code はこのキーを書き込みます。
スコープ : 任意のファイル
タイプ : plugin-name@marketplace-nameをブール値にマッピングするオブジェクト
デフォルト : 未設定の場合、各プラグインはそのdefaultEnabled値に従います
この例はteam-toolsマーケットプレイスから 2 つのプラグインを有効にし、personalから 1 つを無効にします:
{
"enabledPlugins" : {
"code-formatter@team-tools" : true,
"deployment-tools@team-tools" : true,
"experimental-features@personal" : false
}
}
各スコープは異なる目的を果たします:
ユーザー設定 : 個人的なプラグイン設定
プロジェクト設定 : リポジトリ内のすべての人と共有されるプラグイン
ローカル設定 : マシンごとのオーバーライド。Claude Code がそこに設定を保存するときに gitignored
マネージド設定 : 組織全体のポリシー。ここでfalseに設定されたプラグインはすべてのスコープでインストールがブロックされ、マーケットプレイスから非表示になります
プロジェクト設定はユーザー設定より優先されるため、~/.claude/settings.jsonでプラグインをfalseに設定しても、プロジェクトの.claude/settings.jsonが有効にするプラグインは無効になりません。マシン上のプロジェクト有効プラグインをオプトアウトするには、代わりに.claude/settings.local.jsonでfalseに設定してください。マネージド設定で強制的に有効にされたプラグインは、マネージド設定がローカル設定をオーバーライドするため、この方法では無効にできません。
外部ソース(GitHub リポジトリや npm パッケージなど)からのプラグインをプロジェクトの.claude/settings.jsonで有効にしても、他の人にはインストールされません。プラグインを読み込むすべてのパスで、Claude Code はプラグインがインストールされていないと報告します。各ユーザーがそれ自体をインストール するまで。
追加のプラグインマーケットプレイスを名前で登録して、リポジトリを開く人またはマネージド設定が到達するすべての人が、自分で追加することなくマーケットプレイスを取得します。Claude Code は既に知らないマーケットプレイスを登録します。enabledPlugins がそれから名前を付けるプラグインがインストールされるかどうかは、プラグインのソースとどのファイルがそれを有効にするかに依存します。そのエントリにはルールがあります。
スコープ : 任意のファイル 。Claude Code はリポジトリの.claude/settings.jsonまたは.claude/settings.local.json内のエントリを、そのフォルダーのワークスペース信頼ダイアログを受け入れた後にのみ受け入れます。信頼していないフォルダー(-p実行を含む)では、メッセージなしで無視します。
タイプ : マーケットプレイス名をsourceオブジェクトとオプションのautoUpdateブール値を持つオブジェクトにマッピングするオブジェクト
デフォルト : 未設定
この例は GitHub マーケットプレイスと自己ホストされた git URL からのマーケットプレイスを登録します:
{
"extraKnownMarketplaces" : {
"acme-tools" : {
"source" : {
"source" : "github" ,
"repo" : "acme-corp/claude-plugins"
}
} ,
"security-plugins" : {
"source" : {
"source" : "git" ,
"url" : "https://git.example.com/security/plugins.git"
}
}
}
}
フォルダーを信頼する前に実行されるもの は、信頼ゲートをリポジトリが提供できる他のコンテンツと比較します。このキーをadditionalMarketplacesとして書くこともできます。マーケットプレイスキーエイリアス を参照してください。
sourceと共に"autoUpdate": trueを設定して、Claude Code がスタートアップ後にバックグラウンドでそのマーケットプレイスをリフレッシュし、インストール済みプラグインを更新するようにします。省略すると、claude-plugins-officialおよびほとんどの他の公式 Anthropic マーケットプレイスはデフォルトでtrueになり、サードパーティマーケットプレイスはデフォルトでfalseになります。自動更新を構成する を参照してください。
複数の設定ファイルが同じ名前の下でマーケットプレイスエントリを定義する場合、Claude Code は最高優先度ファイル からのエントリ全体を使用します。そのエントリは低優先度エントリを置き換え、そのフィールドを継承しないため、再定義は 1 つのファイルのsource.headers認証情報を別のファイルが制御する URL と組み合わせることはできません。v2.1.228 より前では、Claude Code は同じ名前のエントリをフィールドごとにマージしたため、より高い優先度ファイルのエントリは、設定しなかったフィールド(別のファイルのheadersを含む)を継承できました。
マーケットプレイスソースタイプ
sourceオブジェクトは次のいずれかの形式を取ります:
github : GitHub リポジトリ。repoを使用
git : 任意の git URL。urlを使用
url : marketplace.jsonファイルへの直接 URL。urlとオプションのheadersおよびheadersHelperを認証アクセス用に使用。headersHelperは値が短命すぎてリストするコマンドに名前を付け、Claude Code v2.1.238 以降が必要です
file : marketplace.jsonファイルへのローカルパス。pathを使用
directory : ローカルファイルシステムパス。pathを使用。開発のみ
settings : ホストされたリポジトリなしで設定ファイルに直接宣言されたインラインマーケットプレイス。nameとpluginsを使用
gitソースタイプは、自己ホストされた GitLab や Bitbucket を含む任意の git ホスティングサービスで機能します。Claude Code はそのマシンでgit cloneが使用するのと同じ認証でリポジトリをクローンします。設定された認証情報ヘルパーまたは SSH キー。GITHUB_TOKENなどのプロバイダートークンは、それを読む認証情報ヘルパーを通じてのみ有効になります。セットアップの詳細については、プライベートリポジトリ を参照してください。
githubおよびgitソースの場合、repoまたはurlと共にsourceオブジェクト内に"skipLfs": trueを設定して、Claude Code がマーケットプレイスリポジトリをクローンまたは更新するときに Git LFS ダウンロードをスキップします。LFS ポインターファイルはポインターのままで、コンテンツをダウンロードしません。リポジトリにプラグインコンテンツに関連のない大きな LFS オブジェクトが含まれている場合に使用します。
urlソースの場合、認証情報がheadersで期限切れになり、コマンドが新しいものを生成する必要がある場合は、sourceオブジェクト内にheadersHelperを設定します。Claude Code v2.1.238 以降が必要です。コマンドが何を出力する必要があるか、および Claude Code がどこで実行するかについては、headersHelper コマンドを書く を参照してください。Claude Code がそれを実行しない場合については、Claude Code が headersHelper コマンドをスキップするか出力をドロップする場合 を参照してください。https://マーケットプレイス URL にheadersHelperを設定すると、Claude Code は 2 つのポイントでコマンドを実行し、1 回の実行の出力を最大 60 秒間再利用します:
そのマーケットプレイスのmarketplace.jsonの各フェッチの前。後のリフレッシュを含む。Claude Code はそのフェッチで出力されたヘッダーを送信します。
マーケットプレイス URL のオリジン上のプラグインアーカイブダウンロードの前。同じスキーム、ホスト、ポートを意味します。Claude Code はそのダウンロードで出力を送信し、他のダウンロードはヘッダーを取得しません。
Claude Code は、--add-dir で追加するディレクトリの.claude/settings.jsonまたは.claude/settings.local.jsonに設定されたheadersHelperを無視し、そのファイルに設定された固定headersのみを送信します。ユーザーが headersHelper コマンドを受け入れる方法 は他の設定ファイルをカバーします。
settingsソースにリストされたプラグインは、GitHub や npm などの外部ソースを参照する必要があり、nameはマーケットプレイスキーと一致する必要があります。各プラグインをenabledPluginsで個別に有効にする必要があります。この例は 1 つのプラグインをインラインで宣言します:
{
"extraKnownMarketplaces" : {
"team-tools" : {
"source" : {
"source" : "settings" ,
"name" : "team-tools" ,
"plugins" : [
{
"name" : "code-formatter" ,
"source" : {
"source" : "github" ,
"repo" : "acme-corp/code-formatter"
}
}
]
}
}
}
}
source: 'settings'の下のプラグインエントリで、独自のsourceがarchive である場合、アーカイブダウンロード用にheadersを設定できます。headersに入れる値が短命の場合(レジストリがリクエストで鋳造するトークンなど)、代わりにheadersHelperコマンドを設定します。エントリは両方を設定できます。両方のフィールドには Claude Code v2.1.238 以降が必要です。
Claude Code はエントリのheadersと、コマンドが出力するもの(あれば)をそのプラグインのアーカイブダウンロードで送信し、他のダウンロードでは送信しません。Claude Code はユーザーがそのプラグインを単独でインストールまたは更新する 場合にのみコマンドを実行します。3 つのさらなるルールはエントリを保持するファイルに依存します:
strict : マーケットプレイスのmarketplace.jsonのエントリとは異なり、設定ファイルのエントリはインラインするマニフェストフィールドを持たないため、"strict": falseは必要ありません。厳密モード を参照してください。
フォルダー信頼 : プロジェクトの.claude/settings.jsonまたは.claude/settings.local.jsonのエントリの場合、Claude Code はユーザーがそのフォルダーも信頼した 後にのみコマンドを実行します。
ヘッダーフィルター : Claude Code はプロジェクトの.claude/settings.jsonまたは.claude/settings.local.jsonのエントリからリクエストルーティングおよびクライアント ID ヘッダー名 をドロップします。リポジトリはそれらのファイルを提供できるためです。Claude Code はカタログエントリと--add-dirディレクトリの設定のエントリに同じフィルターを適用し、ユーザー設定、--settingsファイル、またはマネージド設定のエントリにはフィルターを適用しません。
マーケットプレイスキーエイリアス
Claude Code v2.1.232 以降では、extraKnownMarketplacesをadditionalMarketplacesとして、strictKnownMarketplacesをallowedMarketplacesとして書くことができます。Claude Code は各エイリアスを次のように扱います:
以前のバージョンはエイリアスを無視するため、マネージド設定ファイルなど、古いバージョンも読む可能性のあるファイルで正規のスペリングを保持します。
正規キーを受け入れる任意の設定ファイルで、Claude Code はエイリアスを正規キーと同じように読みます。
Claude Code はファイルを更新するときにadditionalMarketplacesをextraKnownMarketplacesに書き直す可能性があります。
1 つのファイルで両方のスペリングを設定する場合、Claude Code は正規値を使用し、エイリアスを無視します。
`pluginConfigs`
プラグインのuserConfig 設定ダイアログに与える非機密の回答を、プラグイン ID でキー付けされた状態で保存します。Claude Code はダイアログに入力するときにこのキーをユーザー設定に書き込むため、手動で編集する必要はありません。Claude Code は機密オプションを macOS Keychain に保存し、Keychain が書き込みを拒否する場合は~/.claude/.credentials.jsonにフォールバックします。サポートされているキーチェーンのないプラットフォームでは、~/.claude/.credentials.jsonに保存します。
スコープ : ユーザーまたはマネージド
タイプ : プラグイン ID をoptionsフィールドを持つオブジェクトにマッピングするオブジェクト。各オプション名を文字列、数値、ブール値、または文字列の配列にマッピングし、サーバーごとのユーザー設定値を同じ形状で保持するオプションのmcpServersフィールド
デフォルト : 未設定
この例はacme-toolsからのdeployerプラグインのapi_endpointオプションを保存します:
{
"pluginConfigs" : {
"deployer@acme-tools" : {
"options" : {
"api_endpoint" : "https://api.example.com"
}
}
}
}
Claude Code はプロジェクトおよびローカルエントリを無視します。これらの値をプラグインフック、MCP、および LSP 設定に置き換えるためです。クローンされたリポジトリはそれらを提供できないはずです。v2.1.207 より前では、プロジェクトおよびローカル設定も読まれていました。
MCP
Claude Code が接続する MCP サーバーと、組織が許可する MCP サーバーを制御します。MCP で外部ツールに接続する と管理対象 MCP 設定 を参照してください。
`allowAllClaudeAiMcps`
Claude Code が自身で取得するclaude.ai コネクタ を、デプロイされた managed-mcp.json と一緒に読み込みます。このキーがない場合、managed-mcp.json は MCP サーバーを排他的に制御し、これらのコネクタを抑制します。
スコープ : Managed 。ユーザーは排他的制御によって抑制されたコネクタを再度有効にすることはできません。
タイプ : ブール値
true: Claude Code は、デプロイされた managed-mcp.json と一緒に claude.ai コネクタを読み込みます
false: デプロイされた managed-mcp.json は MCP サーバーを排他的に制御し、Claude Code が自身で取得するclaude.ai コネクタ を抑制します
デフォルト : false。デプロイされた managed-mcp.json は Claude Code が自身で取得する claude.ai コネクタを抑制します
{
"allowAllClaudeAiMcps" : true
}
allowedMcpServers とdeniedMcpServers は、このキーが読み込むコネクタにも適用されます。managed-mcp.json を持つホスト(自己ホスト型ランナーなど)のクラウドセッション に配信されるコネクタは、抑制されたままです。管理対象セットと一緒に claude.ai コネクタを許可する を参照してください。
`allowedMcpServers`
ユーザーが追加できる MCP サーバーをホワイトリストに登録します。Claude Code は、プラグインサーバー、--mcp-config で渡されたサーバー、claude.ai からのサーバーを含め、どこで定義されていても、エントリに一致しないサーバーをブロックします。
Claude in Chrome、実行中のVS Code またはJetBrains IDE に Claude Code が接続する ide サーバー、CLI 自体が設定するサーバーなどの組み込みサーバーは、ホワイトリストから除外され、デニーリストは引き続きこれらに適用されます。インプロセス type: "sdk" サーバーは両方のリストから除外されます。セッションを開始したアプリ がこれらを登録します。
組織が配信するサーバーもホワイトリストから除外され、デニーリストは引き続きこれらに適用されます。この除外は、すべてのmanagedMcpServers エントリと、${VAR} 展開を使用しない値を持つmanaged-mcp.json エントリをカバーします。完全なチェック順序については、サーバーの評価方法 を参照してください。v2.1.259 より前では、managed-mcp.json からのサーバーも一致する必要がありました。
スコープ : Any file 。allowManagedMcpServersOnly が設定されていない限り、すべてのファイルからのエントリが 1 つのホワイトリストにマージされます。管理設定にデプロイして、これを強制します。
タイプ : オブジェクトの配列。各オブジェクトは正確に 1 つのキーを持ちます。serverName は、文字、数字、ハイフン、アンダースコアに限定された文字列です。serverCommand は、コマンドとその引数を正確に一致させた配列です。または serverUrl は、* ワイルドカードを含む URL パターンです
デフォルト : 未設定。すべてのサーバーが許可されます。空の配列は、ユーザーが追加するすべてのサーバーをブロックします
この例は、リストされた npx コマンドが開始する stdio サーバーのみを許可します。
{
"allowedMcpServers" : [
{ "serverCommand" : [ "npx" , "-y" , "@modelcontextprotocol/server-filesystem" ] }
]
}
deniedMcpServers エントリが優先されるため、両方のリストにあるサーバーはブロックされます。リストに serverCommand エントリが含まれると、stdio サーバーは serverCommand エントリと一致する必要があり、serverUrl エントリが含まれると、リモートサーバーは serverUrl エントリと一致する必要があります。serverName の一致は、その種類のサーバーをもはや許可しません。ホワイトリストとデニーリストを使用したポリシーベースの制御 を参照してください。
`allowManagedMcpServersOnly`
管理対象ホワイトリストのみを適用対象にします。Claude Code は、ユーザー、プロジェクト、ローカル設定の allowedMcpServers を無視し、管理設定からのみ allowedMcpServers を読み込みます。deniedMcpServers は引き続きすべての設定スコープからマージされるため、ユーザーは自分自身のためにサーバーをブロックできます。管理者は、ユーザー自身の設定が管理対象ホワイトリストが許可するものを拡大できないようにするために、これを設定します。
スコープ : Managed
タイプ : ブール値
true: Claude Code は管理設定からのみ allowedMcpServers を読み込み、ユーザー、プロジェクト、ローカル設定のホワイトリストを無視します
false: すべての設定スコープのホワイトリストがマージされます
デフォルト : false。すべての設定スコープのホワイトリストがマージされます
この例は、ホワイトリストを管理設定にロックし、github という名前のサーバーのみを許可します。
{
"allowManagedMcpServersOnly" : true,
"allowedMcpServers" : [
{ "serverName" : "github" }
]
}
ユーザーは引き続き独自の MCP サーバーを追加できます。管理対象ホワイトリストと一致するサーバーのみが読み込まれます。ホワイトリストを管理設定のみに制限する を参照してください。
`deniedMcpServers`
特定の MCP サーバーをブロックします。Claude Code は、プラグインサーバー、--mcp-config で渡されたサーバー、managed-mcp.json からのサーバー、managedMcpServers からのサーバー、および自身で取得する claude.ai コネクタを含め、どこで定義されていても、一致するサーバーの読み込みを拒否します。インプロセス type: "sdk" サーバーは除外されます。セッションを開始したアプリがこれらを登録します。
スコープ : Any file 。すべてのファイルからのエントリが 1 つのデニーリストにマージされ、allowManagedMcpServersOnly はこれを変更しません。管理設定にデプロイして、これを強制します。
タイプ : オブジェクトの配列。各オブジェクトは正確に 1 つのキーを持ちます。serverName は、空でない任意の文字列です。"claude.ai Slack" などの claude.ai コネクタの表示名が機能します。serverCommand は、コマンドとその引数を正確に一致させた配列です。または serverUrl は、* ワイルドカードを含む URL パターンです
デフォルト : 未設定。サーバーはブロックされません。空の配列も何もブロックしません
{
"deniedMcpServers" : [
{ "serverName" : "filesystem" }
]
}
デニーリストはallowedMcpServers より優先されるため、両方のリストにあるサーバーはブロックされます。ホワイトリストとデニーリストを使用したポリシーベースの制御 を参照してください。
`disableClaudeAiConnectors`
Claude Code が自身で取得するclaude.ai MCP コネクタ をオフにして、取得も接続もしません。任意の設定ファイルで true が適用されます。チェックインされたプロジェクト .claude/settings.json はリポジトリをこれらのコネクタから除外できますが、プロジェクトレベルの false はユーザーレベルまたは管理レベルの true をオーバーライドできません。Claude Code v2.1.182 以降が必要です。
スコープ : Any file
タイプ : ブール値
true: Claude Code はこれらのコネクタを取得も接続もしません
false: 未設定と同じです。別の設定ファイルまたは ENABLE_CLAUDEAI_MCP_SERVERS がこれらをオフにしない限り、Claude Code はコネクタを取得します
デフォルト : false。Claude Code はコネクタを取得します
セッションごとのオーバーライド : ENABLE_CLAUDEAI_MCP_SERVERS を false に設定すると、1 つのセッションのコネクタがオフになります。2 つのうちどちらがオフにしても、もう一方はオンに戻すことはできません
{
"disableClaudeAiConnectors" : true
}
--mcp-config で明示的に渡すサーバーは影響を受けません。すべてのコネクタをブロックする代わりに個別のコネクタをブロックするには、deniedMcpServers を使用します。claude.ai コネクタを無効にする を参照してください。Claude Code v2.1.182 以降が必要です。
`disabledMcpjsonServers`
プロジェクトの .mcp.json ファイルで定義された特定のサーバーを拒否して、Claude Code がこれらに接続したり、承認を求めたりしないようにします。任意の設定ファイルでの拒否が適用されます。リポジトリにチェックインされたプロジェクト .claude/settings.json を含みます。
スコープ : Any file
タイプ : 文字列の配列。.mcp.json に表示されるサーバー名
デフォルト : 未設定
{
"disabledMcpjsonServers" : [ "filesystem" ]
}
Claude Code は、承認ダイアログでサーバーを拒否すると、このキーを .claude/settings.local.json に書き込みます。claude mcp get <name> は、拒否されたサーバーを ✘ Rejected (see disabledMcpjsonServers in settings) として表示します。拒否はenabledMcpjsonServers とenableAllProjectMcpServers より優先されます。
`enableAllProjectMcpServers`
プロジェクト .mcp.json ファイルで定義されたすべての MCP サーバーをプロンプトなしで承認します。Claude Code は、承認ダイアログですべてのサーバーを承認することを選択すると、このキーを .claude/settings.local.json に書き込みます。
スコープ : Any file 。信頼ダイアログを受け入れていないフォルダでは、Claude Code はユーザー設定、管理設定、--settings からこれを尊重し、共有プロジェクトファイルではセッション内と claude mcp list および claude mcp get で無視します。プロジェクトサーバーの承認とワークスペースの信頼 は、追跡されていない .claude/settings.local.json がいつカウントされるかを説明しています。
タイプ : ブール値
true: Claude Code はプロジェクト .mcp.json ファイルで定義されたすべての MCP サーバーをプロンプトなしで承認します
false: Claude Code は各サーバーの承認を求めます。信頼されたフォルダでは、優先度の高いファイルの false は優先度の低いファイルの true をオーバーライドします。信頼していないフォルダでは、尊重されるファイルの true で十分です
デフォルト : 未設定。Claude Code は各サーバーの承認を求めます
{
"enableAllProjectMcpServers" : true
}
disabledMcpjsonServers エントリはサーバーを拒否します。
`enabledMcpjsonServers`
プロジェクト .mcp.json ファイルで定義された特定のサーバーを承認して、Claude Code が質問なしにこれらに接続します。Claude Code は、承認ダイアログでサーバーを承認すると、このキーを .claude/settings.local.json に書き込みます。
スコープ : Any file 。信頼ダイアログを受け入れていないフォルダでは、Claude Code はユーザー設定、管理設定、--settings からこれを尊重し、共有プロジェクトファイルではセッション内と claude mcp list および claude mcp get で無視します。プロジェクトサーバーの承認とワークスペースの信頼 は、追跡されていない .claude/settings.local.json がいつカウントされるかを説明しています。
タイプ : 文字列の配列。.mcp.json に表示されるサーバー名
デフォルト : 未設定
この例は、プロジェクトの .mcp.json から memory および github サーバーを承認します。
{
"enabledMcpjsonServers" : [ "memory" , "github" ]
}
disabledMcpjsonServers エントリはサーバーを拒否します。
`managedMcpServers`
管理設定からすべてのユーザーにリモート MCP サーバーを提供します。ユーザーは自分たちが追加したサーバーを保持し、提供されたサーバーを編集または削除することはできません。Claude Code v2.1.259 以降が必要です。
スコープ : Managed 。Claude Code はユーザー、プロジェクト、ローカル設定でキーを警告とともにドロップし、Claude Desktop アプリのコードタブでサードパーティデプロイメント上で、またはアプリの Cowork セッションで読み込みません。Claude Desktop はこれらのセッションの MCP サーバーを供給してロックします。
タイプ : サーバー名でキー付けされたオブジェクト。各エントリは http または sse サーバーの .mcp.json 形状を持ちます。必須の https:// url と、オプションで headers、oauth、その他の HTTP および SSE オプション。Claude Code は検証に失敗したエントリをドロップし、エントリに含まれる内容 は条件をリストします
デフォルト : 未設定。管理設定はサーバーを提供しません
この例は、search という名前の 1 つの HTTP サーバーを提供します。
{
"managedMcpServers" : {
"search" : {
"type" : "http" ,
"url" : "https://search.example.com/mcp"
}
}
}
優先度、提供されたサーバーが managed-mcp.json および許可リストと拒否リストとどのように組み合わされるか、およびユーザーが何を見るかについては、管理設定を通じてサーバーを提供する を参照してください。
エージェント、セッション、ワークツリー
デフォルトエージェントを設定し、チームメイトとクロスセッションメッセージングを制御し、ワークツリーを設定します。サブエージェント とワークツリー を参照してください。
`agent`
メインスレッドを名前付きサブエージェント として実行し、Claude Code がそのサブエージェントのシステムプロンプト、ツール制限、およびモデルをセッションに適用するようにします。同じキーは claude agents からディスパッチするセッションのデフォルトエージェントも設定します。
スコープ : 任意のファイル
タイプ : 文字列、組み込みまたはカスタムエージェントの名前
デフォルト : 未設定。メインスレッドは Claude Code のデフォルトエージェントとして実行されます
セッションごとのオーバーライド : --agent はこのキーより優先され、1 つのセッションに適用されます
{
"agent" : "code-reviewer"
}
プラグイン独自の settings.json もこのキーを提供できます。プラグインでデフォルト設定を配布する を参照してください。
`crossSessionInbound`
このセッションが他の Claude Code セッションから到着するメッセージ に対して何を行うかを選択します。値が適用されない場合、Claude Code は 2 つのセッションの権限モードクラスからメッセージごとに決定します。Claude Code v2.1.224 以降が必要です。
スコープ : 任意のファイル 。プロジェクトまたはローカル値は、管理設定、--settings フラグ、またはユーザー設定が提供する値より厳密な場合にのみ適用されます。
タイプ : 文字列、以下のいずれか:
"accept": Claude Code はメッセージを Claude に配信します
"hold": Claude Code はメッセージの通知を表示しますが、配信しません
"refuse": Claude Code はメッセージを破棄します
デフォルト : 未設定。Claude Code はメッセージごとに決定します
{
"crossSessionInbound" : "hold"
}
Claude Code は管理設定を最初に読み込み、次に --settings フラグ、その後ユーザー設定を読み込み、最初に見つかった値を適用します。refuse は hold より厳密で、hold は accept より厳密です。信頼できるソースのいずれもが値を設定しない場合、プロジェクトまたはローカルの hold または refuse は依然として適用され、メッセージごとのデフォルトを置き換えます。クロスセッションメッセージングを使用するセッションでは、このキーは /config に他のセッションからのメッセージ として表示され、ユーザー設定に書き込まれます。この行には Claude Code v2.1.232 以降が必要で、--settings フラグまたは管理設定がキーを設定している間、Claude Code はそれを非表示にします。
Claude Code は、認識しない値を設定すると警告 します。その値がユーザー、プロジェクト、ローカル、または --settings ファイルに存在する間、Claude Code は受信メッセージを保留します。優先度が高いソースが accept を設定している場合でも、です。別のソースが設定する refuse は依然として適用されます。値を修正または削除して保留をクリアします。
認識しない値が管理設定 にある場合、Claude Code は代わりに管理者が修正するまで refuse として扱います。v2.1.248 より前では、Claude Code は警告なしに認識しない値を無視していました。
`disableAgentView`
バックグラウンドエージェントとエージェントビュー をオフにします:claude agents、--bg、/background、およびオンデマンドスーパーバイザー。管理設定 で設定して、組織に対して強制します。
スコープ : 任意のファイル
タイプ : ブール値
true: Claude Code は claude agents、--bg、/background、およびオンデマンドスーパーバイザーをオフにします
false: エージェントビューが利用可能です
デフォルト : 未設定。エージェントビューが利用可能です
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_AGENT_VIEW は 1 つのセッションのエージェントビューをオフにします。2 つのいずれかがそれをオフにすると、もう一方はそれをオンに戻すことはできません
{
"disableAgentView" : true
}
`isolatePeerMachines`
Claude の SendMessage がこのマシンを超えたセッションの 1 つに到達する前に、明示的な承認を要求します。クロスマシンメッセージの承認を要求する を参照してください。承認プロンプトは bypassPermissions モード でも表示されます。
スコープ : 任意のファイル 。任意のスコープからの true が適用されるため、チェックインされたプロジェクトファイルは要件をオンにできますがオフにはできません。
タイプ : ブール値
true: Claude Code は Claude の SendMessage がこのマシンを超えたセッションの 1 つに到達する前に承認を求めます
false: クロスマシンメッセージはプロンプトを表示しません
デフォルト : 未設定。クロスマシンメッセージはプロンプトを表示しません
{
"isolatePeerMachines" : true
}
クロスマシン SendMessage 承認には Claude Code v2.1.224 以降が必要です。
`processWrapper`
macOS と Linux では、Claude Code が開始するバックグラウンドプロセス の前に企業ランチャーコマンドを配置します。Claude Code はランチャーを独自のコマンドラインを追加して実行するため、ランチャーは Claude Code に exec する必要があります。企業ランチャーの背後で Claude Code を実行する を参照してランチャーコントラクトを確認してください。Claude Code v2.1.210 以降が必要です。
{
"processWrapper" : "/opt/corp/launcher --profile claude"
}
Claude Code は Windows でランチャーを無視し、すべてのプロセスをラップされずに開始します。Claude Code v2.1.210 以降が必要です。
`teammateMode`
Claude Code がエージェントチーム チームメイトを表示する場所を選択します:メインターミナルペイン内、またはターミナルがサポートしている場合は分割ペイン内。表示モードを選択する を参照してください。
スコープ : 任意のファイル 。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み込みます。
タイプ : 文字列、以下のいずれか:
"in-process": チームメイトはメインターミナルペイン内で実行されます
"auto": tmux 内で実行している場合、または PATH に it2 がある iTerm2 内で実行している場合、または tmux がインストールされている場合は分割ペイン。それ以外の場合はインプロセス
"tmux": ターミナルから検出された tmux または iTerm2 を使用して分割ペイン
"iterm2": Claude Code v2.1.186 以降で it2 CLI を通じた iTerm2 ネイティブ分割ペイン
デフォルト : "in-process"
セッションごとのオーバーライド : --teammate-mode はこのキーより優先され、1 つのセッションに適用されます
{
"teammateMode" : "auto"
}
v2.1.179 より前では、デフォルトは auto でした。iterm2 値には Claude Code v2.1.186 以降が必要です。
`worktree`
Claude Code が --worktree、EnterWorktree ツール、および分離されたサブエージェントとバックグラウンドセッションのgit ワークツリー を作成および管理する方法を設定します。
スコープ : 任意のファイル
タイプ : baseRef、symlinkDirectories、sparsePaths、および bgIsolation を含むオブジェクト
デフォルト : 未設定
この例は、現在の HEAD から新しいワークツリーをブランチし、各ワークツリーに node_modules をシンボリックリンクします:
{
"worktree" : {
"baseRef" : "head" ,
"symlinkDirectories" : [ "node_modules" ]
}
}
.env のような gitignore されたファイルを新しいワークツリーにコピーするには、設定の代わりに.worktreeinclude ファイル をプロジェクトルートに追加します。
`worktree.baseRef`
新しいワークツリーがブランチする ref を選択します。"fresh" は origin/<default-branch> からブランチして、リモートと一致するクリーンツリーを取得します。"head" は現在のローカル HEAD からブランチするため、プッシュされていないコミットとフィーチャーブランチの状態がワークツリーに存在します。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"fresh": 新しいワークツリーは origin/<default-branch> からブランチします
"head": 新しいワークツリーは現在のローカル HEAD からブランチします(プッシュされていないコミットを含む)
デフォルト : "fresh"
{
"worktree" : {
"baseRef" : "head"
}
}
リンクされたワークツリー内では、"head" はメインチェックアウトの HEAD ではなく、そのワークツリーの HEAD に解決されます。
`worktree.symlinkDirectories`
メインリポジトリからディレクトリをワークツリーにシンボリックリンクして、ディスク上の大きなディレクトリを複製しないようにします。
スコープ : 任意のファイル
タイプ : 文字列の配列、リポジトリルートに相対的なディレクトリパス
デフォルト : 未設定。Claude Code はディレクトリをシンボリックリンクしません
この例は、メインリポジトリから node_modules と .cache をすべての新しいワークツリーにシンボリックリンクします:
{
"worktree" : {
"symlinkDirectories" : [ "node_modules" , ".cache" ]
}
}
`worktree.sparsePaths`
git sparse-checkout を通じて各ワークツリーにリストされたディレクトリのみをチェックアウトします。Claude Code はそれらのディレクトリとルートレベルのファイルのみをディスクに書き込みます。これは大規模なモノレポでより高速です。必要なディレクトリのみをチェックアウトする を参照してください。
スコープ : 任意のファイル
タイプ : 文字列の配列、リポジトリルートに相対的なディレクトリパス
デフォルト : 未設定。各ワークツリーはツリー全体をチェックアウトします
この例は、各ワークツリーで packages/my-app と shared/utils のみをチェックアウトします(ルートレベルのファイルを含む):
{
"worktree" : {
"sparsePaths" : [ "packages/my-app" , "shared/utils" ]
}
}
スパースワークツリーが存在する間、git はリポジトリの共有 .git/config で extensions.worktreeConfig を有効にします。
`worktree.bgIsolation`
バックグラウンドセッション がファイル編集を分離する方法を選択します。"worktree" では、Claude Code はセッションが EnterWorktree を呼び出すまでメインチェックアウトで Edit と Write をブロックします。"none" では、バックグラウンドジョブはワーキングコピーを直接編集します。git ワークツリーが実用的でないリポジトリの場合は "none" を設定します。
スコープ : 任意のファイル
タイプ : 文字列、以下のいずれか:
"worktree": Claude Code はセッションが EnterWorktree を呼び出すまでメインチェックアウトで Edit と Write をブロックします
"none": バックグラウンドジョブはワーキングコピーを直接編集します
デフォルト : "worktree"
{
"worktree" : {
"bgIsolation" : "none"
}
}
git リポジトリの外では、失敗するWorktreeCreate フック がブロックを解放し、セッションがワーキングディレクトリをその場で編集できるようにします。そのリリースには Claude Code v2.1.203 以降が必要です。
リモート、デスクトップ、および通知
Remote Control、クラウド環境、デスクトップアプリ、および Claude Code が必要な場合に送信する通知を設定します。Remote Control を参照してください。
`agentPushNotifEnabled`
Claude が価値があると判断した場合(たとえば、長いタスクが完了した場合など)に、電話にプッシュ通知を送信することを許可します。Claude Code はこの選択をアカウントに同期し、Remote Control が接続されている間にプッシュが到着します。/config では Push when Claude decides として表示されます。
Scope : Any file 。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み取ります。
Type : Boolean
true: Claude は価値があると判断した場合に電話にプッシュ通知を送信できます
false: Claude はそれらの通知を送信しません
Default : false
{
"agentPushNotifEnabled" : true
}
Mobile push notifications を参照してください。
`awaySummaryEnabled`
数分間離れた後にターミナルに戻ったときに、1 行のセッション要約を表示します。false に設定するか、/config で Session recap をオフにして、要約を停止します。
Scope : Any file
Type : Boolean
true: 数分間離れた後に戻ったときに、1 行のセッション要約が表示されます
false: Claude Code は要約を表示しません
Default : 未設定なので、要約はオンです
Per-session overrides : CLAUDE_CODE_ENABLE_AWAY_SUMMARY はこのキーより優先され、どちらの方向でも 1 セッションに適用されます
{
"awaySummaryEnabled" : false
}
Claude Code は非対話モードでは要約を表示しません。
`disableArtifact`
代わりに enableArtifact を使用して、セッション出力を claude.ai 上のプライベート Web ページとして公開する Artifact ツールをオフにします。/config で Artifacts 行をオフにすると、Claude Code はユーザー設定に enableArtifact を書き込み、このキーをクリアします。
Scope : Any file
Type : Boolean
true: Claude Code はファイルが適用されるすべてのセッションに対して Artifact ツールをオフにし、他のファイルはそれをオンに戻しません。v2.1.242 より前では、優先度の高いファイルが優先度の低いファイルの true をオーバーライドできました。キーはロックとして機能しません
false: 無視されます。ツールをオンのままにするには、キーを削除します
Default : 未設定なので、ツールはアカウントの availability に従います
Per-session overrides : CLAUDE_CODE_DISABLE_ARTIFACT を 1 に設定すると、1 つのセッションのツールがオフになります
{
"disableArtifact" : true
}
Disable artifacts はツールをオフにするすべての方法を一覧表示します。
`disableDeepLinkRegistration`
Claude Code が claude-cli:// プロトコルハンドラーをオペレーティングシステムに登録することを停止します。通常、対話セッションの最初のプロンプトを送信した後に登録されます。Deep links により、外部ツールは事前入力されたプロンプトで Claude Code セッションを開くことができます。プロトコルハンドラー登録が制限されているか、別途管理されている環境でこれを設定します。
Scope : Any file
Type : 文字列 "disable"
Default : 未設定なので、Claude Code はハンドラーを登録します
{
"disableDeepLinkRegistration" : "disable"
}
`disableDesktopLocalSessions`
開発者が SSH 経由でリモートマシンで作業する必要があるデプロイメント用に、デスクトップアプリ で実行されるコードセッションをオフにします。Code タブでは、Local 環境は環境ドロップダウンに留まりますが、グレーアウトされて選択できず、組織がオフにしたことを示すツールチップが表示されます。Windows では WSL エントリも同じようにグレーアウトされますが、WSL セッションがマネージドデバイスで実行されるかどうかは 別途管理されます 。新しいセッションは、設定されている場合は最初の SSH 接続 にデフォルト設定され、アプリは同じマシンへの SSH 接続を含む、デバイス上のセッションの開始または再開を拒否します。他のホストへの SSH セッションとクラウドセッションは影響を受けません。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。Claude Desktop v1.37937.0 以降が必要です。
Scope : Managed
Type : Boolean。JSON Boolean true のみが有効です
true: デスクトップアプリはオンデバイスコードセッションを提供しません。既存のローカルセッションはリストに残りますが、続行できません
false: ローカルセッションは利用可能なままです
Default : 未設定なので、ローカルセッションは利用可能です
{
"disableDesktopLocalSessions" : true
}
デスクトップアプリは他の値を無視し、文字列 "true" や 1 などの Boolean ではない値も警告をログに記録します。sshConfigs とペアにして、ユーザーが機能する接続にアクセスし、sshHostAllowlist とペアにして、到達できるホストを制限します。Local sessions on managed devices を参照してください。
Claude Desktop は、デスクトップ設定から派生したポリシー(たとえば、エグレス許可リスト、ファイルシステムサンドボックス、サードパーティデプロイメント内の MCP 制限など)を使用して Code セッションを提供します。Claude Code は、管理ソース が存在する場合(サーバー管理設定、MDM または OS レベルのポリシー、またはマネージド設定ファイル)、常にそれらの親設定を無視します。サードパーティデプロイメントのように、以前にないデバイスにこのキーをデプロイすると、デスクトップ派生ポリシーが適用されなくなります。Let an embedding host add policy は、親設定がまだマージできる場合をカバーしています。これは、このキーだけでなく、その方法でデプロイするすべてのキーに適用されます。
`disableRemoteControl`
Remote Control をオフにします。Claude Code は claude remote-control、--remote-control フラグ、自動開始、およびセッション内トグルを拒否し、組織のポリシーがそれを無効にしたことを報告します。マネージド設定 に配置して、デバイスごとの MDM 強制を行います。
Scope : Any file
Type : Boolean
true: Claude Code は claude remote-control、--remote-control フラグ、自動開始、およびセッション内トグルを拒否します
false: Remote Control は利用可能なままです
Default : false
{
"disableRemoteControl" : true
}
`enableArtifact`
セッション出力を claude.ai 上のプライベート Web ページとして公開する Artifact ツールをオフにします。/config で Artifacts 行をオフにすると、Claude Code はこのキーをユーザー設定に書き込むため、通常は手動で編集しません。Claude Code v2.1.196 以降が必要です。
Scope : Any file 。すべてのファイルはツールをオフにでき、どのファイルもそれをオンに戻すことはできません。
Type : Boolean
false: Claude Code はファイルが適用されるすべてのセッションに対して Artifact ツールをオフにします
true: キーを未設定のままにするのと同じです。別のファイルからの false、CLAUDE_CODE_DISABLE_ARTIFACT 、または組織の 管理設定 をオーバーライドしないためです
Default : 未設定なので、ツールはアカウントの availability に従います
{
"enableArtifact" : false
}
ユーザー設定以外のソースがツールをオフのままにしている間、Claude Code は /config で Artifacts 行を非表示にします。そこでオンにしても何も変わらないためです。Disable artifacts はツールをオフにするすべての方法を一覧表示します。v2.1.242 より前では、Claude Code はプロジェクトおよびローカル設定でこのキーを無視し、優先度スタック で高い位置のファイルが低いファイルのオフをオンに戻すことができました。
権限プロンプトまたは質問が入力を待っているときに、電話にプッシュ通知を取得します。Claude Code はこれらを Remote Control が接続されている間のみ送信します。/config では Push when actions required として表示されます。
Scope : Any file 。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み取ります。
Type : Boolean
true: Remote Control が接続されている間、権限プロンプトまたは質問が入力を待っているときに、電話にプッシュ通知が届きます
false: Claude Code はそのような通知を送信しません
Default : false
{
"inputNeededNotifEnabled" : true
}
Mobile push notifications を参照してください。
`preferredNotifChannel`
タスクが完了したときまたは権限プロンプトが待機しているときに Claude Code が通知する方法を選択します。/config では Local notifications として表示されます。
Scope : Any file 。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み取ります。
Type : 文字列、以下のいずれか:
"auto": Claude Code は iTerm2、Ghostty、Kitty でデスクトップ通知を送信し、Terminal.app でのみ可聴ベルがオフの場合にベルを鳴らし、他の場所では何もしません
"terminal_bell": Claude Code は任意のターミナルでベル文字を鳴らします
"iterm2": Claude Code は iTerm2 デスクトップ通知を送信します
"iterm2_with_bell": Claude Code は iTerm2 デスクトップ通知を送信し、ベルを鳴らします
"kitty": Claude Code は Kitty デスクトップ通知を送信します
"ghostty": Claude Code は Ghostty デスクトップ通知を送信します
"notifications_disabled": Claude Code は通知を送信しません
Default : "auto"
{
"preferredNotifChannel" : "terminal_bell"
}
"auto" では、Claude Code は iTerm2、Ghostty、Kitty でデスクトップ通知を送信します。Terminal.app では、Terminal の可聴ベルをオフにした場合のみベル文字を鳴らし、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには "terminal_bell" を設定します。Get a terminal bell or notification を参照してください。
`remote.defaultEnvironmentId`
claude --cloud などの CLI から作成するクラウドセッション用のデフォルト クラウド環境 を選択します。Claude Code は /remote-env で環境を選択するときに、このキーをユーザー設定に書き込みます。
Scope : Any file 。自己ホスト環境 ID の場合、ユーザーまたはマネージド設定、または --settings フラグのみ。
Type : 文字列、env_... または ccpool_... などの環境 ID
Default : 未設定なので、Claude Code はリストに Anthropic ホスト環境がある場合はそれを使用し、そうでない場合は Remote Control ブリッジ環境 ではないリスト内の最初の環境を使用するか、すべてがブリッジ環境の場合は最初の環境を使用します
Per-session overrides : --environment はこのキーより優先され、作成する 1 つのクラウドセッションに適用されます
{
"remote" : {
"defaultEnvironmentId" : "env_0123abcd"
}
}
env_ で始まる Anthropic ホスト環境 ID は標準設定の優先度に従うため、リポジトリのプロジェクト設定の値がユーザーレベルの選択をオーバーライドします。ccpool_ で始まる 自己ホスト環境 ID は、ユーザー設定、マネージド設定、および --settings フラグからのみ尊重されます。Claude Code はリポジトリのプロジェクトまたはローカル設定のものを無視し、/remote-env は無視した値を表示するため、チェックインされたファイルは選択しなかった自己ホスト環境にセッションをステアリングできません。
`remoteControlAtStartup`
各対話セッションの開始時に Remote Control を自動的に接続します。/remote-control を待つ代わりに。自動接続をオンにするには true に設定し、オフにするには false に設定します。/config では Enable Remote Control for all sessions として表示されます。
Scope : Any file 。Claude Code は古いバージョンによって ~/.claude.json に残された値も読み取ります。
Type : Boolean
true: Claude Code は各対話セッションの開始時に Remote Control を自動的に接続します
false: Claude Code は /remote-control を待ちます
Default : 未設定なので、自動接続は設定されている場合は組織の管理デフォルトに従い、そうでない場合は Claude Code の現在のデフォルトに従います
Per-session overrides : --remote-control はこのキーが false の場合でも 1 つのセッションに対して Remote Control をオンにし、フラグは 1 つのセッションに対してそれをオフにしません
{
"remoteControlAtStartup" : true
}
Claude Code はプロジェクトまたはローカル設定からの true を無視するため、リポジトリはそのチェックアウトの自動接続をオフにできますが、オンにすることはできません。完全なスコープごとの動作については、Enable Remote Control for all sessions および より厳密な値が適用されるセキュリティキー を参照してください。
`sshConfigs`
Desktop 環境ドロップダウンに SSH 接続を追加します。管理者はこれを使用して、共有接続をチームに配布します。マネージド設定で定義した接続はマネージドとして表示されるため、ユーザーはそれらを選択できますが、アプリで編集または削除することはできません。
Scope : User or managed 。デスクトップアプリはこのキーを読み取ります。
Type : オブジェクトの配列。各オブジェクトは必須の id、name、sshHost と、オプションの sshPort および sshIdentityFile を持ちます
Default : 未設定
この例は、user@dev.example.com に接続する Dev VM という名前の 1 つの接続を追加します:
{
"sshConfigs" : [
{
"id" : "dev-vm" ,
"name" : "Dev VM" ,
"sshHost" : "user@dev.example.com"
}
]
}
`sshHostAllowlist`
Desktop SSH セッション が接続できるホストを制限します。デスクトップアプリのみがこのキーを読み取ります。CLI は読み取りません。パターンは大文字と小文字を区別しません。* は任意のホストに一致し、*.example.com は example.com とすべてのサブドメインに一致し、その他は ~/.ssh/config 解決後のホスト名に対する完全一致です。空の配列は SSH セッションをオフにします。
Scope : Managed
Type : ホスト名パターンの配列
Default : 未設定なので、任意のホストが許可されます
この例は、devboxes.example.com とそのサブドメイン、および正確なホスト bastion.example.com を許可します:
{
"sshHostAllowlist" : [ "*.devboxes.example.com" , "bastion.example.com" ]
}
認証とプロバイダー
ヘルパースクリプトを通じて認証情報を提供し、組織の場合はログイン方法または組織を強制します。認証 を参照してください。
`apiKeyHelper`
Claude Code がモデルリクエストで送信する認証情報を生成するために独自のコマンドを実行します。Claude Code はコマンドをシステムシェル(macOS と Linux では /bin/sh、Windows では cmd)を通じて実行し、その出力を X-Api-Key ヘッダーと Authorization: Bearer ヘッダーの両方として送信します。ボールトから取得した短期トークンなど、動的または回転する認証情報に使用します。
スコープ : Any file
タイプ : 文字列、シェルコマンドライン
デフォルト : 未設定。Claude Code はヘルパーを実行しません
{
"apiKeyHelper" : "/bin/generate_temp_api_key.sh"
}
Claude Code はこれらの場合に値をキャッシュし、コマンドを再実行します。
キャッシュの有効期限後。デフォルトは 5 分、または CLAUDE_CODE_API_KEY_HELPER_TTL_MS で設定した間隔
Anthropic API へのリクエスト(直接または LLM ゲートウェイ 経由)が 401 または 403 で失敗した場合
Anthropic API へのリクエスト(直接または LLM ゲートウェイ経由)を送信する前に、キャッシュされた出力がヘルパーが生成した後に期限切れになった JWT である場合。Claude Code v2.1.246 以降が必要です。
最後の 2 つのケースは、ヘルパーの出力が Claude Code が送信する認証情報であり、ANTHROPIC_AUTH_TOKEN が設定されていない場合にのみ適用されます。
インタラクティブセッションでは、コマンドがプロジェクトまたはローカル設定から来ている場合、Claude Code はワークスペーストラストプロンプトを受け入れるまでコマンドを実行しません。認証情報管理 を参照してください。
`awsAuthRefresh`
aws sso login などの独自のコマンドを実行して、Claude Code が Amazon Bedrock に対して持つ認証情報が機能しなくなったときに .aws ディレクトリの認証情報をリフレッシュします。Claude Code は最初に現在の認証情報を STS に対してチェックし、そのチェックが失敗した場合にのみコマンドを実行してから、リフレッシュされた .aws ディレクトリを読み取ります。
スコープ : Any file
タイプ : 文字列、シェルコマンドライン
デフォルト : 未設定。Claude Code は AWS 認証情報をリフレッシュしません
{
"awsAuthRefresh" : "aws sso login --profile myprofile"
}
リフレッシュフローが .aws に書き込む場合はこのキーを使用します。代わりに認証情報を出力する場合は awsCredentialExport を使用します。高度な認証情報設定 を参照してください。
`awsCredentialExport`
AWS 認証情報を JSON として出力する独自のコマンドを実行して、Claude Code が .aws ディレクトリに存在しない認証情報で Amazon Bedrock を呼び出すことができるようにします。Claude Code は aws sts 出力形式とフラットな aws configure export-credentials 形式を受け入れ、認証情報を独自の Bedrock クライアントにスコープするため、Claude Code が実行するシェルコマンドは引き続き環境の認証情報を参照します。
スコープ : Any file
タイプ : 文字列、シェルコマンドライン
デフォルト : 未設定。Claude Code は環境の AWS 認証情報チェーンを使用します
{
"awsCredentialExport" : "/bin/generate_aws_grant.sh"
}
awsAuthRefresh とは異なり、Claude Code はこのコマンドが設定されている場合、環境の認証情報を最初にチェックせずに常に実行します。高度な認証情報設定 を参照してください。
`forceLoginMethod`
ユーザーがログインできるアカウントの種類を制限します。"claudeai" を設定して claude.ai アカウントのみを許可するか、"console" を設定して Claude Console アカウントのみを許可するか、"gateway" を設定して クラウドゲートウェイ にユーザーを送信します。管理者は管理設定で設定し、forceLoginOrgUUID と組み合わせて開発者の claude.ai ログインを 1 つの組織内に保つことができます。任意の設定ファイルで "claudeai" または "console" に設定した場合、Claude Code はそのファイルが適用されるセッションで キーレス Console サインイン の提供も停止します。
スコープ : Any file 。Claude Code は "gateway" をマシン上の管理ソース(managed-settings.json、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー)からのみ受け入れます。ユーザー、プロジェクト、ローカル、HKCU、およびサーバー管理設定では "gateway" を未設定として扱います。これは forceLoginGatewayUrl と同じルールです。
タイプ : 文字列、以下のいずれか:
"claudeai": claude.ai アカウントのみがログインできます
"console": Claude Console アカウントのみがログインできます
"gateway": Claude Code はユーザーをファーストパーティログインの代わりにクラウドゲートウェイに送信します
デフォルト : 未設定。ユーザーはログイン方法を選択します
{
"forceLoginMethod" : "claudeai"
}
すべてのファーストパーティログインパスが制限を適用します。VS Code 拡張機能 、Agent SDK、claude setup-token、および /install-github-app を含みます。ただし、ターミナルのインタラクティブログイン画面(/login または初回実行オンボーディングで到達)は、メソッドを事前選択しますが強制しません。v2.1.212 より前は、ターミナルログインのみが適用されていました。ログインを組織に制限する を参照して、各ログインパス、環境認証情報、およびサードパーティプロバイダーがどのように処理されるかを確認してください。
マシン上の管理ソースが "gateway" を設定する場合、Claude Code は残されたログイン、API キー、または apiKeyHelper 認証情報を使用しません。各メッセージについては 管理者ポリシーがクラウドゲートウェイサインインを必要とします を参照してください。CLAUDE_CODE_USE_BEDROCK または同様の環境変数を通じてクラウドプロバイダーを選択する場合、セッションはゲートウェイサインインを必要としません。v2.1.261 より前は、Claude Code はこれらのマシンで残されたログインを使用していました。
`forceLoginGatewayUrl`
/login クラウドゲートウェイ画面が接続するゲートウェイ URL を設定して、ユーザーがアドレスを入力せずに クラウドゲートウェイ に到達できるようにします。画面には URL フィールドがありません。このキーが設定されている場合、ゲートウェイ URL を表示し、ユーザーが Enter キーを押すと接続します。設定されていない場合、IT 管理者に連絡するよう指示します。
このキーまたは forceLoginMethod: "gateway" のいずれかがマシンをゲートウェイのみにするため、/login はログイン方法ピッカーなしでクラウドゲートウェイ画面で開きます。残されたファーストパーティログインまたは API キーに何が起こるかについては、管理者ポリシーがクラウドゲートウェイサインインを必要とします を参照してください。画面がエラーを表示する代わりに接続するように、両方のキーを設定します。
スコープ : Managed 。マシン上のソースからのみ読み取ります。managed-settings.json、macOS plist または Windows HKLM レジストリ、またはポリシーヘルパー。Claude Code は HKCU およびサーバー管理設定では無視します。
タイプ : 文字列、スキームを含む完全な URL
デフォルト : 未設定。クラウドゲートウェイ画面は IT 管理者に連絡するよう指示するエラーを表示します
{
"forceLoginGatewayUrl" : "https://claude-gateway.example.com"
}
値が有効な URL でない場合、サインイン画面はそれを報告し、管理設定ファイルの残りは引き続き適用されます。ゲートウェイ URL を設定する を参照してください。
`forceLoginOrgUUID`
管理ソースから、claude.ai アカウントログインが 1 つの Anthropic 組織(単一の UUID として指定)または複数の組織(配列として指定)に属することを要求します。任意の設定ファイルから、Claude Code は単一の UUID を使用して claude.ai または Claude Console ログイン中にその組織を事前選択し、配列の場合は何も事前選択しません。任意の設定ファイルでキーを設定する場合、Claude Code はそのファイルが適用されるセッションで キーレス Console サインイン の提供も停止し、代わりに API キーを作成します。
スコープ : Any file 。管理ソースのみが制限を強制します。他の設定ファイルの単一の UUID は、制限なしにログイン中に組織を事前選択します。
タイプ : 文字列、1 つの UUID、または文字列の配列、複数の UUID
デフォルト : 未設定。任意の組織がログインできます
この例は、1 つを事前選択せずに 2 つの組織のいずれかからのログインを受け入れます。
{
"forceLoginOrgUUID" : [ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" , "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" ]
}
管理ソースが空の配列を設定するか、Claude Code が解析できない値を設定する場合、Claude Code はすべてのログインを設定ミスメッセージでブロックします。
ログインを組織に制限する を参照して、Claude Code が Claude Console ログイン、他のログインパス、および環境認証情報をどのように扱うかを確認してください。
`gcpAuthRefresh`
Claude Code が Google Cloud Application Default Credentials の有効期限が切れているか読み込めないことを検出したときにリフレッシュするために独自のコマンドを実行して、Google Cloud の Agent Platform リクエストが手動で再認証することなく機能し続けるようにします。
スコープ : Any file
タイプ : 文字列、シェルコマンドライン
デフォルト : 未設定。Claude Code の認証情報エラーは gcloud auth application-default login を自分で実行するよう指示します
{
"gcpAuthRefresh" : "gcloud auth application-default login"
}
高度な認証情報設定 を参照してください。
Claude Code が OpenTelemetry エクスポートで送信するヘッダーを生成するために独自のコマンドを実行します。トークンが回転するバックエンド用です。Claude Code はスタートアップ時と定期的にその後実行し、stdout で文字列ヘッダー値の JSON オブジェクトを期待します。
スコープ : Any file
タイプ : 文字列、実行可能パスまたはシェルコマンドライン
デフォルト : 未設定。Claude Code はヘルパー生成ヘッダーを追加しません
{
"otelHeadersHelper" : "/bin/generate_otel_headers.sh"
}
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS でリフレッシュ間隔を設定します。スクリプト要件と Claude Code が失敗したヘルパーを報告する場所については、動的ヘッダー を参照してください。
アップデートとバージョン管理
アップデートチャネルを選択し、組織の場合はユーザーが実行できるバージョンをピン留めします。Claude Code を更新 を参照してください。
`autoUpdatesChannel`
リリースチャネル をバックグラウンド自動更新と claude update が従うかを選択します。通常約 1 週間前のバージョンで、大きな回帰を含むリリースをスキップする "stable" を設定するか、最新リリースの "latest" を設定します。
スコープ : Any file 。組織全体で 1 つのチャネルを強制するために、管理設定で設定します。
タイプ : 文字列、以下のいずれか:
"latest":更新は最新リリースに従う
"stable":更新は通常約 1 週間前のバージョンに従い、大きな回帰を含むリリースをスキップする
デフォルト : 未設定の場合、Claude Code は "latest" に従う
{
"autoUpdatesChannel" : "stable"
}
Claude Code は /config の Auto-update channel で選択すると、ユーザー設定に "stable" を書き込み、そこで最新に戻すとキーを削除します。claude install stable と claude install latest も、指定したチャネルを保存します。/config で "latest" から "stable" に切り替えると、ダウングレードを許可するか現在のバージョンにとどまるかを尋ねます。とどまることを選択すると、minimumVersion が設定されます。Homebrew インストールはこのキーを無視します:claude-code cask は stable を追跡し、claude-code@latest は latest を追跡し、claude update は brew upgrade に従います。自動更新を完全に無効にするには、env で DISABLE_AUTOUPDATER を設定します。
`minimumVersion`
バックグラウンド自動更新と claude update がこれより下のバージョンをインストールするのを防ぎます。これにより、"stable" チャネルに移動しても、より新しい "latest" ビルドからダウングレードされません。Claude Code は /config でチャネルを切り替えながら現在のバージョンにとどまることを選択すると、このキーを書き込み、"latest" に戻すと削除します。
スコープ : Any file 。ユーザーおよびプロジェクト設定が低下させることができない、組織全体の最小値をピン留めするために、管理設定で設定します。
タイプ : 文字列、"2.1.100" などのバージョン番号
デフォルト : 未設定の場合、更新はチャネルが提供するすべてのバージョンをインストールできる
この例は stable チャネルに従い、2.1.100 より下のバージョンをインストールするのを拒否します:
{
"autoUpdatesChannel" : "stable" ,
"minimumVersion" : "2.1.100"
}
このキーは更新のみを制約します。Claude Code がバージョン以下で起動するのを拒否させるには、代わりに requiredMinimumVersion を使用します。最小バージョンをピン留めする を参照してください。
`requiredMaximumVersion`
組織が起動を許可する最新の Claude Code バージョンを設定します。実行中のバージョンがより新しい場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて承認されたバージョンをインストールするよう指示します。claude install <version> も機能する場合があります。Claude Code v2.1.163 以降が必要です。
スコープ : Managed 。Claude Code は他の場所でキーを無視するときに警告を表示しません。
タイプ : 文字列、"2.1.150" などのバージョン番号。有効なバージョンではない値は無視されます
デフォルト : 未設定の場合、上限は適用されません
{
"requiredMaximumVersion" : "2.1.150"
}
バックグラウンド自動更新と claude update は上限より上のバージョンをスキップするため、範囲内のインストールは範囲内にとどまります。claude update、claude install、および claude doctor は、ユーザーが復旧できるように上限より上で機能し続けます。requiredMinimumVersion とペアにして、範囲を強制します。
`requiredMinimumVersion`
組織が起動を許可する最も古い Claude Code バージョンを設定します。実行中のバージョンがより古い場合、Claude Code は起動時に終了し、ユーザーに組織の承認された方法を通じて更新するよう指示します。チェックは起動時のみ実行されるため、既に実行中のセッションは続行されます。Claude Code v2.1.163 以降が必要です。
スコープ : Managed 。Claude Code は他の場所でキーを無視するときに警告を表示しません。
タイプ : 文字列、"2.1.150" などのバージョン番号。有効なバージョンではない値は無視されます
デフォルト : 未設定の場合、下限は適用されません
{
"requiredMinimumVersion" : "2.1.150"
}
claude update、claude install、および claude doctor は、ユーザーが復旧できるように下限より下で機能し続けます。ダウングレードのみを防ぐ minimumVersion とは異なり、このキーは起動をブロックします。requiredMaximumVersion とペアにして、範囲を強制します。
Claude Code デスクトップアプリ で特定のツールをオフにします。ターミナル CLI はこれらのキーを無視します。ツール自体については、Claude が利用可能なツール を参照してください。
`browserExternalPageTools`
デスクトップアプリのブラウザペイン で、Claude がそのツールを使用して外部ページを読み取ったり、外部ページに対して操作したりするのを停止します。組織内のユーザーは引き続き外部サイトを自分で開くことができ、ローカル開発サーバープレビューは Claude のツールで引き続き機能します。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
スコープ : Managed
タイプ : 文字列、"disabled"。デスクトップアプリは"disable"も受け入れます。どちらの場合でも同じです
デフォルト : 未設定。Claude のツールは外部ページで機能します
{
"browserExternalPageTools" : "disabled"
}
その他の値を指定すると Claude のツールはオンのままになり、受け入れられた 2 つの値のいずれでもない空でない文字列は警告をログに記録します。ユーザーと Claude の両方に対して外部サイトをブロックするには、代わりにdisableBrowserExternalNavigation を設定してください。組織の外部ブラウジングを制限する を参照してください。
`disableBrowserExternalNavigation`
デスクトップアプリのブラウザペイン で、ユーザーと Claude の両方に対して外部ブラウジングをオフにします。Localhost 開発サーバープレビューは引き続き機能します。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
スコープ : Managed
タイプ : ブール値。JSON ブール値trueのみが有効です
true: デスクトップアプリは、ブラウザペインでユーザーと Claude の両方に対して外部ブラウジングをオフにします。localhost プレビューは引き続き機能します
false: 外部ブラウジングはオンのままです
デフォルト : 未設定。外部ブラウジングはオンです
{
"disableBrowserExternalNavigation" : true
}
デスクトップアプリはその他の値を無視し、文字列"true"や1などのブール値ではない値も警告をログに記録します。外部ブラウジングはオンのままにしておきたいが、Claude のツールを外部ページでオフにしたい場合は、代わりにbrowserExternalPageTools を設定してください。組織の外部ブラウジングを制限する を参照してください。
デスクトップアプリのiOS シミュレータペイン に対する Claude のツールをブロックします。ユーザーはペインの手動使用を継続できます。Claude のアクセスのみが削除され、アプリ内から誰もそれを再度オンにすることはできません。デスクトップアプリはこのキーを読み取ります。ターミナル CLI は無視します。
スコープ : Managed
タイプ : ブール値。JSON ブール値trueのみが有効です
true: デスクトップアプリは iOS シミュレータペインに対する Claude のツールをブロックします
false: Claude のシミュレータツールは、デスクトップアプリ内の各ユーザーの設定トグルに従います
デフォルト : 未設定。Claude のシミュレータツールは、デスクトップアプリ内の各ユーザーの設定トグルに従います
{
"disableMobileSimulatorTools" : true
}
デスクトップアプリはその他の値を無視し、文字列"true"や1などのブール値ではない値も警告をログに記録します。
プライバシーとテレメトリ
Claude Code がセッションデータをどのくらいの期間保持し、何を送信するかを制御します。使用メトリクスとエラーレポートをオフにするスイッチは、設定キーではなく環境変数です。env キーまたはシェルで DISABLE_TELEMETRY、DISABLE_ERROR_REPORTING、または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC を設定します。テレメトリサービス では、各環境変数が何を停止するかについて説明しています。2 つの例外は設定ファイルからオフになります。以下の feedbackDrafts は Claude が作成したフィードバック用、および以下の feedbackSurveyRate はセッションサーベイ用です。
`cleanupPeriodDays`
Claude Code が セッショントランスクリプトおよび他のアプリケーションデータ を削除する前に保持する日数を設定します。Claude Code はセッション開始後にバックグラウンド削除を実行します。保持期間を安全に判定できる限り実行されます。
スコープ : Any file
タイプ : 日数、整数、最小値 1
デフォルト : 30
{
"cleanupPeriodDays" : 20
}
0 を設定するとバリデーションが失敗するため、長期保持の場合は 3650 などの大きな値を選択してください。Claude Code がトランスクリプトを書き込まないようにするには、プレーンテキストストレージ を参照してください。
`desktopSessionCleanupPeriodDays`
Claude Desktop または Cowork で開始または最後に続行したセッションのトランスクリプトに対して、日数での年齢制限を設定します。このキーがない場合、Claude Code は それらのトランスクリプトを任意の年齢で保持します 。Claude Code は各トランスクリプトが、この制限と cleanupPeriodDays の両方より古い場合に削除します。したがって、cleanupPeriodDays がデフォルトの 30 の場合、7 の値でも 30 日間保持されます。管理設定が cleanupPeriodDays を設定する場合、その期間が代わりに適用され、このキーは無視されます。Claude Code v2.1.248 以降が必要です。
スコープ : User or managed 。Claude Code は --settings で渡すファイルからキーを読み込み、プロジェクトおよびローカル設定では無視します。
タイプ : 日数、整数、最小値 0
デフォルト : 0。年齢制限を設定しません
{
"desktopSessionCleanupPeriodDays" : 90
}
`feedbackDrafts`
Claude が作成したフィードバック を制御します。Claude がレビュー用のフィードバックドラフトをキューに入れることができるかどうか、および Claude Code が Claude がドラフトをキューに入れたときにカードを表示するかどうかを制御します。
スコープ : User or managed
タイプ : 文字列。"notify"、"quiet"、または "off" のいずれか
"notify":Claude Code は Claude がドラフトをキューに入れたときにプロンプトの上にカードを表示します。デフォルトではセッションあたり 最大 3 枚のカード
"quiet":Claude はカードなしでドラフトを作成します。プロンプトフッターでキューに入れられたドラフトの数を確認し、/feedback でレビューします
"off":Claude Code は SendFeedback ツールを削除するため、Claude はドラフトをキューに入れることができません
デフォルト : "notify"
セッションごとのオーバーライド : CLAUDE_CODE_SEND_FEEDBACK を 0 に設定すると、1 つのセッションでこの機能がオフになります
{
"feedbackDrafts" : "quiet"
}
/config に Claude-drafted feedback として表示されます。これはこのキーをユーザー設定に書き込みます。/config 行は Claude がフィードバックドラフトを作成できるセッション でのみ表示されます。"off" を設定してもこれは非表示にならないため、同じ行から機能を再度オンにできます。管理設定の値はユーザー設定より優先されるため、管理者がこのキーを設定すると、行は管理値を表示し、変更しても効果がありません。Claude Code はプロジェクトおよびローカル設定でこのキーを無視します。
`feedbackSurveyRate`
セッション品質サーベイ がセッションがそれに適格である場合に表示される確率を設定します。0 を設定してサーベイが表示されないようにします。
スコープ : Any file
タイプ : 0 から 1 の間の数値
デフォルト : 未設定。Claude Code は Anthropic がリモートで設定する率を使用するか、Amazon Bedrock、Google Cloud の Agent Platform、および Microsoft Foundry でのビルトイン率 0.005 を使用します。これらはリモート設定を受け取りません
セッションごとのオーバーライド : CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY を 1 に設定すると、このキーが設定する率に関係なく、1 つのセッションでサーベイがオフになります
{
"feedbackSurveyRate" : 0.05
}
同じ率が VS Code 拡張機能のサーベイに適用されます。
`skipWebFetchPreflight`
WebFetch ドメイン安全性チェック をスキップします。このチェックは、フェッチする前に各リクエストされたホスト名を api.anthropic.com に送信します。Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry デプロイメント(制限的な出力を持つ)など、Anthropic へのトラフィックをブロックする環境で true を設定します。
スコープ : Any file
タイプ : ブール値
true:Claude Code は WebFetch ドメイン安全性チェックをスキップします
false:チェックはセッション内の各ホスト名への最初のフェッチの前に実行され、以前のチェックがブロックされたか失敗したホスト名に対して再度実行されます
デフォルト : 未設定。チェックはセッション内の各ホスト名への最初のフェッチの前に実行されます
{
"skipWebFetchPreflight" : true
}
チェックがスキップされた場合、WebFetch はブロックリストを参照せずに任意の URL を試行するため、Claude が到達できるドメインを制限する必要がある場合は WebFetch 権限ルール と組み合わせてください。
エンタープライズおよび管理設定
組織がマネージド設定を計算、更新、および組み合わせるために使用するキー。マネージド設定の設定 を参照してください。
`disableSideloadFlags`
起動時に --plugin-dir、--plugin-url、--agents、および --mcp-config CLI フラグを拒否します。ユーザーはこれらのフラグを渡して、単一の実行で strictKnownMarketplaces をバイパスできます。Claude Code はエラーで終了し、拒否されたフラグを名前で指定します。また、これらのフラグで CLI を内部的に開始するサーフェスに同じチェックを適用します。現在、デスクトップアプリの Cowork ローカルセッションです。クラウドセッション では、Claude Code はサーバーが --mcp-config を通じて配信した MCP サーバーをドロップします。ただし、プロセス内の type: "sdk" エントリを除きます。セッションを開始します。Claude Code v2.1.193 以降が必要です。
スコープ : Managed
タイプ : ブール値
true: Claude Code は起動時に --plugin-dir、--plugin-url、--agents、および --mcp-config を拒否し、エラーで終了して名前を指定します。ただし、クラウドセッションではサーバーが --mcp-config を通じて配信した MCP サーバーをドロップします。プロセス内の type: "sdk" エントリを除き、セッションを開始します
false: Claude Code はこれらのフラグを受け入れます
デフォルト : false
{
"disableSideloadFlags" : true
}
Claude Code は、サーバーがすべてプロセス内の type: "sdk" エントリである --mcp-config を受け入れます。これにより、Agent SDK と VS Code 拡張機能は動作し続けます。ユーザーは claude mcp add またはファイル .mcp.json でサーバーを追加できます。サーバーごとの制御については、allowedMcpServers も設定してください。Claude Code v2.1.193 以降が必要です。
クラウドセッションでは、Claude Code はサーバー配信のセッション中 MCP 更新も無視します。これはクラウドセッション構成と、リモートワーカーの SDK setMcpServers() の背後にあるパスです。プロセス内の type: "sdk" エントリはそこでも除外されたままです。v2.1.239 より前では、サーバー配信の --mcp-config はクラウドセッションの開始をブロックしていました。
`forceRemoteSettingsRefresh`
Claude Code が サーバー管理設定 を新たに取得するまで CLI 起動をブロックします。取得に失敗した場合、Claude Code はキャッシュされた設定または設定なしで続行する代わりに終了します。環境がマネージドポリシーなしでセッションが実行される短い時間枠を受け入れられない場合に設定します。
キーが設定されていない場合、Claude Code は取得時に起動をブロックしません。ただし、開発者が起動時にサインインする場合、取得を最大 5 秒間待機します。Cloud ゲートウェイセッションは常に待機し、ゲートウェイに到達できない場合は終了します。
スコープ : Managed 。Claude Code は、最優先度のソースでなくても、管理者制御のマネージドソースから true を受け入れます。
タイプ : ブール値
true: Claude Code は起動をブロックして、サーバー管理設定を新たに取得するまで待機し、取得に失敗した場合は終了します
false: Claude Code は取得時に起動をブロックしません。ただし、サインイン起動では最大 5 秒間待機します
デフォルト : false
{
"forceRemoteSettingsRefresh" : true
}
MDM プロファイルまたはマネージド設定ファイルで設定して、最初のサーバーペイロードが到着する前に失敗時閉鎖起動を強制します。Claude Code は、サーバー管理設定を取得するセッションでのみチェックを適用します。それらを取得しないセッション は待機せずに開始します。claude auth サブコマンドは除外されるため、ユーザーは期限切れの認証情報が取得失敗の原因である場合に再認証できます。失敗時閉鎖起動を強制する を参照してください。
`managedSourcesBehavior`
Claude Code が、組織が配信する最優先度の マネージドソース のみを適用するか、配信するすべての管理者ソースを組み合わせるかを選択します。デフォルトでは、Claude Code は ポリシーキー を含む最優先度のソースを取得し、残りを無視します。ポリシーキーは、このキーと wslInheritsWindowsSettings 以外のすべての設定キーです。サーバー管理設定または MDM ポリシーがポリシーキーを配信すると、managed-settings.json ファイルは Claude Code がすべての管理者ソースから読み取るキー のみを提供します。"merge" を使用すると、配信するすべての管理者ソースがそのキーを 1 つの組み合わせたポリシーに提供します。Claude Code v2.1.242 以降が必要です。
"merge" は、ランク付けされた 最優先度のソースの下のすべてのソースが管理者の制御下にある場合にのみ設定してください。Claude Code は、permissions.allow ルールなどの下位のソースからエントリを追加するためです。
スコープ : Managed 。Claude Code はこのキーを、このキーまたはポリシーキーを含む最優先度のソースから読み取り、ランク付けされた下位のすべてのソースでこのキーを無視します。下位のソースはそれ自体を上記のソースとの組み合わせにオプトインできません。Windows HKCU レジストリも 埋め込みホストからの親設定 も、マージに参加しません。
タイプ : 文字列、次のいずれか:
デフォルト : "first-wins"
最優先度のソースでキーを配信します。サーバー管理設定を受け取らないマシンは、Claude Code がこのキーまたはポリシーキーを含む最優先度のソースからキーを読み取るため、MDM プロファイルにもキーが必要です。managed-settings.json ファイルは最下位のランク付けされた管理者ソースであるため、そこに設定された "merge" は、それと組み合わせる下位のソースがありません。サーバー管理設定では、キーは次のようになります:
{
"managedSourcesBehavior" : "merge"
}
"merge" では、Claude Code は各キーをそのタイプで組み合わせます。このテーブルは各タイプのルールを示します。制限許可リスト、値全体取得、および最優先度ソースのみの行は、それらがカバーするすべてのキーを名前で指定し、他の行は例を示します:
sandbox.credentials.awsPairs と sandbox.ripgrep を全体として取得するには、Claude Code v2.1.257 以降が必要です。
これらのキーの 3 つは独自の条件を追加します:
policyHelper : Claude Code はポリシーキーを含む最優先度のソースが MDM ポリシーまたはマネージド設定ファイルである場合にのみそれを受け入れます。サーバー管理設定では適用されません。
modelOverrides : availableModels とペアになります。Claude Code は modelOverrides をそれを設定する最優先度のソースから取得します。ただし、上位のソースが modelOverrides なしで availableModels を設定する場合を除きます。その場合、すべてのソースから modelOverrides を無視します。
forceLoginGatewayUrl と forceLoginMethod の "gateway" 値 : Claude Code はマシン自体のマネージドソースからのみそれらを読み取り、サーバー管理設定では無視します。マシンの値はサーバー管理設定も存在する場合でも適用されます。
マシンで組み合わされたソースを確認するには、/status を実行し、Setting sources 行を読み取ります 。
`parentSettingsBehavior`
Claude Code が埋め込みホストプロセス(Agent SDK または IDE 拡張機能など)によって提供されるマネージド設定を適用するかどうかを選択します。管理者がデプロイしたマネージド層も存在する場合。"first-wins" では、Claude Code はホスト提供の設定をドロップします。"merge" では、制限のみのフィルターを通じて管理者層の下で適用します。ホストが起動するセッションに独自の制限を渡す必要がある場合、"merge" を設定します。たとえば、Claude Desktop がゲートウェイの出力許可リストを配信する場合。
スコープ : Managed 。Claude Code は最優先度の管理者制御マネージドソースから読み取ります。
タイプ : 文字列、次のいずれか:
"first-wins": Claude Code は管理者がデプロイしたマネージド層が存在する場合、ホスト提供の設定をドロップします
"merge": Claude Code は制限のみのフィルターを通じて管理者層の下でホスト提供の設定を適用します
デフォルト : "first-wins"
{
"parentSettingsBehavior" : "merge"
}
管理者がデプロイしたマネージド層が存在しない場合、このキーは効果がありません。ホストの設定は唯一のマネージド層として適用され、制限値にフィルターされます。フィルターの制限とマネージドソースの相互作用については、埋め込みホストからの親設定 と 親設定を制限する を参照してください。
`policyHelper`
起動時にマネージド設定を計算するデプロイ可能な実行可能ファイルを実行して、デバイスの状態、ID、またはリモートサービスから静的ファイルの代わりにポリシーを導出できます。Claude Code は最初のプロンプトを受け入れる前にヘルパーを実行し、それが出力する設定をセッションのマネージド設定として扱います。
スコープ : Managed 。macOS plist、Windows HKLM レジストリ、またはマネージド設定ファイルから読み取ります。Claude Code は ポリシーキー を含む最優先度のマネージドソースからキーを読み取り、そのソースが 3 つのうちの 1 つである場合にのみヘルパーを実行します。サーバー管理設定、HKCU レジストリ、およびホスト提供の親設定ではキーを無視します。
タイプ : path、timeoutMs、および refreshIntervalMs を含むオブジェクト
デフォルト : 設定されていないため、ヘルパーは実行されません
サーバー管理設定が起動時にポリシーを配信する場合、ヘルパーのソースより優先され、ヘルパーは実行されません。
後のセッション取得がサーバー管理設定が削除されたことを報告する場合、Claude Code はその時点でヘルパーを実行します。次の起動を待つ代わりに。その出力はセッションの残りを管理し、失敗した実行は 失敗した起動実行 と同じメッセージでセッションを終了します。
この例は、5 秒のタイムアウトでヘルパーを実行し、5 分ごとに再実行します:
{
"policyHelper" : {
"path" : "/usr/local/bin/claude-policy" ,
"timeoutMs" : 5000,
"refreshIntervalMs" : 300000
}
}
ヘルパー出力を書き込む
Claude Code はヘルパーを引数なしで実行し、その環境に CLAUDE_CODE_VERSION を設定し、stdout から JSON エンベロープを読み取ります。1 MiB でキャップされます。
設定を managedSettings キーの下に配置します。managedSettings キーのない単なる設定オブジェクトは、managedSettings が未定義で何も適用されず、Claude Code はエラーを報告しません:
{
"managedSettings" : {
"permissions" : { "deny" : [ "Read(//etc/secrets/**)" ] }
}
}
ヘルパーが managedSettings を出力する場合、そのオブジェクトは実行のための唯一のマネージド設定ソースになります。Claude Code は MDM、ファイル、および HKCU ソースを無視し、クロスソースキー をヘルパーの出力からのみ読み取り、親設定 をマージしません。
起動 forceRemoteSettingsRefresh チェックはヘルパーの前に実行され、任意の管理者ソースを読み取ります。ヘルパーが managedSettings を省略したエンベロープで 0 で終了する場合、マネージド設定を提供しません。他のソースは通常どおり適用されます。
ヘルパー失敗
ヘルパー実行は次の場合に失敗します:
path は policyHelper.path のルールを破ります。
path に通常ファイルがありません。Claude Code は同じ timeoutMs 予算内でヘルパーを開始する前にファイルをチェックするため、応答しないネットワークマウントは実行を失敗させる可能性があります。
ヘルパーが 0 以外で終了し、timeoutMs が経過してもまだ実行中であるか、まったく開始されません。たとえば、実行可能でないため。
ヘルパーが stdout または stderr に 1 MiB 以上を書き込みます。
stdout は単一の JSON オブジェクトではないか、その managedSettings に Claude Code が修復できないスキーマ違反 があります。
起動実行が失敗する場合、Claude Code は理由を出力し、起動を拒否します。0 以外の終了後、理由にはヘルパーの stderr が含まれます。stderr が空の場合は stdout が含まれます。タイムアウト後、理由は timeoutMs 制限を名前で指定し、ヘルパーの出力は含まれません。拒否はインタラクティブセッション、claude -p、Agent SDK セッション、バックグラウンドセッション 、およびほとんどのサブコマンドをカバーします。
拒否は意図的なため、アウテージ復元力が必要なヘルパーは独自のキャッシュから提供し、0 で終了する必要があります。
バックグラウンド更新が失敗する場合、Claude Code は最後に成功したポリシーを有効に保ち、/status は更新が成功するまで失敗した更新とその理由を表示します。各更新は起動実行と同じ timeoutMs および失敗ルールの下で実行されます。
--debug を使用すると、Claude Code はすべての実行からヘルパーの stderr を デバッグログ に書き込みます。
Claude Code は無効な policyHelper 値を ドロップされたエントリ として報告し、残りのマネージド設定でセッションを開始し、ヘルパーを実行しません。無効な値には、単なるパス文字列と その最小値 より低い timeoutMs が含まれます。
ヘルパーをオフにするには、それを設定するソースからキーを削除します。
`policyHelper.path`
Claude Code が実行するヘルパー実行可能ファイルに名前を付けます。パスがルールを破った場合の動作については、ヘルパー失敗 を参照してください。
スコープ : Managed 。macOS plist、Windows HKLM レジストリ、またはマネージド設定ファイルから読み取ります。policyHelper が読み取られる場所。
タイプ : 文字列、. または .. セグメントのない正規化された形式の絶対パス。Windows では、.exe で終わるドライブレターまたは UNC パス
デフォルト : なし。policyHelper が設定されている場合は必須
{
"policyHelper" : {
"path" : "/usr/local/bin/claude-policy"
}
}
`policyHelper.timeoutMs`
Claude Code がヘルパーを待機する期間を設定してから、実行を失敗として扱います。タイムアウトした実行は 0 以外の終了と同じ方法で失敗するため、起動時に Claude Code は起動を拒否します。
スコープ : Managed 。macOS plist、Windows HKLM レジストリ、またはマネージド設定ファイルから読み取ります。policyHelper が読み取られる場所。
タイプ : 整数、ミリ秒、最小 1000
デフォルト : 10000
{
"policyHelper" : {
"path" : "/usr/local/bin/claude-policy" ,
"timeoutMs" : 5000
}
}
`policyHelper.refreshIntervalMs`
Claude Code がバックグラウンドでヘルパーを間隔で再実行して、ポリシーの変更が実行中のセッションに到達するようにします。更新が成功する場合、その出力は前のマネージド設定を再起動なしで置き換えます。更新が失敗する場合、Claude Code は既に持っているポリシーを保ちます。
スコープ : Managed 。macOS plist、Windows HKLM レジストリ、またはマネージド設定ファイルから読み取ります。policyHelper が読み取られる場所。
タイプ : 整数、ミリ秒: 更新を無効にするには 0、それ以外は最低 60000
デフォルト : 設定されていないため、Claude Code はヘルパーを起動時に 1 回実行します
この例は、5 分ごとにヘルパーを再実行します:
{
"policyHelper" : {
"path" : "/usr/local/bin/claude-policy" ,
"refreshIntervalMs" : 300000
}
}
`wslInheritsWindowsSettings`
WSL 上の Claude Code が Windows ポリシーチェーンからマネージド設定を読み取るようにします。HKLM と Windows マネージド設定ファイルが /etc/claude-code と下の HKCU より優先されます。チェーンがオンの間、Claude Code は C:\Program Files\ClaudeCode\ の下のマネージド設定ファイルまたはドロップインが ポリシーキー を配信しない場合にのみ /etc/claude-code を読み取ります。Windows に既にデプロイしたポリシーを WSL セッションに拡張するように設定して、同じマシン上のホストセッションと同じルールに従うようにします。Claude Code はそれを HKLM レジストリキーまたは C:\Program Files\ClaudeCode\ の下のマネージド設定ファイルまたはドロップインで設定した場合にのみ受け入れます。どちらも Windows 管理者が書き込む必要があります。
スコープ : Managed 。管理者制御の Windows ソースで。
タイプ : ブール値
true: WSL 上の Claude Code は Windows ポリシーチェーンからマネージド設定を読み取り、C:\Program Files\ClaudeCode\ の下のマネージド設定ファイルまたはドロップインが ポリシーキー を配信しない場合にのみ /etc/claude-code を読み取ります
false: WSL は /etc/claude-code のみを読み取ります
デフォルト : false。WSL は /etc/claude-code のみを読み取ります
{
"wslInheritsWindowsSettings" : true
}
管理者ソースがチェーンをオンにすると、HKCU ポリシーは HKCU もキーを true に設定する場合にのみ WSL に参加します。そのコピーはそれ自体でチェーンをオンにしません。このキーのみを含む Windows ソースはポリシーソースとしてカウントされないため、下位優先度のソースはポリシーを提供します。このキーはネイティブ Windows に効果がありません。
グローバル設定
これらのキーを ~/.claude.json に保存してください。設定ファイルには保存しないでください。Claude Code はそれ以外の場所ではこれらを無視します。Claude Code と /config はほとんどのキーを自動的に書き込みます。また、手動で編集することもできます。
`autoConnectIde`
外部ターミナルから Claude Code を起動するときに、実行中の IDE に自動的に接続します。VS Code または JetBrains ターミナルの外で Claude Code を実行する場合、/config に Auto-connect to IDE (external terminal) として表示されます。
スコープ : グローバル設定
タイプ : ブール値
true: Claude Code は外部ターミナルから起動するときに、実行中の IDE に自動的に接続します
false: Claude Code は外部ターミナルから自動的に接続しません。ただし、VS Code または JetBrains ターミナル内、または --ide を使用する場合は接続します
デフォルト : false
セッションごとのオーバーライド : CLAUDE_CODE_AUTO_CONNECT_IDE はこのキーより優先され、1 つのセッションでどちらの方向でも機能します
{
"autoConnectIde" : true
}
Claude Code は settings.json でこのキーを無視します。
`autoInstallIdeExtension`
VS Code ターミナルから Claude Code を実行するときに、Claude Code IDE 拡張機能を自動的にインストールします。VS Code または JetBrains ターミナル内で Claude Code を実行する場合、/config に Auto-install IDE extension として表示されます。
スコープ : グローバル設定
タイプ : ブール値
true: Claude Code は VS Code ターミナルから実行するときに IDE 拡張機能を自動的にインストールします
false: Claude Code は拡張機能を自動的にインストールしません
デフォルト : true
セッションごとのオーバーライド : CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL を 1 に設定すると、このキーが true の場合でも 1 つのセッションのインストールをスキップします
{
"autoInstallIdeExtension" : false
}
Claude Code は settings.json でこのキーを無視します。
`copyOnSelect`
フルスクリーンレンダリング またはエージェントビュー でマウスで選択を終了したときに、テキストをクリップボードに自動的にコピーします。フルスクリーンレンダリングがオンの場合、/config に Copy on select として表示されます。
スコープ : グローバル設定
タイプ : ブール値
true: Claude Code は選択を終了したときにテキストをクリップボードにコピーします
false: テキストを選択してもクリップボードは変わらず、代わりにキーボードショートカットで選択をコピー します
デフォルト : true
{
"copyOnSelect" : false
}
Claude Code は settings.json でこのキーを無視します。
VS Code またはJetBrains IDE が接続されているときに、Claude Code が提案する Edit または Write 変更の差分を表示する場所を選択します。"auto" は IDE の差分ビューアで開き、"terminal" はターミナルに保持します。Claude Code が VS Code または JetBrains IDE に接続されている場合のみ、/config に Diff tool として表示されます。
スコープ : グローバル設定
タイプ : 文字列、以下のいずれか:
"auto": Claude Code は VS Code または JetBrains IDE が接続されているときに IDE の差分ビューアで差分を開きます
"terminal": Claude Code は差分をターミナルに保持します
デフォルト : "auto"
{
"diffTool" : "terminal"
}
Claude Code は settings.json でこのキーを無視します。
`externalEditorContext`
Ctrl+G を押すと、Claude Code は入力中のプロンプトを外部エディタ で開きます。このキーをオンにすると、エディタバッファは Claude の前の応答で # コメント行として開始されるため、書き込み中に読むことができ、Claude Code は保存時にこれらの行を削除します。/config に Show last response in external editor として表示されます。
スコープ : グローバル設定
タイプ : ブール値
true: エディタバッファは Claude の前の応答で # コメント行として開始され、Claude Code は保存時にこれらを削除します
false: エディタバッファはプロンプトのみで開きます
デフォルト : false
{
"externalEditorContext" : true
}
オンにすると、Claude Code が開くバッファは次のようになり、マーカー行の下のテキストのみがプロンプトとして送信されます:
# ─── Claude's last response (for reference; removed on save) ───
# I added the retry loop to fetchUser in src/api.ts and a test
# for the timeout case. Want me to wire the same retry into
# fetchOrders?
# ─── Write your reply below this line ──────────────────────────
Yes, and cap it at three attempts.
Claude Code は応答の最後の 50 行を保持し、カットを # … (earlier output truncated) でマークします。
Claude Code は settings.json でこのキーを無視します。
`permissionExplainerEnabled`
v2.1.256 まで、Bash または PowerShell 権限プロンプトで Ctrl+E を押してコマンドのモデル生成説明を表示でき、このキーを false に設定してそのショートカットをオフにできました。
スコープ : グローバル設定 。v2.1.256 以前。
タイプ : ブール値
デフォルト : true
`teammateDefaultModel`
v2.1.233 まで、このキーをエージェントチーム のチームメイトのモデルに設定しました。プロンプトがモデルを指定しなかったチームメイト用:"sonnet" などのエイリアス、または null でリードのモデルに従う。Claude Code が現在そのようなチームメイト用に選択するモデルについては、チームメイトとモデルを指定 を参照してください。
スコープ : グローバル設定 。v2.1.233 以前。
タイプ : 文字列、モデルエイリアスまたは完全なモデル ID、または null
デフォルト : 未設定
関連項目