> ## Documentation Index
> Fetch the complete documentation index at: https://felimet-hub.jmcores.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 02-2 Anthropic Claude Setup: Chat, Cowork, Code

> A layer-by-layer breakdown of all three Anthropic products (Claude.ai, Claude Cowork, Claude Code), using the Claude Code .claude/ directory system as the primary reference for configuration-as-interface.

export const OptionPicker = ({options = [], lang = "zh", label}) => {
  const t = lang === "en" ? {
    pick: label || "Pick an option to compare",
    rec: "Recommended"
  } : {
    pick: label || "點選項目比較",
    rec: "推薦"
  };
  const opts = Array.isArray(options) ? options : [];
  const [sel, setSel] = useState(0);
  if (opts.length === 0) return null;
  const idx = Math.min(sel, opts.length - 1);
  const cur = opts[idx];
  const css = `
  .op-root{--op-bg:#FAF8F3;--op-surface:rgba(0,0,0,0.025);--op-border:rgba(0,0,0,0.09);--op-text:#2b2722;--op-dim:#6f6a62;--op-faint:#8a8378;--op-accent:#bf7551;border:1px solid var(--op-border);border-radius:14px;background:var(--op-bg);color:var(--op-text);overflow:hidden;}
  .dark .op-root{--op-bg:#1b1a18;--op-surface:rgba(255,255,255,0.03);--op-border:rgba(255,255,255,0.08);--op-text:#e7e3da;--op-dim:#a8a299;--op-faint:#8a8378;--op-accent:#cf8a68;}
  .op-head{padding:12px 16px 11px;border-bottom:1px solid var(--op-border);font-size:12.5px;color:var(--op-dim);display:flex;align-items:center;gap:8px;}
  .op-head-ic{color:var(--op-accent);flex-shrink:0;}
  .op-tabs{display:flex;gap:8px;padding:14px 16px 4px;flex-wrap:wrap;}
  .op-tab{position:relative;flex:1 1 130px;min-width:120px;text-align:left;background:transparent;border:1px solid var(--op-border);border-radius:11px;padding:11px 13px;cursor:pointer;color:inherit;font:inherit;transition:border-color .15s,background .15s,box-shadow .15s;}
  .op-tab:hover{background:var(--op-surface);}
  .op-tab-on{border-color:rgba(191,117,81,.5);background:rgba(191,117,81,.07);box-shadow:0 0 0 3px rgba(191,117,81,.1);}
  .op-tab-name{font-size:14.5px;font-weight:600;line-height:1.3;}
  .op-tab-on .op-tab-name{color:var(--op-accent);}
  .op-badge{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:2px 7px;border-radius:20px;background:rgba(191,117,81,.14);color:var(--op-accent);}
  .op-rec{position:absolute;top:10px;right:11px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;color:var(--op-accent);}
  .op-body{padding:6px 16px 16px;}
  .op-specs{border:1px solid var(--op-border);border-radius:10px;overflow:hidden;margin-bottom:11px;}
  .op-row{display:flex;border-top:1px solid var(--op-border);font-size:13px;}
  .op-row:first-child{border-top:none;}
  .op-k{width:42%;flex-shrink:0;padding:8px 12px;color:var(--op-dim);background:var(--op-surface);}
  .op-v{flex:1 1 0;min-width:0;padding:8px 12px;font-weight:500;}
  .op-note{font-size:13px;line-height:1.6;color:var(--op-dim);padding:0 2px;}
  `;
  return <div className="op-root">
      <style>{css}</style>
      <div className="op-head"><svg className="op-head-ic" xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z" /><path d="m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65" /><path d="m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65" /></svg>{t.pick}</div>
      <div className="op-tabs">
        {opts.map((o, i) => <button key={i} type="button" className={"op-tab" + (i === idx ? " op-tab-on" : "")} onClick={() => setSel(i)}>
            {o.recommend && <span className="op-rec">★ {t.rec}</span>}
            <div className="op-tab-name">{o.name}</div>
            {o.badge && <span className="op-badge">{o.badge}</span>}
          </button>)}
      </div>
      <div className="op-body">
        <div className="op-specs">
          {(cur.specs || []).map((row, i) => <div className="op-row" key={i}>
              <div className="op-k">{row[0]}</div>
              <div className="op-v">{row[1]}</div>
            </div>)}
        </div>
        {cur.note && <div className="op-note">{cur.note}</div>}
      </div>
    </div>;
};

