Follow Discord
Sweep 03 Oct 2026 · 20:28Z Build v2.1.289 510 read Stable v2.1.285 Latest v2.1.289 Next v2.1.289 Feeds RSS JSON llms.txt llms-full.txt Unofficial
One change · claude-code

Extend Claude Code changedfeatures-overview

Nearest release: v2.1.282, published 7 hours before upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Upstream edited this page at 24 Sep 2026 23:46 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 28 Sep 2026 23:37 UTC.

Upstream edited
Recorded here
Lines+70added
Lines−70removed
From line 31 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits15to this page, all time

The whole hunk

from line 31, old and new numbered
/
lines
from line 31
3131 
3232Features range from always-on context that Claude sees every session, to on-demand capabilities you or Claude can invoke, to background automation that runs on specific events. The table below shows what's available and when each one makes sense.
3333 
34| Feature | What it does | When to use it | Example |
35| -------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
36| **CLAUDE.md** | Persistent context loaded every conversation | Project conventions, "always do X" rules | "Use pnpm, not npm. Run tests before committing." |
37| **[Output style](/docs/en/output-styles)** | Instructions that set Claude's role, tone, and response format for a whole session | A voice, length, or format you want in every response, or Claude working as something other than a software engineer | The built-in Concise style for shorter responses; a custom style that answers every question with a diagram first |
38| **Skill** | Instructions, knowledge, and workflows Claude can use | Reusable content, reference docs, repeatable tasks | `/deploy` runs your deployment checklist; API docs skill with endpoint patterns |
39| **Subagent** | Isolated execution context that returns summarized results | Context isolation, parallel tasks, specialized workers | Research task that reads many files but returns only key findings |
40| **[Dynamic workflow](/docs/en/workflows)** | Script Claude writes that runs many subagents in the background | Work that outgrows a handful of subagents, or findings you want cross-checked | Audit a whole codebase, with a second set of agents verifying each finding |
41| **[Cross-session messaging](/docs/en/cross-session-messaging)** | Claude delivers a message from one of your sessions to another | Sessions you run yourself that need each other's findings mid-task | One session warns another that a change it made breaks what the other is building on |
42| **[Code intelligence](/docs/en/tools-reference#lsp-tool-behavior)** | Language-server navigation and diagnostics | Typed languages, large codebases where grep is slow or imprecise | Jump to a symbol's definition instead of reading the whole file |
43| **MCP** | Connect to external services | External data or actions | Query your database, post to Slack, control a browser |
44| **Hook** | Script, HTTP request, MCP tool call, prompt, or subagent triggered by events | Automation that must run on every matching event | Run ESLint after every file edit |
45| **[Artifact](/docs/en/artifacts)** | Publish session output as a private, interactive web page | Output you want to see or share visually rather than as terminal text | An incident timeline that updates as Claude investigates |
34| Feature | What it does | When to use it | Example |
35| - | - | - | - |
36| **CLAUDE.md** | Persistent context loaded every conversation | Project conventions, "always do X" rules | "Use pnpm, not npm. Run tests before committing." |
37| **[Output style](/docs/en/output-styles)** | Instructions that set Claude's role, tone, and response format for a whole session | A voice, length, or format you want in every response, or Claude working as something other than a software engineer | The built-in Concise style for shorter responses; a custom style that answers every question with a diagram first |
38| **Skill** | Instructions, knowledge, and workflows Claude can use | Reusable content, reference docs, repeatable tasks | `/deploy` runs your deployment checklist; API docs skill with endpoint patterns |
39| **Subagent** | Isolated execution context that returns summarized results | Context isolation, parallel tasks, specialized workers | Research task that reads many files but returns only key findings |
40| **[Dynamic workflow](/docs/en/workflows)** | Script Claude writes that runs many subagents in the background | Work that outgrows a handful of subagents, or findings you want cross-checked | Audit a whole codebase, with a second set of agents verifying each finding |
41| **[Cross-session messaging](/docs/en/cross-session-messaging)** | Claude delivers a message from one of your sessions to another | Sessions you run yourself that need each other's findings mid-task | One session warns another that a change it made breaks what the other is building on |
42| **[Code intelligence](/docs/en/tools-reference#lsp-tool-behavior)** | Language-server navigation and diagnostics | Typed languages, large codebases where grep is slow or imprecise | Jump to a symbol's definition instead of reading the whole file |
43| **MCP** | Connect to external services | External data or actions | Query your database, post to Slack, control a browser |
44| **Hook** | Script, HTTP request, MCP tool call, prompt, or subagent triggered by events | Automation that must run on every matching event | Run ESLint after every file edit |
45| **[Artifact](/docs/en/artifacts)** | Publish session output as a private, interactive web page | Output you want to see or share visually rather than as terminal text | An incident timeline that updates as Claude investigates |
4646 
4747**[Plugins](/docs/en/plugins/overview)** are the packaging layer. A plugin bundles skills, hooks, subagents, and MCP servers into a single installable unit. Plugin skills are namespaced (like `/my-plugin:review`) so multiple plugins can coexist. Use plugins when you want to reuse the same setup across multiple repositories or distribute to others via a **[marketplace](/docs/en/plugins/overview)**.
4848 
from line 50
5050 
5151You don't need to configure everything up front. Each feature has a recognizable trigger, and most teams add them in roughly this order:
5252 
53| Trigger | Add |
54| :------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |
55| Claude gets a convention or command wrong twice | Add it to [CLAUDE.md](/docs/en/memory) |
56| You keep asking Claude to be shorter, explain more, or answer in the same format | Set an [output style](/docs/en/output-styles) |
57| You keep typing the same prompt to start a task | Save it as a user-invocable [skill](/docs/en/skills) |
58| You paste the same playbook or multi-step procedure into chat for the third time | Capture it as a [skill](/docs/en/skills) |
59| You keep copying data from a browser tab Claude can't see | Connect that system as an [MCP server](/docs/en/mcp) |
60| Claude reads many files to find where a symbol is defined or used | Install a [code intelligence plugin](/docs/en/plugins/code-intelligence) for your language |
61| A side task floods your conversation with output you won't reference again | Route it through a [subagent](/docs/en/sub-agents) |
62| You want something to happen every time without asking | Write a [hook](/docs/en/hooks-guide) |
63| A second repository needs the same setup | Package it as a [plugin](/docs/en/plugins/overview) |
53| Trigger | Add |
54| :- | :- |
55| Claude gets a convention or command wrong twice | Add it to [CLAUDE.md](/docs/en/memory) |
56| You keep asking Claude to be shorter, explain more, or answer in the same format | Set an [output style](/docs/en/output-styles) |
57| You keep typing the same prompt to start a task | Save it as a user-invocable [skill](/docs/en/skills) |
58| You paste the same playbook or multi-step procedure into chat for the third time | Capture it as a [skill](/docs/en/skills) |
59| You keep copying data from a browser tab Claude can't see | Connect that system as an [MCP server](/docs/en/mcp) |
60| Claude reads many files to find where a symbol is defined or used | Install a [code intelligence plugin](/docs/en/plugins/code-intelligence) for your language |
61| A side task floods your conversation with output you won't reference again | Route it through a [subagent](/docs/en/sub-agents) |
62| You want something to happen every time without asking | Write a [hook](/docs/en/hooks-guide) |
63| A second repository needs the same setup | Package it as a [plugin](/docs/en/plugins/overview) |
6464 
6565The same triggers tell you when to update what you already have. A repeated mistake or a recurring review comment is a CLAUDE.md edit, not a one-off correction in chat. A workflow you keep tweaking by hand is a skill that needs another revision.
6666 
from line 75
7575 * **Skills** are reusable content you can load into any context
7676 * **Subagents** are isolated workers that run separately from your main conversation
7777 
78 | Aspect | Skill | Subagent |
79 | ----------------------------------------------- | ---------------------------------------------- | ---------------------------------------------------------------- |
80 | **What it is** | Reusable instructions, knowledge, or workflows | Isolated worker with its own context |
81 | **Key benefit** | Share content across contexts | Context isolation. Work happens separately, only summary returns |
82 | **[Context window](/docs/en/context-window) impact** | Adds to your main window | Uses a separate window with its own input and output tokens |
83 | **Best for** | Reference material, invocable workflows | Tasks that read many files, parallel work, specialized workers |
78 | Aspect | Skill | Subagent |
79 | - | - | - |
80 | **What it is** | Reusable instructions, knowledge, or workflows | Isolated worker with its own context |
81 | **Key benefit** | Share content across contexts | Context isolation. Work happens separately, only summary returns |
82 | **[Context window](/docs/en/context-window) impact** | Adds to your main window | Uses a separate window with its own input and output tokens |
83 | **Best for** | Reference material, invocable workflows | Tasks that read many files, parallel work, specialized workers |
8484 
8585 **Skills can be reference or action.** Reference skills provide knowledge Claude uses throughout your session (like your API style guide). Action skills tell Claude to do something specific (like `/deploy` that runs your deployment workflow).
8686 
from line 92
9292 <Tab title="CLAUDE.md vs Skill">
9393 Both store instructions, but they load differently and serve different purposes.
9494 
95 | Aspect | CLAUDE.md | Skill |
96 | ------------------------- | ---------------------------- | --------------------------------------- |
97 | **Loads** | Every session, automatically | On demand |
98 | **Can include files** | Yes, with `@path` imports | Yes, with `@path` imports |
99 | **Can trigger workflows** | No | Yes, with `/<name>` |
100 | **Best for** | "Always do X" rules | Reference material, invocable workflows |
95 | Aspect | CLAUDE.md | Skill |
96 | - | - | - |
97 | **Loads** | Every session, automatically | On demand |
98 | **Can include files** | Yes, with `@path` imports | Yes, with `@path` imports |
99 | **Can trigger workflows** | No | Yes, with `/<name>` |
100 | **Best for** | "Always do X" rules | Reference material, invocable workflows |
101101 
102102 **Put it in CLAUDE.md** if Claude should always know it: coding conventions, build commands, project structure, "never do X" rules.
103103 
from line 109
109109 <Tab title="CLAUDE.md vs Output style">
110110 Both give Claude standing instructions. CLAUDE.md carries what Claude should know, and an output style sets how Claude responds.
111111 
112 | Aspect | CLAUDE.md | Output style |
113 | ------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------- |
114 | **Holds** | Facts and rules about your project | A role, tone, and response format |
115 | **Switching** | Always loaded | One active at a time; [switch styles](/docs/en/output-styles#change-your-output-style) whenever you want |
116 | **Best for** | Build commands, conventions, "never do X" rules | Shorter responses, explanations alongside code, a non-engineering role |
112 | Aspect | CLAUDE.md | Output style |
113 | - | - | - |
114 | **Holds** | Facts and rules about your project | A role, tone, and response format |
115 | **Switching** | Always loaded | One active at a time; [switch styles](/docs/en/output-styles#change-your-output-style) whenever you want |
116 | **Best for** | Build commands, conventions, "never do X" rules | Shorter responses, explanations alongside code, a non-engineering role |
117117 
118118 **Put it in CLAUDE.md** if it's true of the project whatever style you're in: coding conventions, build commands, project structure.
119119 
from line 125
125125 <Tab title="CLAUDE.md vs Rules vs Skills">
126126 All three store instructions, but they load differently:
127127 
128 | Aspect | CLAUDE.md | `.claude/rules/` | Skill |
129 | ------------ | ----------------------------------- | -------------------------------------------------- | ---------------------------------------- |
130 | **Loads** | Every session | Every session, or when matching files are opened | On demand, when invoked or relevant |
131 | **Scope** | Whole project | Can be scoped to file paths | Task-specific |
128 | Aspect | CLAUDE.md | `.claude/rules/` | Skill |
129 | - | - | - | - |
130 | **Loads** | Every session | Every session, or when matching files are opened | On demand, when invoked or relevant |
131 | **Scope** | Whole project | Can be scoped to file paths | Task-specific |
132132 | **Best for** | Core conventions and build commands | Language-specific or directory-specific guidelines | Reference material, repeatable workflows |
133133 
134134 **Use CLAUDE.md** for instructions every session needs: build commands, test conventions, project architecture.
from line 154
154154 <Tab title="MCP vs Skill">
155155 MCP connects Claude to external services. Skills extend what Claude knows, including how to use those services effectively.
156156 
157 | Aspect | MCP | Skill |
158 | -------------- | ---------------------------------------------------- | ------------------------------------------------------- |
159 | **What it is** | Protocol for connecting to external services | Knowledge, workflows, and reference material |
160 | **Provides** | Tools and data access | Knowledge, workflows, reference material |
161 | **Examples** | Slack integration, database queries, browser control | Code review checklist, deploy workflow, API style guide |
157 | Aspect | MCP | Skill |
158 | - | - | - |
159 | **What it is** | Protocol for connecting to external services | Knowledge, workflows, and reference material |
160 | **Provides** | Tools and data access | Knowledge, workflows, reference material |
161 | **Examples** | Slack integration, database queries, browser control | Code review checklist, deploy workflow, API style guide |
162162 
163163 These solve different problems and work well together:
164164 
from line 170
170170 <Tab title="Hook vs Skill">
171171 Claude Code runs a hook at a lifecycle event; it loads a skill into context for Claude to apply.
172172 
173 | Aspect | Hook | Skill |
174 | ---------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
175 | **Runs** | A shell command, HTTP request, MCP tool call, LLM prompt, or subagent | Instructions Claude reads and follows |
173 | Aspect | Hook | Skill |
174 | - | - | - |
175 | **Runs** | A shell command, HTTP request, MCP tool call, LLM prompt, or subagent | Instructions Claude reads and follows |
176176 | **Triggered by** | [Lifecycle events](/docs/en/hooks#hook-events) such as `PostToolUse` or `SessionStart` | You typing `/<name>`, or Claude matching the description to your task |
177 | **Determinism** | Always fires on its event; the trigger is guaranteed | Claude interprets the instructions; outcome can vary |
178 | **Context cost** | Zero unless the hook returns output | Description loads each session; full content loads when used |
179 | **Best for** | Linting after edits, blocking unsafe commands, logging, notifications | Workflows that need reasoning, reference material, multi-step tasks |
177 | **Determinism** | Always fires on its event; the trigger is guaranteed | Claude interprets the instructions; outcome can vary |
178 | **Context cost** | Zero unless the hook returns output | Description loads each session; full content loads when used |
179 | **Best for** | Linting after edits, blocking unsafe commands, logging, notifications | Workflows that need reasoning, reference material, multi-step tasks |
180180 
181181 **Use a hook** when the action must happen the same way every time and doesn't need Claude to think. For example: format on save, reject `rm -rf /`, post a Slack message when a session ends.
182182 
from line 203
203203 
204204For example, you might use CLAUDE.md for project conventions, a skill for your deployment workflow, MCP to connect to your database, and a hook to run linting after every edit. Each feature handles what it's best at.
205205 
206| Pattern | How it works | Example |
207| ---------------------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
208| **Skill + MCP** | MCP provides the connection; a skill teaches Claude how to use it well | MCP connects to your database, a skill documents your schema and query patterns |
209| **Skill + Subagent** | A skill spawns subagents for parallel work | `/audit` skill kicks off security, performance, and style subagents that work in isolated context |
210| **CLAUDE.md + Skills** | CLAUDE.md holds always-on rules; skills hold reference material loaded on demand | CLAUDE.md says "follow our API conventions," a skill contains the full API style guide |
211| **Hook + MCP** | A hook triggers external actions through MCP | Post-edit hook sends a Slack notification when Claude modifies critical files |
206| Pattern | How it works | Example |
207| - | - | - |
208| **Skill + MCP** | MCP provides the connection; a skill teaches Claude how to use it well | MCP connects to your database, a skill documents your schema and query patterns |
209| **Skill + Subagent** | A skill spawns subagents for parallel work | `/audit` skill kicks off security, performance, and style subagents that work in isolated context |
210| **CLAUDE.md + Skills** | CLAUDE.md holds always-on rules; skills hold reference material loaded on demand | CLAUDE.md says "follow our API conventions," a skill contains the full API style guide |
211| **Hook + MCP** | A hook triggers external actions through MCP | Post-edit hook sends a Slack notification when Claude modifies critical files |
212212 
213213## Understand context costs
214214 
from line 218
218218 
219219Each feature has a different loading strategy and context cost:
220220 
221| Feature | When it loads | What loads | Context cost |
222| --------------------- | ----------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
223| **CLAUDE.md** | Session start | Full content | Every request |
224| **Output styles** | Session start, and again when you switch styles | The active style's full instructions; nothing for the Default style | Every request |
225| **Skills** | Session start + when used | Descriptions at start, full content when used | Low (descriptions every request)\* |
226| **MCP servers** | Session start | Tool names; full schemas on demand | Low until a tool is used |
227| **Code intelligence** | After file edits and on demand | Diagnostics after edits; symbol locations on lookup | Low; reduces file reads elsewhere |
228| **Subagents** | When spawned | Fresh context with specified skills, or the parent conversation for a [fork](/docs/en/sub-agents#fork-the-current-conversation) | Isolated from main session |
229| **Hooks** | On trigger | Nothing (runs externally) | Zero, unless hook returns additional context |
221| Feature | When it loads | What loads | Context cost |
222| - | - | - | - |
223| **CLAUDE.md** | Session start | Full content | Every request |
224| **Output styles** | Session start, and again when you switch styles | The active style's full instructions; nothing for the Default style | Every request |
225| **Skills** | Session start + when used | Descriptions at start, full content when used | Low (descriptions every request)\* |
226| **MCP servers** | Session start | Tool names; full schemas on demand | Low until a tool is used |
227| **Code intelligence** | After file edits and on demand | Diagnostics after edits; symbol locations on lookup | Low; reduces file reads elsewhere |
228| **Subagents** | When spawned | Fresh context with specified skills, or the parent conversation for a [fork](/docs/en/sub-agents#fork-the-current-conversation) | Isolated from main session |
229| **Hooks** | On trigger | Nothing (runs externally) | Zero, unless hook returns additional context |
230230 
231231\*By default, skill descriptions load at session start so Claude can decide when to use them. Set `disable-model-invocation: true` in a skill's frontmatter to hide it from Claude entirely until you invoke it manually. For a skill you didn't write, set [`skillOverrides`](/docs/en/skills#override-skill-visibility-from-settings) in settings to do the same without editing its file.
232232 
Feedback