SpyBara
Go Premium

Documentation 2026-07-27 21:02 UTC to 2026-07-28 23:57 UTC

4 files changed +60 −60. View all changes and history on the product overview
2026
Wed 29 19:02 Tue 28 23:57 Mon 27 21:02 Sun 26 19:02 Sat 25 21:59 Fri 24 23:01 Thu 23 23:57 Wed 22 23:59 Tue 21 23:00 Mon 20 23:01 Sat 18 16:02 Fri 17 22:57 Thu 16 22:59 Wed 15 22:00 Tue 14 23:01 Mon 13 23:57 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01
Details

20 background: 'var(--ce-surface)',20 background: 'var(--ce-surface)',

21 border: '0.5px solid var(--ce-border-subtle)'21 border: '0.5px solid var(--ce-border-subtle)'

22 }}>{children}</code>, []);22 }}>{children}</code>, []);

23 const commandsNote = useMemo(() => <>Commands and skills are now the same mechanism. For new workflows, use <A href="/en/skills">skills/</A> instead: same <C>/name</C> invocation, plus you can bundle supporting files.</>, []);23 const commandsNote = useMemo(() => <>Commands and skills are now the same mechanism. For new workflows, use <A href="/docs/en/skills">skills/</A> instead: same <C>/name</C> invocation, plus you can bundle supporting files.</>, []);