export const LearnerPrimer = ({items = [], lang = "zh"}) => {
  const t = lang === "en" ? {
    title: "Before this unit, be honest with yourself",
    sub: "If you can't answer these, that gap is exactly what this unit closes."
  } : {
    title: "讀這個單元前，先誠實面對",
    sub: "這幾題答不出來，正是這個單元要替你補的洞。"
  };
  const css = `
  .lp-root{--lp-bg:#FAF7F1;--lp-surface:rgba(191,117,81,0.05);--lp-border:rgba(0,0,0,0.09);--lp-edge:rgba(191,117,81,0.42);--lp-text:#2b2722;--lp-dim:#6f6a62;--lp-accent:#bf7551;border:1px solid var(--lp-border);border-left:3px solid var(--lp-edge);border-radius:13px;background:var(--lp-bg);color:var(--lp-text);overflow:hidden;margin:1.25rem 0;}
  .dark .lp-root{--lp-bg:#1b1a18;--lp-surface:rgba(207,138,104,0.07);--lp-border:rgba(255,255,255,0.08);--lp-edge:rgba(207,138,104,0.5);--lp-text:#e7e3da;--lp-dim:#a8a299;--lp-accent:#cf8a68;}
  .lp-head{display:flex;align-items:center;gap:9px;padding:13px 18px 11px;border-bottom:1px solid var(--lp-border);background:var(--lp-surface);}
  .lp-ic{color:var(--lp-accent);flex-shrink:0;}
  .lp-htx{display:flex;flex-direction:column;gap:1px;min-width:0;}
  .lp-title{font-size:14px;font-weight:650;line-height:1.3;letter-spacing:.01em;}
  .lp-sub{font-size:12px;color:var(--lp-dim);line-height:1.4;}
  .lp-list{list-style:none;margin:0;padding:10px 18px 14px;display:flex;flex-direction:column;gap:0;}
  .lp-item{display:flex;align-items:baseline;gap:11px;padding:7px 0;font-size:14px;line-height:1.6;border-top:1px solid var(--lp-border);}
  .lp-item:first-child{border-top:none;}
  .lp-mark{flex-shrink:0;color:var(--lp-accent);font-size:13px;font-weight:700;line-height:1.55;font-variant-numeric:tabular-nums;opacity:.85;}
  .lp-q{flex:1 1 0;min-width:0;color:var(--lp-text);}
  @media (max-width:620px){.lp-head{padding:12px 14px 10px;}.lp-list{padding:8px 14px 12px;}}
  `;
  return <div className="lp-root">
      <style>{css}</style>
      <div className="lp-head">
        <svg className="lp-ic" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><circle cx="12" cy="12" r="10" /><circle cx="12" cy="12" r="6" /><circle cx="12" cy="12" r="2" /></svg>
        <span className="lp-htx">
          <span className="lp-title">{t.title}</span>
          <span className="lp-sub">{t.sub}</span>
        </span>
      </div>
      <ul className="lp-list">
        {items.map((q, i) => <li className="lp-item" key={i}>
            <span className="lp-mark">{String(i + 1).padStart(2, "0")}</span>
            <span className="lp-q">{q}</span>
          </li>)}
      </ul>
    </div>;
};

<LearnerPrimer
  lang="en"
  items={[
"Feeding sensitive data before disabling Help Improve Claude is active opt-in to training.",
"Cowork is not Code. If you can't find .claude/, you're looking at the wrong product.",
"Personal preferences belong in ~/.claude/, not the team's CLAUDE.md.",
"Without deny rules for ~/.ssh and .env, your private keys are in agent-readable scope.",
"settings.local.json not in .gitignore means your overrides commit alongside your code.",
"Confirm the privacy toggle before you act. Data in training cannot be recalled.",
"Confusing the three products and then blaming the docs is a workflow problem, not a docs problem.",
]}
/>

<Info>
  **What this unit solves**

  This is the primary reference for the whole Playbook. It unfolds the configuration surface of all three Anthropic products (Claude.ai web, Claude Cowork, Claude Code) and builds a complete reference for "configuration as interface." Every layer you see here (personalization, privacy, memory, rules, permissions, automation) has a counterpart in other tools; the only differences are the names and filenames. That mapping is the work of [02-6](/en/code-agent/configuration/other-tools-comparison).
</Info>

## Learning objectives

* [ ] Configure personal instructions in Claude.ai and verify whether your conversations are used for training.
* [ ] Explain clearly the positional difference between Claude Cowork and Claude Code without conflating the two.
* [ ] Read and build the `.claude/` directory structure, `settings.json`, and a multi-layer `CLAUDE.md`.
* [ ] Use `permissions` allow / ask / deny to constrain tool permissions to task scope.

<Warning>
  **Currency notice**

  Configuration details in this unit were verified as of 2026-05; sources are at the end. Anthropic renames UI elements and reorganizes file structures frequently. When in doubt, check the current official page.
</Warning>

***

## A. Claude.ai web (Free / Pro / Max / Team)

Three settings determine whether Claude.ai is actually useful to you: personalization, privacy, and Projects. Most people only use the chat box and never visit any of these three places.

### A1. Personalization

* **Instructions for Claude**: an account-level persistent custom instruction, located at your name initials in the lower left corner → Settings. It functions as a system instruction prepended automatically to every conversation. Write your role, domain, preferred language, and output preferences once; every conversation benefits.
* **Skills**: response style configuration (as of 2026-05; this feature was previously called "Styles" -- refer to the current `support.claude.com` page). You can upload your own writing samples via "Add Writing Example" for Claude to mimic; advanced users can check "Use custom instructions (advanced)" to override directly.
* **Projects**: each Project has an independent set of project instructions and a knowledge base. PDFs, DOCX files, and code uploaded to a Project are read by all conversations within that Project. Free accounts have a Project count limit (5 as of 2026-05; refer to the current `support.claude.com` page). For researchers: open one Project per paper topic, put the relevant literature in the knowledge base, and every conversation automatically has that context.
* **Memory**: as of 2026-05, Claude maintains separate memory summaries for each Project and for non-Project conversations with cross-conversation continuity; Free plan project memory toggle details are subject to the current `support.claude.com` page.

### A2. Privacy and data control

Read this section before personalization.

<Warning>
  **Set privacy before you act. This is irreversible.**

  Before feeding research data, unpublished manuscripts, or proprietary code into Claude.ai, confirm the state of Help Improve Claude and the data terms for your plan. Once data enters training, it cannot be retroactively removed. For one-off sensitive content, use temporary conversations rather than regular ones.
</Warning>

**Help Improve Claude toggle** (Settings → Privacy): under the Free plan, this is user-controlled. Turning it off means new conversations and coding sessions will not enter future model training. Two caveats you must know: conversations flagged by safety mechanisms may still be used for trust and safety; data that has already entered a completed training run cannot be retroactively removed.

**Retention periods**: the retention period differs between users who have opted out of training and those who have not (specific figures should be taken from the current `privacy.claude.com` page; this Playbook does not cite numbers that have not been officially confirmed).

**Team / Enterprise**: governed by separate commercial terms; business data is not used for training by default. The toggle location and name differ from the Free version; refer to each plan's admin documentation for exact names.