24 const FILE_TREE = useMemo(() => ({24 const FILE_TREE = useMemo(() => ({

25 project: {25 project: {

26 label: 'your-project/',26 label: 'your-project/',


34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/en/skills">skill</A> or a path-scoped <A href="/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


60 color: '#9B7BC4',60 color: '#9B7BC4',

61 badge: 'committed',61 badge: 'committed',

62 oneLiner: 'Project-scoped MCP servers, shared with your team',62 oneLiner: 'Project-scoped MCP servers, shared with your team',

63 when: <>Servers connect when the session begins. Tool schemas are deferred by default and load on demand via <A href="/en/mcp#scale-with-mcp-tool-search">tool search</A></>,63 when: <>Servers connect when the session begins. Tool schemas are deferred by default and load on demand via <A href="/docs/en/mcp#scale-with-mcp-tool-search">tool search</A></>,

64 description: <>Configures Model Context Protocol (MCP) servers that give Claude access to external tools: databases, APIs, browsers, and more. This file holds the project-scoped servers your whole team uses. Personal servers you want to keep to yourself go in <C>~/.claude.json</C> instead.</>,64 description: <>Configures Model Context Protocol (MCP) servers that give Claude access to external tools: databases, APIs, browsers, and more. This file holds the project-scoped servers your whole team uses. Personal servers you want to keep to yourself go in <C>~/.claude.json</C> instead.</>,

65 tips: [<>Use environment variable references for secrets: <C>{'${NOTION_TOKEN}'}</C></>, <>Lives at the project root, not inside <C>.claude/</C></>, <>For servers only you need, run <C>claude mcp add --scope user</C>. This writes to <C>~/.claude.json</C> instead of <C>.mcp.json</C></>],65 tips: [<>Use environment variable references for secrets: <C>{'${NOTION_TOKEN}'}</C></>, <>Lives at the project root, not inside <C>.claude/</C></>, <>For servers only you need, run <C>claude mcp add --scope user</C>. This writes to <C>~/.claude.json</C> instead of <C>.mcp.json</C></>],

66 exampleIntro: <>This example configures the Notion MCP server so Claude can read and update pages in your workspace. The <C>{'${NOTION_TOKEN}'}</C> reference is read from your shell environment when Claude Code starts the server, so the token never lands in the file.</>,66 exampleIntro: <>This example configures the Notion MCP server so Claude can read and update pages in your workspace. The <C>{'${NOTION_TOKEN}'}</C> reference is read from your shell environment when Claude Code starts the server, so the token never lands in the file.</>,


86 oneLiner: 'Gitignored files to copy into new worktrees',86 oneLiner: 'Gitignored files to copy into new worktrees',

87 when: <>Read when Claude creates a git worktree via <C>--worktree</C>, the <C>EnterWorktree</C> tool, or subagent <C>isolation: worktree</C></>,87 when: <>Read when Claude creates a git worktree via <C>--worktree</C>, the <C>EnterWorktree</C> tool, or subagent <C>isolation: worktree</C></>,

88 description: <>Lists gitignored files to copy from your main repository into each new worktree. Worktrees are fresh checkouts, so untracked files like <C>.env</C> are missing by default. Patterns here use <C>.gitignore</C> syntax. Only files that match a pattern and are also gitignored get copied, so tracked files are never duplicated.</>,88 description: <>Lists gitignored files to copy from your main repository into each new worktree. Worktrees are fresh checkouts, so untracked files like <C>.env</C> are missing by default. Patterns here use <C>.gitignore</C> syntax. Only files that match a pattern and are also gitignored get copied, so tracked files are never duplicated.</>,

89 tips: [<>Lives at the project root, not inside <C>.claude/</C></>, <>Git-only: if you configure a <A href="/en/hooks#worktreecreate">WorktreeCreate hook</A> for a different VCS, this file is not read. Copy files inside your hook script instead</>, <>Also applies to parallel sessions in the <A href="/en/desktop#work-in-parallel-with-sessions">desktop app</A></>],89 tips: [<>Lives at the project root, not inside <C>.claude/</C></>, <>Git-only: if you configure a <A href="/docs/en/hooks#worktreecreate">WorktreeCreate hook</A> for a different VCS, this file is not read. Copy files inside your hook script instead</>, <>Also applies to parallel sessions in the <A href="/docs/en/desktop#work-in-parallel-with-sessions">desktop app</A></>],

90 exampleIntro: 'This example copies your local environment files and a secrets config into every worktree Claude creates. Comments start with # and blank lines are ignored, same as .gitignore.',90 exampleIntro: 'This example copies your local environment files and a secrets config into every worktree Claude creates. Comments start with # and blank lines are ignored, same as .gitignore.',

91 example: `# Local environment91 example: `# Local environment

92.env92.env


102 icon: 'folder',102 icon: 'folder',

103 color: 'var(--ce-accent)',103 color: 'var(--ce-accent)',

104 oneLiner: 'Project-level configuration, rules, and extensions',104 oneLiner: 'Project-level configuration, rules, and extensions',

105 description: 'Everything Claude Code reads that is specific to this project. If you use git, commit most files here so your team shares them; a few, like settings.local.json, are automatically gitignored. Each file badge shows which.',105 description: 'Everything Claude Code reads that is specific to this project. If you use git, commit most files here so your team shares them; a few, like settings.local.json, are gitignored when Claude Code saves settings to them. Each file badge shows which.',

106 children: [{106 children: [{

107 id: 'settings-json',107 id: 'settings-json',

108 label: 'settings.json',108 label: 'settings.json',


113 oneLiner: 'Permissions, hooks, and configuration',113 oneLiner: 'Permissions, hooks, and configuration',

114 when: <>Overrides global <C>~/.claude/settings.json</C>. Local settings, CLI flags, and managed settings override this</>,114 when: <>Overrides global <C>~/.claude/settings.json</C>. Local settings, CLI flags, and managed settings override this</>,

115 description: 'Settings that Claude Code applies directly. Permissions control which commands and tools Claude can use; hooks run your scripts at specific points in a session. Unlike CLAUDE.md, which Claude reads as guidance, these are enforced whether Claude follows them or not.',115 description: 'Settings that Claude Code applies directly. Permissions control which commands and tools Claude can use; hooks run your scripts at specific points in a session. Unlike CLAUDE.md, which Claude reads as guidance, these are enforced whether Claude follows them or not.',

116 contains: [<><A href="/en/permissions">permissions</A>: allow, deny, or prompt before Claude uses specific tools or commands</>, <><A href="/en/hooks">hooks</A>: run your own scripts on events like before a tool call or after a file edit</>, <><A href="/en/statusline">statusLine</A>: customize the line shown at the bottom while Claude works</>, <><A href="/en/settings#available-settings">model</A>: pick a default model for this project</>, <><A href="/en/settings#environment-variables">env</A>: environment variables set in every session</>, <><A href="/en/output-styles">outputStyle</A>: select a custom system-prompt style from output-styles/</>],116 contains: [<><A href="/docs/en/permissions">permissions</A>: allow, deny, or prompt before Claude uses specific tools or commands</>, <><A href="/docs/en/hooks">hooks</A>: run your own scripts on events like before a tool call or after a file edit</>, <><A href="/docs/en/statusline">statusLine</A>: customize the line shown at the bottom while Claude works</>, <><A href="/docs/en/settings#available-settings">model</A>: pick a default model for this project</>, <><A href="/docs/en/settings#environment-variables">env</A>: environment variables set in every session</>, <><A href="/docs/en/output-styles">outputStyle</A>: select a custom system-prompt style from output-styles/</>],

117 tips: [<>Bash permission patterns support wildcards: <C>Bash(npm test *)</C> matches any command starting with <C>npm test</C></>, <>Array settings like <C>permissions.allow</C> combine across all scopes; scalar settings like <C>model</C> use the most specific value</>],117 tips: [<>Bash permission patterns support wildcards: <C>Bash(npm test *)</C> matches any command starting with <C>npm test</C></>, <>Array settings like <C>permissions.allow</C> combine across all scopes; scalar settings like <C>model</C> use the most specific value</>],

118 exampleIntro: <>This example allows <C>npm test</C> and <C>npm run</C> commands without prompting, blocks <C>rm -rf</C>, and runs Prettier on files after Claude edits or writes them.</>,118 exampleIntro: <>This example allows <C>npm test</C> and <C>npm run</C> commands without prompting, blocks <C>rm -rf</C>, and runs Prettier on files after Claude edits or writes them.</>,

119 example: `{119 example: `{


146 badge: 'gitignored',146 badge: 'gitignored',

147 oneLiner: 'Your personal settings overrides for this project',147 oneLiner: 'Your personal settings overrides for this project',

148 when: 'Highest of the user-editable settings files; CLI flags and managed settings still take precedence',148 when: 'Highest of the user-editable settings files; CLI flags and managed settings still take precedence',

149 description: 'Personal settings that take precedence over the project defaults. Same JSON format as settings.json, but not committed. Use this when you need different permissions or defaults than the team config.',149 description: 'Personal settings that take precedence over the project defaults. Same JSON format as settings.json, gitignored when Claude Code saves a setting to it. Use this when you need different permissions or defaults than the team config.',

150 tips: [<>Same schema as settings.json. Array settings like <C>permissions.allow</C> combine across scopes; scalar settings like <C>model</C> use the local value</>, <>Claude Code adds this file to <C>~/.config/git/ignore</C> the first time it writes one. If you use a custom <C>core.excludesFile</C>, add the pattern there too. To share the ignore rule with your team, also add it to the project <C>.gitignore</C></>],150 tips: [<>Same schema as settings.json. Array settings like <C>permissions.allow</C> combine across scopes; scalar settings like <C>model</C> use the local value</>, <>When Claude Code saves a setting to this file in a repository that doesn't already ignore it, it adds <C>**/.claude/settings.local.json</C> to your global git excludes file: <C>core.excludesFile</C> from your global git config when it's set to an absolute or <C>~</C>-prefixed path, otherwise <C>$XDG_CONFIG_HOME/git/ignore</C>, or <C>~/.config/git/ignore</C>. To share the ignore rule with your team, also add it to the project <C>.gitignore</C></>],

151 exampleIntro: 'This example adds Docker permissions on top of whatever the team settings.json allows.',151 exampleIntro: 'This example adds Docker permissions on top of whatever the team settings.json allows.',

152 example: `{152 example: `{

153 "permissions": {153 "permissions": {


165 color: '#9B7BC4',165 color: '#9B7BC4',

166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',166 oneLiner: 'Topic-scoped instructions, optionally gated by file paths',

167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,167 when: <>Rules without <C>paths:</C> load at session start. Rules with <C>paths:</C> load when a matching file enters context</>,

168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/en/hooks">hooks</A> or <A href="/en/permissions">permissions</A>.</>],168 description: [<>Project instructions split into topic files that can load conditionally based on file paths. A rule without <C>paths:</C> frontmatter loads at session start like CLAUDE.md; a rule with <C>paths:</C> loads only when Claude reads a matching file.</>, <>Like CLAUDE.md, rules are guidance Claude reads, not configuration Claude Code enforces. For guaranteed behavior use <A href="/docs/en/hooks">hooks</A> or <A href="/docs/en/permissions">permissions</A>.</>],

169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],169 tips: [<>Use <C>paths:</C> frontmatter with globs to scope rules to directories or file types</>, <>Subdirectories work: <C>.claude/rules/frontend/react.md</C> is discovered automatically</>, 'When CLAUDE.md approaches 200 lines, start splitting into rules'],

170 docsLink: '/en/memory#organize-rules-with-claude/rules/',170 docsLink: '/en/memory#organize-rules-with-claude/rules/',

171 children: [{171 children: [{


369 color: '#C46686',369 color: '#C46686',

370 oneLiner: 'Dynamic workflow scripts that orchestrate many subagents',370 oneLiner: 'Dynamic workflow scripts that orchestrate many subagents',

371 when: 'Loaded at startup; each file becomes a /<name> command',371 when: 'Loaded at startup; each file becomes a /<name> command',

372 description: <>Each <C>.js</C> file is a <A href="/en/workflows">dynamic workflow</A>: a script the runtime executes to spawn and coordinate many subagents. Workflows are written by Claude and saved here from <C>/workflows</C> rather than authored from scratch.</>,372 description: <>Each <C>.js</C> file is a <A href="/docs/en/workflows">dynamic workflow</A>: a script the runtime executes to spawn and coordinate many subagents. Workflows are written by Claude and saved here from <C>/workflows</C> rather than authored from scratch.</>,

373 tips: [<>Save a run from <C>/workflows</C> with <C>s</C> to create one of these</>, <>A project workflow takes precedence over a personal one in <C>~/.claude/workflows/</C> with the same name</>],373 tips: [<>Save a run from <C>/workflows</C> with <C>s</C> to create one of these</>, <>A project workflow takes precedence over a personal one in <C>~/.claude/workflows/</C> with the same name</>],

374 docsLink: '/en/workflows'374 docsLink: '/en/workflows'

375 }, {375 }, {


382 autogen: true,382 autogen: true,

383 oneLiner: 'Subagent persistent memory, separate from your main session auto memory',383 oneLiner: 'Subagent persistent memory, separate from your main session auto memory',

384 when: 'First 200 lines (capped at 25KB) of MEMORY.md loaded into the subagent system prompt when it runs',384 when: 'First 200 lines (capped at 25KB) of MEMORY.md loaded into the subagent system prompt when it runs',

385 description: <>Subagents with <C>memory: project</C> in their frontmatter get a dedicated memory directory here. This is distinct from your <A href="/en/memory#auto-memory">main session auto memory</A> at <C>~/.claude/projects/</C>: each subagent reads and writes its own MEMORY.md, not yours.</>,385 description: <>Subagents with <C>memory: project</C> in their frontmatter get a dedicated memory directory here. This is distinct from your <A href="/docs/en/memory#auto-memory">main session auto memory</A> at <C>~/.claude/projects/</C>: each subagent reads and writes its own MEMORY.md, not yours.</>,

386 tips: [<>Only created for subagents that set the <C>memory:</C> frontmatter field</>, <>This directory holds project-scoped subagent memory, meant to be shared with your team. To keep memory out of version control use <C>memory: local</C>, which writes to <C>.claude/agent-memory-local/</C> instead. For cross-project memory use <C>memory: user</C>, which writes to <C>~/.claude/agent-memory/</C></>, <>The main session auto memory is a different feature; see <C>~/.claude/projects/</C> in the Global tab</>],386 tips: [<>Only created for subagents that set the <C>memory:</C> frontmatter field</>, <>This directory holds project-scoped subagent memory, meant to be shared with your team. To keep memory out of version control use <C>memory: local</C>, which writes to <C>.claude/agent-memory-local/</C> instead. For cross-project memory use <C>memory: user</C>, which writes to <C>~/.claude/agent-memory/</C></>, <>The main session auto memory is a different feature; see <C>~/.claude/projects/</C> in the Global tab</>],

387 docsLink: '/en/sub-agents#enable-persistent-memory',387 docsLink: '/en/sub-agents#enable-persistent-memory',

388 children: [{388 children: [{


402 autogen: true,402 autogen: true,

403 oneLiner: 'The subagent writes and maintains this file automatically',403 oneLiner: 'The subagent writes and maintains this file automatically',

404 when: 'Loaded into the subagent system prompt when the subagent starts',404 when: 'Loaded into the subagent system prompt when the subagent starts',

405 description: <>Works the same as your <A href="/en/memory#auto-memory">main auto memory</A>: the subagent creates and updates this file itself. You do not write it. The subagent reads it at the start of each task and writes back what it learns.</>,405 description: <>Works the same as your <A href="/docs/en/memory#auto-memory">main auto memory</A>: the subagent creates and updates this file itself. You do not write it. The subagent reads it at the start of each task and writes back what it learns.</>,

406 example: `# code-reviewer memory406 example: `# code-reviewer memory

407 407 

408## Patterns seen408## Patterns seen


1432 1432 

1433Claude Code membaca instruksi, pengaturan, skills, subagents, dan memory dari direktori proyek Anda dan dari `~/.claude` di direktori home Anda. Commit file proyek ke git untuk membagikannya dengan tim Anda; file di `~/.claude` adalah konfigurasi pribadi yang berlaku di semua proyek Anda.1433Claude Code membaca instruksi, pengaturan, skills, subagents, dan memory dari direktori proyek Anda dan dari `~/.claude` di direktori home Anda. Commit file proyek ke git untuk membagikannya dengan tim Anda; file di `~/.claude` adalah konfigurasi pribadi yang berlaku di semua proyek Anda.

1434 1434 

1435Di Windows, `~/.claude` diselesaikan menjadi `%USERPROFILE%\.claude`. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/id/env-vars), setiap jalur `~/.claude` di halaman ini berada di bawah direktori itu sebagai gantinya.1435Di Windows, `~/.claude` diselesaikan menjadi `%USERPROFILE%\.claude`. Jika Anda menetapkan [`CLAUDE_CONFIG_DIR`](/docs/id/env-vars), setiap jalur `~/.claude` di halaman ini berada di bawah direktori itu sebagai gantinya.

1436 1436 

1437Sebagian besar pengguna hanya mengedit `CLAUDE.md` dan `settings.json`. Sisa direktori bersifat opsional: tambahkan skills, rules, atau subagents sesuai kebutuhan Anda.1437Sebagian besar pengguna hanya mengedit `CLAUDE.md` dan `settings.json`. Sisa direktori bersifat opsional: tambahkan skills, rules, atau subagents sesuai kebutuhan Anda.

1438 1438 


1452 1452 

1453| File | Lokasi | Tujuan |1453| File | Lokasi | Tujuan |

1454| ----------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Tingkat sistem, bervariasi menurut OS | Pengaturan yang diberlakukan perusahaan yang tidak dapat Anda ganti. Lihat [pengaturan yang dikelola server](/id/server-managed-settings). |1455| `managed-settings.json` | Tingkat sistem, bervariasi menurut OS | Pengaturan yang diberlakukan perusahaan yang tidak dapat Anda ganti. Lihat [pengaturan yang dikelola server](/docs/id/server-managed-settings). |

1456| `CLAUDE.local.md` | Akar proyek | Preferensi pribadi Anda untuk proyek ini, dimuat bersama CLAUDE.md. Buat secara manual dan tambahkan ke `.gitignore`. |1456| `CLAUDE.local.md` | Akar proyek | Preferensi pribadi Anda untuk proyek ini, dimuat bersama CLAUDE.md. Buat secara manual dan tambahkan ke `.gitignore`. |

1457| Plugin yang diinstal | `~/.claude/plugins` | Marketplace yang dikloning, versi plugin yang diinstal, dan data per-plugin, dikelola oleh perintah `claude plugin`. Versi yatim piatu dihapus 7 hari setelah pembaruan atau penghapusan plugin. Lihat [plugin caching](/id/plugins-reference#plugin-caching-and-file-resolution). |1457| Plugin yang diinstal | `~/.claude/plugins` | Marketplace yang dikloning, versi plugin yang diinstal, dan data per-plugin, dikelola oleh perintah `claude plugin`. Versi yatim piatu dihapus 7 hari setelah pembaruan atau penghapusan plugin. Lihat [plugin caching](/docs/id/plugins-reference#plugin-caching-and-file-resolution). |

1458 1458 

1459`~/.claude` juga menyimpan data yang ditulis Claude Code saat Anda bekerja: transkrip, riwayat prompt, snapshot file, cache, dan log. Lihat [data aplikasi](#application-data) di bawah.1459`~/.claude` juga menyimpan data yang ditulis Claude Code saat Anda bekerja: transkrip, riwayat prompt, snapshot file, cache, dan log. Lihat [data aplikasi](#application-data) di bawah.

1460 1460 


1466 1466 

1467| Anda ingin | Edit | Cakupan | Referensi |1467| Anda ingin | Edit | Cakupan | Referensi |

1468| :--------------------------------------------------------------- | :----------------------------------------- | :----------------- | :------------------------------------------------- |1468| :--------------------------------------------------------------- | :----------------------------------------- | :----------------- | :------------------------------------------------- |

1469| Berikan Claude konteks proyek dan konvensi | `CLAUDE.md` | proyek atau global | [Memory](/id/memory) |1469| Berikan Claude konteks proyek dan konvensi | `CLAUDE.md` | proyek atau global | [Memory](/docs/id/memory) |

1470| Izinkan atau blokir tool call tertentu | `settings.json` `permissions` atau `hooks` | proyek atau global | [Permissions](/id/permissions), [Hooks](/id/hooks) |1470| Izinkan atau blokir tool call tertentu | `settings.json` `permissions` atau `hooks` | proyek atau global | [Permissions](/docs/id/permissions), [Hooks](/docs/id/hooks) |

1471| Jalankan skrip sebelum atau sesudah tool call | `settings.json` `hooks` | proyek atau global | [Hooks](/id/hooks) |1471| Jalankan skrip sebelum atau sesudah tool call | `settings.json` `hooks` | proyek atau global | [Hooks](/docs/id/hooks) |

1472| Atur variabel lingkungan untuk sesi | `settings.json` `env` | proyek atau global | [Settings](/id/settings#available-settings) |1472| Atur variabel lingkungan untuk sesi | `settings.json` `env` | proyek atau global | [Settings](/docs/id/settings#available-settings) |

1473| Simpan penggantian pribadi di luar git | `settings.local.json` | proyek saja | [Settings scopes](/id/settings#settings-files) |1473| Simpan penggantian pribadi di luar git | `settings.local.json` | proyek saja | [Settings scopes](/docs/id/settings#settings-files) |

1474| Tambahkan prompt atau kemampuan yang Anda panggil dengan `/name` | `skills/<name>/SKILL.md` | proyek atau global | [Skills](/id/skills) |1474| Tambahkan prompt atau kemampuan yang Anda panggil dengan `/name` | `skills/<name>/SKILL.md` | proyek atau global | [Skills](/docs/id/skills) |

1475| Tentukan subagent khusus dengan tools-nya sendiri | `agents/*.md` | proyek atau global | [Subagents](/id/sub-agents) |1475| Tentukan subagent khusus dengan tools-nya sendiri | `agents/*.md` | proyek atau global | [Subagents](/docs/id/sub-agents) |

1476| Orkestrasi banyak subagent dari skrip | `workflows/*.js` | proyek atau global | [Dynamic workflows](/id/workflows) |1476| Orkestrasi banyak subagent dari skrip | `workflows/*.js` | proyek atau global | [Dynamic workflows](/docs/id/workflows) |

1477| Hubungkan tools eksternal melalui MCP | `.mcp.json` | proyek saja | [MCP](/id/mcp) |1477| Hubungkan tools eksternal melalui MCP | `.mcp.json` | proyek saja | [MCP](/docs/id/mcp) |

1478| Ubah cara Claude memformat respons | `output-styles/*.md` | proyek atau global | [Output styles](/id/output-styles) |1478| Ubah cara Claude memformat respons | `output-styles/*.md` | proyek atau global | [Output styles](/docs/id/output-styles) |

1479 1479 

1480<h2 id="file-reference">1480<h2 id="file-reference">

1481 Referensi file1481 Referensi file


1486<Note>1486<Note>

1487 Beberapa hal dapat mengganti apa yang Anda masukkan dalam file ini:1487 Beberapa hal dapat mengganti apa yang Anda masukkan dalam file ini:

1488 1488 

1489 * [Pengaturan yang dikelola](/id/server-managed-settings) yang digunakan oleh organisasi Anda memiliki prioritas di atas segalanya1489 * [Pengaturan yang dikelola](/docs/id/server-managed-settings) yang digunakan oleh organisasi Anda memiliki prioritas di atas segalanya

1490 * Bendera CLI seperti `--permission-mode` atau `--settings` mengganti `settings.json` untuk sesi itu1490 * Bendera CLI seperti `--permission-mode` atau `--settings` mengganti `settings.json` untuk sesi itu

1491 * Beberapa variabel lingkungan memiliki prioritas di atas pengaturan yang setara, tetapi ini bervariasi: periksa [referensi variabel lingkungan](/id/env-vars) untuk masing-masing1491 * Beberapa variabel lingkungan memiliki prioritas di atas pengaturan yang setara, tetapi ini bervariasi: periksa [referensi variabel lingkungan](/docs/id/env-vars) untuk masing-masing

1492 1492 

1493 Lihat [prioritas pengaturan](/id/settings#settings-precedence) untuk urutan lengkapnya.1493 Lihat [prioritas pengaturan](/docs/id/settings#settings-precedence) untuk urutan lengkapnya.

1494</Note>1494</Note>

1495 1495 

1496Klik nama file untuk membuka node itu di penjelajah di atas.1496Klik nama file untuk membuka node itu di penjelajah di atas.

1497 1497 

1498| File | Cakupan | Commit | Apa yang dilakukan | Referensi |1498| File | Cakupan | Commit | Apa yang dilakukan | Referensi |

1499| --------------------------------------------------- | ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |1499| --------------------------------------------------- | ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |

1500| [`CLAUDE.md`](#ce-claude-md) | Proyek dan global | ✓ | Instruksi dimuat setiap sesi | [Memory](/id/memory) |1500| [`CLAUDE.md`](#ce-claude-md) | Proyek dan global | ✓ | Instruksi dimuat setiap sesi | [Memory](/docs/id/memory) |

1501| [`rules/*.md`](#ce-rules) | Proyek dan global | ✓ | Instruksi dengan cakupan topik, opsional gated path | [Rules](/id/memory#organize-rules-with-claude/rules/) |1501| [`rules/*.md`](#ce-rules) | Proyek dan global | ✓ | Instruksi dengan cakupan topik, opsional gated path | [Rules](/docs/id/memory#organize-rules-with-claude/rules/) |

1502| [`settings.json`](#ce-settings-json) | Proyek dan global | ✓ | Izin, hooks, variabel env, default model | [Settings](/id/settings) |1502| [`settings.json`](#ce-settings-json) | Proyek dan global | ✓ | Izin, hooks, variabel env, default model | [Settings](/docs/id/settings) |

1503| [`settings.local.json`](#ce-settings-local-json) | Proyek saja | | Penggantian pribadi Anda, auto-gitignored | [Settings scopes](/id/settings#settings-files) |1503| [`settings.local.json`](#ce-settings-local-json) | Proyek saja | | Penggantian pribadi Anda, auto-gitignored | [Settings scopes](/docs/id/settings#settings-files) |

1504| [`.mcp.json`](#ce-mcp-json) | Proyek saja | ✓ | Server MCP yang dibagikan tim | [MCP scopes](/id/mcp#mcp-installation-scopes) |1504| [`.mcp.json`](#ce-mcp-json) | Proyek saja | ✓ | Server MCP yang dibagikan tim | [MCP scopes](/docs/id/mcp#mcp-installation-scopes) |

1505| [`.worktreeinclude`](#ce-worktreeinclude) | Proyek saja | ✓ | File yang diabaikan untuk disalin ke worktrees baru | [Worktrees](/id/worktrees#copy-gitignored-files-into-worktrees) |1505| [`.worktreeinclude`](#ce-worktreeinclude) | Proyek saja | ✓ | File yang diabaikan untuk disalin ke worktrees baru | [Worktrees](/docs/id/worktrees#copy-gitignored-files-into-worktrees) |

1506| [`skills/<name>/SKILL.md`](#ce-skills) | Proyek dan global | ✓ | Prompt yang dapat digunakan kembali dipanggil dengan `/name` atau auto-invoked | [Skills](/id/skills) |1506| [`skills/<name>/SKILL.md`](#ce-skills) | Proyek dan global | ✓ | Prompt yang dapat digunakan kembali dipanggil dengan `/name` atau auto-invoked | [Skills](/docs/id/skills) |

1507| [`commands/*.md`](#ce-commands) | Proyek dan global | ✓ | Prompt file tunggal; mekanisme yang sama dengan skills | [Skills](/id/skills) |1507| [`commands/*.md`](#ce-commands) | Proyek dan global | ✓ | Prompt file tunggal; mekanisme yang sama dengan skills | [Skills](/docs/id/skills) |

1508| [`output-styles/*.md`](#ce-output-styles) | Proyek dan global | ✓ | Bagian prompt sistem khusus | [Output styles](/id/output-styles) |1508| [`output-styles/*.md`](#ce-output-styles) | Proyek dan global | ✓ | Bagian prompt sistem khusus | [Output styles](/docs/id/output-styles) |

1509| [`agents/*.md`](#ce-agents) | Proyek dan global | ✓ | Definisi subagent dengan prompt dan tools mereka sendiri | [Subagents](/id/sub-agents) |1509| [`agents/*.md`](#ce-agents) | Proyek dan global | ✓ | Definisi subagent dengan prompt dan tools mereka sendiri | [Subagents](/docs/id/sub-agents) |

1510| [`workflows/*.js`](#ce-workflows) | Proyek dan global | ✓ | Skrip workflow dinamis yang ditulis oleh Claude dan disimpan dari `/workflows`; setiap file menjadi perintah `/<name>` | [Dynamic workflows](/id/workflows) |1510| [`workflows/*.js`](#ce-workflows) | Proyek dan global | ✓ | Skrip workflow dinamis yang ditulis oleh Claude dan disimpan dari `/workflows`; setiap file menjadi perintah `/<name>` | [Dynamic workflows](/docs/id/workflows) |

1511| [`agent-memory/<name>/`](#ce-agent-memory) | Proyek dan global | ✓ | Memory persisten untuk subagents | [Persistent memory](/id/sub-agents#enable-persistent-memory) |1511| [`agent-memory/<name>/`](#ce-agent-memory) | Proyek dan global | ✓ | Memory persisten untuk subagents | [Persistent memory](/docs/id/sub-agents#enable-persistent-memory) |

1512| [`~/.claude.json`](#ce-claude-json) | Global saja | | Status aplikasi, OAuth, toggle UI, server MCP pribadi | [Global config](/id/settings#global-config-settings) |1512| [`~/.claude.json`](#ce-claude-json) | Global saja | | Status aplikasi, OAuth, toggle UI, server MCP pribadi | [Global config](/docs/id/settings#global-config-settings) |

1513| [`projects/<project>/memory/`](#ce-global-projects) | Global saja | | Auto memory: catatan Claude untuk dirinya sendiri di seluruh sesi | [Auto memory](/id/memory#auto-memory) |1513| [`projects/<project>/memory/`](#ce-global-projects) | Global saja | | Auto memory: catatan Claude untuk dirinya sendiri di seluruh sesi | [Auto memory](/docs/id/memory#auto-memory) |

1514| [`keybindings.json`](#ce-keybindings) | Global saja | | Pintasan keyboard khusus | [Keybindings](/id/keybindings) |1514| [`keybindings.json`](#ce-keybindings) | Global saja | | Pintasan keyboard khusus | [Keybindings](/docs/id/keybindings) |

1515| [`themes/*.json`](#ce-themes) | Global saja | | Tema warna khusus | [Custom themes](/id/terminal-config#create-a-custom-theme) |1515| [`themes/*.json`](#ce-themes) | Global saja | | Tema warna khusus | [Custom themes](/docs/id/terminal-config#create-a-custom-theme) |

1516 1516 

1517<h2 id="troubleshoot-configuration">1517<h2 id="troubleshoot-configuration">

1518 Troubleshoot konfigurasi1518 Troubleshoot konfigurasi

1519</h2>1519</h2>

1520 1520 

1521Jika pengaturan, hook, atau file tidak berlaku, lihat [Debug konfigurasi Anda](/id/debug-your-config) untuk perintah inspeksi dan tabel pencarian berdasarkan gejala.1521Jika pengaturan, hook, atau file tidak berlaku, lihat [Debug konfigurasi Anda](/docs/id/debug-your-config) untuk perintah inspeksi dan tabel pencarian berdasarkan gejala.

1522 1522 

1523<h2 id="application-data">1523<h2 id="application-data">

1524 Data aplikasi1524 Data aplikasi


1530 Dibersihkan secara otomatis1530 Dibersihkan secara otomatis

1531</h3>1531</h3>

1532 1532 

1533File di jalur di bawah dihapus saat startup setelah berusia lebih dari [`cleanupPeriodDays`](/id/settings#available-settings). Default adalah 30 hari.1533File di jalur di bawah dihapus saat startup setelah berusia lebih dari [`cleanupPeriodDays`](/docs/id/settings#available-settings). Default adalah 30 hari.

1534 1534 

1535| Jalur di bawah `~/.claude/` | Konten |1535| Jalur di bawah `~/.claude/` | Konten |

1536| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1536| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1537| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, tool call, dan tool result |1537| `projects/<project>/<session>.jsonl` | Transkrip percakapan lengkap: setiap pesan, tool call, dan tool result |

1538| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/id/sub-agents), dihapus bersama transkrip sesi induk saat berusia |1538| `projects/<project>/<session>/subagents/` | Transkrip percakapan [Subagent](/docs/id/sub-agents), dihapus bersama transkrip sesi induk saat berusia |

1539| `projects/<project>/<session>/tool-results/` | Output tool besar yang tumpah ke file terpisah |1539| `projects/<project>/<session>/tool-results/` | Output tool besar yang tumpah ke file terpisah |

1540| `file-history/<session>/` | Snapshot pra-edit file yang diubah Claude, digunakan untuk [checkpoint restore](/id/checkpointing). Menyimpan snapshot untuk 100 checkpoint terbaru; file snapshot yang tidak direferensikan oleh checkpoint yang dipertahankan dihapus, kecuali snapshot pertama setiap file |1540| `file-history/<session>/` | Snapshot pra-edit file yang diubah Claude, digunakan untuk [checkpoint restore](/docs/id/checkpointing). Menyimpan snapshot untuk 100 checkpoint terbaru; file snapshot yang tidak direferensikan oleh checkpoint yang dipertahankan dihapus, kecuali snapshot pertama setiap file |

1541| `plans/` | File rencana yang ditulis selama [plan mode](/id/permission-modes#analyze-before-you-edit-with-plan-mode) |1541| `plans/` | File rencana yang ditulis selama [plan mode](/docs/id/permission-modes#analyze-before-you-edit-with-plan-mode) |

1542| `debug/` | Log debug per-sesi, ditulis hanya saat Anda memulai dengan `--debug` atau menjalankan `/debug` |1542| `debug/` | Log debug per-sesi, ditulis hanya saat Anda memulai dengan `--debug` atau menjalankan `/debug` |

1543| `paste-cache/`, `image-cache/` | Konten paste besar dan gambar yang dilampirkan |1543| `paste-cache/`, `image-cache/` | Konten paste besar dan gambar yang dilampirkan |

1544| `session-env/` | Metadata lingkungan per-sesi |1544| `session-env/` | Metadata lingkungan per-sesi |

1545| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |1545| `tasks/` | Daftar tugas per-sesi yang ditulis oleh task tools |

1546| `shell-snapshots/` | Alias, fungsi, dan opsi shell yang ditangkap saat startup dan diterapkan oleh [Bash tool](/id/tools-reference#bash-tool-behavior) ke setiap perintah. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |1546| `shell-snapshots/` | Alias, fungsi, dan opsi shell yang ditangkap saat startup dan diterapkan oleh [Bash tool](/docs/id/tools-reference#bash-tool-behavior) ke setiap perintah. Dihapus saat keluar dengan bersih. Sweep membersihkan yang tertinggal setelah crash. |

1547| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |1547| `backups/` | Salinan `~/.claude.json` dengan stempel waktu yang diambil sebelum migrasi konfigurasi |

1548| `feedback-bundles/` | Arsip transkrip yang disunting ditulis oleh `/feedback` pada penyedia pihak ketiga atau saat tidak ada kredensial Anthropic yang dikonfigurasi, untuk dikirim ke tim akun Anthropic Anda |1548| `feedback-bundles/` | Arsip transkrip yang disunting ditulis oleh `/feedback` pada penyedia pihak ketiga atau saat tidak ada kredensial Anthropic yang dikonfigurasi, untuk dikirim ke tim akun Anthropic Anda |

1549| `todos/`, `statsig/`, `logs/` | Direktori warisan dari versi yang lebih lama. Tidak lagi ditulis. Sweep menghapus kontennya dan kemudian direktori kosong. |1549| `todos/`, `statsig/`, `logs/` | Direktori warisan dari versi yang lebih lama. Tidak lagi ditulis. Sweep menghapus kontennya dan kemudian direktori kosong. |


1558| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1558| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1559| `history.jsonl` | Setiap prompt yang Anda ketik, dengan timestamp dan jalur proyek. Digunakan untuk recall panah atas. |1559| `history.jsonl` | Setiap prompt yang Anda ketik, dengan timestamp dan jalur proyek. Digunakan untuk recall panah atas. |

1560| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |1560| `stats-cache.json` | Hitungan token dan biaya agregat yang ditampilkan oleh `/usage` |

1561| `remote-settings.json` | Salinan cache dari [pengaturan yang dikelola server](/id/server-managed-settings) untuk organisasi Anda. Hanya ada saat organisasi Anda telah mengonfigurasinya. Disegarkan pada setiap peluncuran. |1561| `remote-settings.json` | Salinan cache dari [pengaturan yang dikelola server](/docs/id/server-managed-settings) untuk organisasi Anda. Hanya ada saat organisasi Anda telah mengonfigurasinya. Disegarkan pada setiap peluncuran. |

1562 1562 

1563File cache dan lock kecil lainnya muncul tergantung fitur mana yang Anda gunakan dan aman untuk dihapus.1563File cache dan lock kecil lainnya muncul tergantung fitur mana yang Anda gunakan dan aman untuk dihapus.

1564 1564 


1569Transkrip dan riwayat tidak dienkripsi saat istirahat. Izin file OS adalah satu-satunya perlindungan. Jika tool membaca file `.env` atau perintah mencetak kredensial, nilai itu ditulis ke `projects/<project>/<session>.jsonl`. Untuk mengurangi paparan:1569Transkrip dan riwayat tidak dienkripsi saat istirahat. Izin file OS adalah satu-satunya perlindungan. Jika tool membaca file `.env` atau perintah mencetak kredensial, nilai itu ditulis ke `projects/<project>/<session>.jsonl`. Untuk mengurangi paparan:

1570 1570 

1571* Turunkan `cleanupPeriodDays` untuk mempersingkat berapa lama transkrip disimpan1571* Turunkan `cleanupPeriodDays` untuk mempersingkat berapa lama transkrip disimpan

1572* Atur variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/id/env-vars) untuk melewati penulisan transkrip dan riwayat prompt dalam mode apa pun. Dalam mode non-interaktif, Anda dapat meneruskan `--no-session-persistence` bersama `-p`, atau atur `persistSession: false` di Agent SDK.1572* Atur variabel lingkungan [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/id/env-vars) untuk melewati penulisan transkrip dan riwayat prompt dalam mode apa pun. Dalam mode non-interaktif, Anda dapat meneruskan `--no-session-persistence` bersama `-p`, atau atur `persistSession: false` di Agent SDK.

1573* Gunakan [aturan izin](/id/permissions) untuk menolak pembacaan file kredensial1573* Gunakan [aturan izin](/docs/id/permissions) untuk menolak pembacaan file kredensial

1574 1574 

1575<h3 id="clear-local-data">1575<h3 id="clear-local-data">

1576 Hapus data lokal1576 Hapus data lokal


1627 Sumber daya terkait1627 Sumber daya terkait

1628</h2>1628</h2>

1629 1629 

1630* [Kelola memory Claude](/id/memory): tulis dan atur CLAUDE.md, rules, dan auto memory1630* [Kelola memory Claude](/docs/id/memory): tulis dan atur CLAUDE.md, rules, dan auto memory

1631* [Konfigurasi settings](/id/settings): atur izin, hooks, variabel lingkungan, dan default model1631* [Konfigurasi settings](/docs/id/settings): atur izin, hooks, variabel lingkungan, dan default model

1632* [Buat skills](/id/skills): bangun prompt dan workflow yang dapat digunakan kembali1632* [Buat skills](/docs/id/skills): bangun prompt dan workflow yang dapat digunakan kembali

1633* [Konfigurasi subagents](/id/sub-agents): tentukan agen khusus dengan konteks mereka sendiri1633* [Konfigurasi subagents](/docs/id/sub-agents): tentukan agen khusus dengan konteks mereka sendiri

hooks.md +1 −1

Details

39| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |39| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |

40| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |40| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |

41| `PreToolUse` | Before a tool call executes. Can block it |41| `PreToolUse` | Before a tool call executes. Can block it |

42| `PermissionRequest` | When a permission dialog appears |42| `PermissionRequest` | When a tool call needs a permission decision |

43| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |43| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |

44| `PostToolUse` | After a tool call succeeds |44| `PostToolUse` | After a tool call succeeds |

45| `PostToolUseFailure` | After a tool call fails |45| `PostToolUseFailure` | After a tool call fails |

hooks-guide.md +1 −1

Details

465| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |465| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |

466| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |466| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |

467| `PreToolUse` | Before a tool call executes. Can block it |467| `PreToolUse` | Before a tool call executes. Can block it |

468| `PermissionRequest` | When a permission dialog appears |468| `PermissionRequest` | When a tool call needs a permission decision |

469| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |469| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |

470| `PostToolUse` | After a tool call succeeds |470| `PostToolUse` | After a tool call succeeds |

471| `PostToolUseFailure` | After a tool call fails |471| `PostToolUseFailure` | After a tool call fails |

Details

125| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |125| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |

126| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |126| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |

127| `PreToolUse` | Before a tool call executes. Can block it |127| `PreToolUse` | Before a tool call executes. Can block it |

128| `PermissionRequest` | When a permission dialog appears |128| `PermissionRequest` | When a tool call needs a permission decision |

129| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |129| `PermissionDenied` | When a tool call is denied by the auto mode classifier. Return `{retry: true}` to tell the model it may retry the denied tool call |

130| `PostToolUse` | After a tool call succeeds |130| `PostToolUse` | After a tool call succeeds |

131| `PostToolUseFailure` | After a tool call fails |131| `PostToolUseFailure` | After a tool call fails |