The minimum flow for configuring this toggle:

<Steps>
  <Step title="Open Settings">
    Click your name initials in the lower left corner of Claude.ai and select Settings.
  </Step>

  <Step title="Navigate to the Privacy tab">
    Locate the "Help Improve Claude" section.
  </Step>

  <Step title="Confirm the toggle state matches your intent">
    Turn it off to opt out of training. Note: this only affects new conversations; previously submitted data is not reversible.
  </Step>

  <Step title="Use temporary conversations for sensitive content">
    For one-off sensitive documents, select the temporary conversation option next to the chat box. It does not go through the normal memory path.
  </Step>
</Steps>

***

## B. Claude Cowork

<Note>
  **Clearing up a persistent confusion**

  An early draft of this Playbook treated Cowork as Claude Code. They are two different products with completely different configuration models and must be understood separately.
</Note>

**Positioning**: Anthropic's desktop agentic product, aimed at knowledge workers (research, analysis, finance, legal, operations), completing multi-step tasks on your local files and applications. It is not a CLI and not a developer tool.

**Difference from Claude Code**:

| Dimension             | Claude Cowork                                       | Claude Code                   |
| --------------------- | --------------------------------------------------- | ----------------------------- |
| Target user           | Knowledge workers (non-developers)                  | Developers                    |
| Interface             | Desktop application, goal-oriented                  | CLI / IDE agent               |
| Configuration surface | No `.claude/` file system                           | Full `.claude/` configuration |
| Scope of action       | Local files and applications, enterprise connectors | Code repositories             |

**Configuration surface**: primarily a goal-oriented interface -- you supply a task objective and it executes locally. There is no `settings.json` / `CLAUDE.md` configuration file system like Claude Code. Enterprise connectors (Google Drive, Gmail, DocuSign, FactSet, etc.) and domain plugins launched around early 2026 (as of 2026-05); the specific configuration mechanism for connectors is not fully indexed in publicly available official documentation; refer to `anthropic.com/product/claude-cowork` for the current state.

***

## C. Claude Code (CLI / IDE agent, the primary reference)

This is where configuration depth is greatest, and the fullest implementation of "configuration as interface" in this Playbook. The Skill / Hook / Subagent content in [02-5](/en/code-agent/configuration/skills-hooks-subagents-plugins) and the tool comparison in [02-6](/en/code-agent/configuration/other-tools-comparison) are both extensions of this configuration model.

### C1. The `.claude/` directory structure

<Tip>
  **Cross-reference the official interactive directory explorer**

  Anthropic provides an interactive `.claude` directory explorer that documents when each file is loaded, whether it should be committed, its purpose, and examples. It is the fastest way to orient yourself before getting started: [Explore the .claude directory (official)](https://code.claude.com/docs/zh-TW/claude-directory#探索目錄) (as of 2026-06). The tree below covers the commonly used subset; fields not in the tree should be taken from the official page.
</Tip>

**Project root (your repo/, mostly committed to version control)**

<Tree>
  <Tree.File name="CLAUDE.md · project instructions, loaded every session (also works at .claude/CLAUDE.md)" />

  <Tree.File name="CLAUDE.local.md · personal project instructions, gitignored" />

  <Tree.File name=".mcp.json · project-level MCP servers, shared with the team" />

  <Tree.File name=".worktreeinclude · list of gitignored files to copy into new worktrees" />

  <Tree.Folder name=".claude/ · project-layer settings, rules, extensions" defaultOpen>
    <Tree.File name="settings.json · project-scoped settings, committed" />

    <Tree.File name="settings.local.json · personal overrides, gitignored" />

    <Tree.Folder name="rules/">
      <Tree.File name="*.md · path-scoped or unconditional rules" />
    </Tree.Folder>

    <Tree.Folder name="skills/">
      <Tree.File name="<name>/SKILL.md · project skills" />
    </Tree.Folder>

    <Tree.Folder name="commands/">
      <Tree.File name="<name>.md · legacy single-file commands (new workflows should use skills/)" />
    </Tree.Folder>

    <Tree.Folder name="output-styles/">
      <Tree.File name="· project-shared output styles" />
    </Tree.Folder>

    <Tree.Folder name="agents/">
      <Tree.File name="*.md · project subagents" />
    </Tree.Folder>

    <Tree.Folder name="workflows/">
      <Tree.File name="*.js · dynamic workflow scripts, saved via /workflows" />
    </Tree.Folder>

    <Tree.Folder name="agent-memory/">
      <Tree.File name="· project-layer persistent memory for subagents (frontmatter memory: project)" />
    </Tree.Folder>
  </Tree.Folder>
</Tree>

**User layer (`~/.claude/`, Windows: `%USERPROFILE%\.claude\`)**

<Tree>
  <Tree.File name="CLAUDE.md · user-layer instructions, loaded every session" />

  <Tree.File name="settings.json · applies to all projects" />

  <Tree.File name="keybindings.json · custom keyboard shortcuts" />

  <Tree.Folder name="themes/">
    <Tree.File name="· custom color themes" />
  </Tree.Folder>

  <Tree.File name="rules/ skills/ commands/ output-styles/ agents/ workflows/ · user-layer counterpart directories" />

  <Tree.Folder name="agent-memory/">
    <Tree.File name="· subagent user-layer memory (memory: user)" />
  </Tree.Folder>

  <Tree.Folder name="projects/">
    <Tree.Folder name="<repo>/">
      <Tree.Folder name="memory/">
        <Tree.File name="MEMORY.md · index + topic files, per-repo auto memory" />
      </Tree.Folder>
    </Tree.Folder>
  </Tree.Folder>
</Tree>

**User home (`~/`, outside `~/.claude/`)**

<Tree>
  <Tree.File name=".claude.json · app state, UI preferences, personal MCP servers, per-project trust decisions" />
</Tree>

There is exactly one criterion for deciding whether a file belongs in version control: is it a team-shared convention, or is it your personal preference or a secret? The former gets committed (`settings.json`, `./CLAUDE.md`); the latter goes in `.gitignore` (`settings.local.json`, `CLAUDE.local.md`). This rule runs through all of [02-1](/en/code-agent/configuration/config-layer-model).

### C2. Configuration priority order

When there is a conflict, the winner from highest to lowest:

1. Managed policy (enterprise MDM / Group Policy; cannot be overridden)
2. CLI arguments
3. `.claude/settings.local.json` (local personal)
4. `.claude/settings.json` (project)
5. `~/.claude/settings.json` (user)

The closer the configuration is to the current task, the higher its priority. Managed policy is the only exception that flows from the top and cannot be violated.

### C3. settings.json and permissions

Key fields (as of 2026-05; refer to `code.claude.com/docs/en/settings`): `model`, `permissions` (`allow` / `ask` / `deny` three arrays), `hooks`, `env`, `statusLine`, `autoMemoryEnabled`.

<Warning>
  **Permissions are the first thing to configure**

  The evaluation order is deny first, then ask, then allow, so `deny` always overrides `allow`. At a minimum, put secrets paths and dangerous commands in `deny`. This is the first line of defense described in [03-3](/en/code-agent/judgment/security-privacy-supply-chain).
</Warning>

```json theme={null}
{
  "permissions": {
    "allow": ["Bash(npm run *)", "Read(~/.zshrc)"],
    "ask": ["Bash(git push *)"],
    "deny": ["Bash(curl *)", "Read(./.env)"]
  }
}
```

### C4. CLAUDE.md memory and imports

* Layers from highest to lowest: managed → user (`~/.claude/CLAUDE.md`) → project (`./CLAUDE.md`) → local (`./CLAUDE.local.md`, gitignored).
* **Import syntax**: use `@path/to/file` inside CLAUDE.md to import other files; paths are resolved relative to the importing file; up to 4 levels of recursion. This lets you break large rule sets into modules instead of stuffing everything into one large file (how to split them is the topic of [04-2](/en/code-agent/customization/rules)).
* **Path-scoped rules**: a `.claude/rules/*.md` file can include `paths: ["src/**/*.ts"]` in its YAML frontmatter and will only be loaded when you are working with matching files, saving context window space the rest of the time.

### C5. Auto memory

* Location: `~/.claude/projects/<repo-derived-path>/memory/MEMORY.md`, loaded every session at up to the first 200 lines or 25 KB (whichever is hit first). Topic files (e.g., `debugging.md`) are not loaded at startup; they are pulled on demand when a relevant task appears. Requires Claude Code v2.1.59 or later (as of 2026-06, per the official memory documentation).
* Control: `autoMemoryEnabled` in `settings.json`, or the environment variable `CLAUDE_CODE_DISABLE_AUTO_MEMORY=1`, or toggle with the `/memory` command.

<Warning>
  **Memory is the foothold for cross-session prompt injection**

  Memory is loaded at session start. Keep its contents narrow and never store secrets in it (see [03-3](/en/code-agent/judgment/security-privacy-supply-chain)).
</Warning>

### C6. Windows specifics

* User path: `C:\Users\<user>\.claude\` (that is, `%USERPROFILE%\.claude\`).
* Managed policy (as of 2026-05, refer to `code.claude.com/docs`): `C:\Program Files\ClaudeCode\managed-settings.json`. The exact registry key paths used for Group Policy / Intune deployment are documented in the enterprise deployment section of `code.claude.com/docs/en/settings`.

***

## Tool comparison: three Anthropic products at a glance

This unit focuses on Claude. The table below is a positioning summary of Anthropic's own three products, not a cross-vendor concept mapping. The standard cross-vendor table (OpenAI / Google / Copilot / Cursor, concept row by row) is in [02-6](/en/code-agent/configuration/other-tools-comparison):

<OptionPicker
  lang="en"
  options={[
{
  name: "Claude.ai",
  specs: [
    ["Interface type", "Browser / desktop chat"],
    ["Configuration location", "Settings (account layer) → Instructions, Skills, Privacy"],
    ["Privacy toggle location", "Settings → Privacy → Help Improve Claude"],
    ["Target user", "General users, researchers"],
  ],
  note: "Projects support document upload as a knowledge base; Memory persists across conversations.",
},
{
  name: "Claude Cowork",
  specs: [
    ["Interface type", "Desktop agentic application, goal-oriented"],
    ["Configuration location", "In-app goal setting, enterprise connectors (no config file system)"],
    ["Privacy toggle location", "Within the interface (refer to current official docs)"],
    ["Target user", "Knowledge workers (research, finance, legal, operations)"],
  ],
  note: "No .claude/ directory. Do not go looking for settings.json; configuration lives in the interface, not files.",
},
{
  name: "Claude Code",
  recommend: true,
  badge: "Primary reference",
  specs: [
    ["Interface type", "CLI / IDE agent"],
    ["Configuration location", ".claude/ directory + multi-layer CLAUDE.md"],
    ["Privacy toggle location", "settings.json env + ~/.claude/settings.json"],
    ["Target user", "Developers"],
  ],
  note: "Highest configuration depth. Skill / Hook / Subagent / Plugin all run on this same model.",
},
]}
/>

***

## Hands-on exercises

<Steps>
  <Step title="Configure Claude.ai personalization and privacy">
    Set Instructions for Claude (role, language, output preferences) and go to Settings → Privacy to confirm the state of Help Improve Claude.
  </Step>

  <Step title="Create a minimal working CLAUDE.md">
    In a project, create `./CLAUDE.md` with five sections: role, language, code style, constraints, and explicit prohibitions (template in [04-1](/en/code-agent/customization/claude-md-memory)).
  </Step>

  <Step title="Verify a deny rule">
    Add one deny rule to `.claude/settings.json` (e.g., `Read(./.env)`) and deliberately trigger it to confirm it blocks.
  </Step>

  <Step title="Move personal preferences to the user layer">
    Move a cross-project personal preference to `~/.claude/CLAUDE.md` and confirm it takes effect in a different project.
  </Step>
</Steps>

## Common pitfalls

<Warning>
  **Anti-patterns**

  * Treating Cowork as Code or vice versa, leading to a fruitless search for configuration that does not exist there.
  * Writing personal preferences into the team-shared `./CLAUDE.md`, contaminating colleagues' environments. Personal preferences belong in `~/.claude/CLAUDE.md` or `CLAUDE.local.md`.
  * Forgetting to add `settings.local.json` to `.gitignore`, committing personal overrides alongside shared configuration.
  * Feeding sensitive data before confirming privacy settings, then discovering the action is irreversible.
</Warning>

## Self-check

<Check>
  **The bar for passing this unit**

  1. Can you draw out the `.claude/` directory and explain for each file whether it should be committed and why?
  2. Do you know whether your Claude.ai account is currently contributing conversations to training? Where is the toggle?
  3. Given a path "you do not want Claude to touch," can you write the corresponding deny rule?
</Check>

## Sources and further reading

Factual claims are grounded in official documentation; fast-changing items are annotated as of 2026-05.

<div className="references">
  * \[1] Anthropic, "Settings," Claude Code Docs. (model, permissions allow/ask/deny, hooks, env, statusLine, autoMemoryEnabled key descriptions) [https://code.claude.com/docs/en/settings](https://code.claude.com/docs/en/settings) (as of 2026-05)

  * \[2] Anthropic, "Explore the .claude directory," Claude Code Docs. (when each file loads, whether it should be committed, purpose and examples; directory tree cross-checked here) [https://code.claude.com/docs/zh-TW/claude-directory](https://code.claude.com/docs/zh-TW/claude-directory) (as of 2026-06)

  * \[3] Anthropic, "Memory," Claude Code Docs. (auto memory version threshold v2.1.59+, load limit 200 lines / 25 KB, autoMemoryEnabled control) [https://code.claude.com/docs/en/memory](https://code.claude.com/docs/en/memory) (as of 2026-06)

  * \[4] Anthropic, "Privacy Policy," Claude Privacy Portal. (Help Improve Claude toggle, training opt-out mechanism) [https://privacy.claude.com](https://privacy.claude.com) (as of 2026-05)

  * \[5] Anthropic, "Projects and Skills," Claude Support. (Projects limit, Skills / Styles configuration) [https://support.claude.com](https://support.claude.com) (as of 2026-05)

  * \[6] Anthropic, "Claude Cowork," Anthropic Product Pages. [https://anthropic.com/product/claude-cowork](https://anthropic.com/product/claude-cowork) (as of 2026-05)
</div>

* Related: [02-1](/en/code-agent/configuration/config-layer-model) configuration layer model and priority order; [02-5](/en/code-agent/configuration/skills-hooks-subagents-plugins) deep dive into Skill / Hook / Subagent / Plugin; [02-6](/en/code-agent/configuration/other-tools-comparison) cross-tool concept mapping (OpenAI / Google / Copilot / Cursor); [03-3](/en/code-agent/judgment/security-privacy-supply-chain) security, privacy, and supply chain threat model; [04-1](/en/code-agent/customization/claude-md-memory) CLAUDE.md memory design; [04-2](/en/code-agent/customization/rules) modular rule splitting.
* Fast-changing items (retention period figures, Team / Enterprise toggle names, Cowork connector configuration) have been annotated with their respective official pages; re-verify against the current pages before this becomes formal course material.
