diff --git a/01-slash-commands/README.md b/01-slash-commands/README.md
index bce6cba..7cec7e9 100644
--- a/01-slash-commands/README.md
+++ b/01-slash-commands/README.md
@@ -66,6 +66,7 @@ Built-in commands are shortcuts for common actions. There are **60+ built-in com
| `/memory` | Edit `CLAUDE.md`, toggle auto-memory |
| `/mobile` | QR code for mobile app (aliases: `/ios`, `/android`) |
| `/model [model]` | Select model with left/right arrows for effort. Since v2.1.153, the choice is **saved as the default** for new sessions (matching the IDE); press `s` after selecting to apply it to the current session only. (The keybinding `modelPicker:setAsDefault` was renamed to `modelPicker:thisSessionOnly`; the old `d` action is now `s`.) As of v2.1.219, the picker shows the merged Opus row as "Opus (1M context)". |
+| `/output-style [name]` | List and switch output styles (re-added in v2.1.269 after being removed in v2.1.91). With no argument it lists the styles and marks the current one. Works in headless and Remote Control sessions; the selection is saved to `.claude/settings.local.json` |
| `/passes` | Share free week of Claude Code |
| `/permissions` | View/update permissions (alias: `/allowed-tools`) |
| `/plan [description]` | Enter plan mode |
@@ -126,7 +127,6 @@ These skills ship with Claude Code and are invoked like slash commands:
| Command | Status |
|---------|--------|
-| `/output-style` | Removed in v2.1.91 (deprecated v2.1.73) — use `/config` → Output style, or the `outputStyle` setting |
| `/pr-comments` | Removed in v2.1.91 — ask Claude directly to view PR comments |
| `/vim` | Removed in v2.1.92 — use /config → Editor mode |
| `/undo` | No longer listed in the official commands reference as of v2.1.245 (it was added as an alias for `/rewind` in v2.1.108) — use `/rewind` or press `Esc` twice |
@@ -135,7 +135,7 @@ These skills ship with Claude Code and are invoked like slash commands:
- `/fork` and `/subtask` swapped roles in **v2.1.212**. `/fork` now copies the conversation into a new independent background session; the forked-subagent behavior it used to have moved to the new `/subtask` command. History: `/fork` was an alias for `/branch` from v2.1.77 to v2.1.161; from v2.1.161 to v2.1.211 it started a forked subagent (what `/subtask` does now). When agent view is turned off, `/subtask` is unavailable and `/fork` keeps the forked-subagent behavior
- `/resume` (no arguments) opens a picker of past sessions — including ones removed from the visible list — and resumes the chosen one as a background session (v2.1.212)
-- `/output-style` deprecated (v2.1.73) and removed (v2.1.91) — output styles are still available via `/config` → Output style or the `outputStyle` setting; the built-ins are Default, Proactive, Explanatory, Learning, and Concise (added in v2.1.237)
+- `/output-style` was deprecated (v2.1.73) and removed (v2.1.91), then **re-added in v2.1.269** — it is a live command again in v2.1.278, and works in headless and Remote Control sessions. Output styles also remain available via `/config` → Output style or the `outputStyle` setting; the built-ins are Default, Proactive, Explanatory, Learning, and Concise (added in v2.1.237)
- `/review` became a full alias of `/code-review` — same targets, effort levels, and flags (v2.1.223). History: it first moved onto the `/code-review medium` engine in v2.1.186 while remaining PR-only
- `/effort` command added; `max` level available on Opus 4.6+ (originally Opus 4.6-only)
- `/voice` command added for push-to-talk voice dictation
@@ -650,9 +650,10 @@ If both exist with the same name, the **skill takes precedence**. Remove one or
---
-**Last Updated**: September 6, 2026
-**Claude Code Version**: 2.1.263
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
+- https://code.claude.com/docs/en/output-styles
- https://code.claude.com/docs/en/skills
- https://code.claude.com/docs/en/slash-commands
- https://code.claude.com/docs/en/interactive-mode
diff --git a/02-memory/README.md b/02-memory/README.md
index ad1087b..74d16c3 100644
--- a/02-memory/README.md
+++ b/02-memory/README.md
@@ -219,7 +219,7 @@ Claude Code has two complementary memory systems, both loaded at the start of ev
|-------|----------|---------|
| Managed policy | macOS: `/Library/Application Support/ClaudeCode/CLAUDE.md` Linux/WSL: `/etc/claude-code/CLAUDE.md` Windows: `C:\Program Files\ClaudeCode\CLAUDE.md` | Organization-wide instructions managed by IT/DevOps. Cannot be excluded by individual settings. |
| User instructions | `~/.claude/CLAUDE.md` | Personal preferences for all projects |
-| Project instructions | `./CLAUDE.md` or `./.claude/CLAUDE.md` | Team-shared instructions, version controlled |
+| Project instructions | `./CLAUDE.md` or `./.claude/CLAUDE.md` | Team-shared instructions, version controlled. Since v2.1.277, `./AGENTS.md` loads at this same tier instead, when no `CLAUDE.md` or `CLAUDE.local.md` exists at or above the working directory — controlled by **Project instructions** in `/config` |
| Local instructions | `./CLAUDE.local.md` | Personal project-specific preferences; add to `.gitignore` |
Within the directory tree, Claude Code walks up from your working directory: `foo/CLAUDE.md` loads before `foo/bar/CLAUDE.md` if you launch from `foo/bar/`, so instructions closer to where you launched are read *last* — not "highest priority" in an override sense, just most recent in context. Within each directory, `CLAUDE.local.md` is appended after `CLAUDE.md`. CLAUDE.md and CLAUDE.local.md files in subdirectories *under* your working directory load on demand, when Claude reads files in those subdirectories, rather than at launch.
@@ -253,6 +253,57 @@ graph TD
All files shown are concatenated into one context, not selected by override — later boxes appear later in context, not "instead of" earlier ones.
+## AGENTS.md
+
+`AGENTS.md` is a cross-tool project-context file: the same *category* of document as CLAUDE.md, written so that several coding agents can share one set of project conventions. Since **v2.1.277**, Claude Code reads it directly as project instructions rather than requiring you to import it.
+
+**Default behavior** (`claude-md-or-agents-md`):
+
+| What the project contains | What Claude Code reads |
+|---------------------------|------------------------|
+| `AGENTS.md`, no `CLAUDE.md` | `AGENTS.md` |
+| Both `AGENTS.md` and `CLAUDE.md` | `CLAUDE.md` only |
+| A `CLAUDE.md` that imports `AGENTS.md` with `@AGENTS.md` | `CLAUDE.md`, with the import expanded |
+
+**Which files suppress AGENTS.md.** Claude Code checks the working directory and every directory above it for `CLAUDE.md`, `.claude/CLAUDE.md`, or `CLAUDE.local.md`. If it finds any of them, `AGENTS.md` is not read. `~/.claude/CLAUDE.md`, managed CLAUDE.md, and `.claude/rules/` do **not** count for this check and keep loading alongside whichever project file wins.
+
+> **Warning**: adding a `CLAUDE.local.md` silently stops `AGENTS.md` being read. If your project instructions seem to vanish after you create a local override, this is usually why.
+
+**What gets read.** Every `AGENTS.md` and `.claude/AGENTS.md` at and above the working directory loads at session start; files in subdirectories load on demand, when Claude reads files there. `@path` imports expand the same way they do in CLAUDE.md, and `claudeMdExcludes` applies.
+
+**What is never read**: `AGENTS.local.md`, `AGENTS.override.md`, and anything under `.agents/`.
+
+**Choosing the behavior.** The **Project instructions** setting takes four values:
+
+| Value | Effect |
+|-------|--------|
+| `claude-md-or-agents-md` | Default — `AGENTS.md` only when no CLAUDE.md file is found |
+| `claude-md-and-agents-md` | Both are read when both exist |
+| `claude-md` | Only CLAUDE.md files; `AGENTS.md` is ignored |
+| `managed-only` | Only managed policy instructions |
+
+Set it through `/config`, or in settings:
+
+```jsonc
+{
+ "pluginConfigs": {
+ "agents-md@builtin": {
+ "options": {
+ "instructionFiles": "claude-md-and-agents-md"
+ }
+ }
+ }
+}
+```
+
+This key is honored in user and managed settings only — setting it in project or local settings has no effect.
+
+**Where direct reading is unavailable.** On versions before v2.1.277, on Bedrock/Vertex/Foundry, with telemetry disabled, during the first session after upgrading, under `disableAllHooks` or `allowManagedHooksOnly`, or with the built-in `agents-md` plugin disabled, Claude Code will not pick up `AGENTS.md` on its own. In those cases, import it from CLAUDE.md:
+
+```markdown
+@AGENTS.md
+```
+
## Excluding CLAUDE.md Files with `claudeMdExcludes`
In large monorepos, some CLAUDE.md files may be irrelevant to your current work. The `claudeMdExcludes` setting lets you skip specific CLAUDE.md files so they are not loaded into context:
@@ -1193,8 +1244,9 @@ Auto Memory is a separate mechanism (`~/.claude/projects//memory/`), no
---
-**Last Updated**: August 25, 2026
-**Claude Code Version**: 2.1.245
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/memory
+- https://code.claude.com/docs/en/memory#agents-md
**Compatible Models**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
diff --git a/03-skills/claude-md/SKILL.md b/03-skills/claude-md/SKILL.md
index 449aab2..b44c052 100644
--- a/03-skills/claude-md/SKILL.md
+++ b/03-skills/claude-md/SKILL.md
@@ -193,7 +193,7 @@ Before finalizing, verify:
If the user requests AGENTS.md creation/update:
-**Claude Code does not read AGENTS.md directly.** To make it take effect, import it from CLAUDE.md with `@AGENTS.md`, or symlink `CLAUDE.md` to it. This is the single most common misunderstanding about the file.
+**Since v2.1.277, Claude Code reads `AGENTS.md` directly as project instructions** — but only when the working directory and every directory above it contain no `CLAUDE.md`, `.claude/CLAUDE.md`, or `CLAUDE.local.md`. `~/.claude/CLAUDE.md`, managed CLAUDE.md, and `.claude/rules/` do not count for that check and keep loading alongside. Which files are read is controlled by **Project instructions** in `/config`: `claude-md-or-agents-md` (default), `claude-md-and-agents-md`, `claude-md`, or `managed-only`. Where direct reading is unavailable — Bedrock/Vertex/Foundry, telemetry disabled, the first session after upgrading, or `disableAllHooks`/`allowManagedHooksOnly` — fall back to importing it from CLAUDE.md with `@AGENTS.md`, or symlinking `CLAUDE.md` to it.
AGENTS.md is a cross-tool project-context file — the same *category* of document as CLAUDE.md, not an agent-definition format. It exists so several coding agents can share one set of project conventions:
- Build, test, and lint commands
@@ -217,8 +217,9 @@ Apply similar principles:
---
-**Last Updated**: August 4, 2026
-**Claude Code Version**: 2.1.220
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/skills
+- https://code.claude.com/docs/en/memory#agents-md
**Compatible Models**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
diff --git a/04-subagents/README.md b/04-subagents/README.md
index 9251c24..4389a23 100644
--- a/04-subagents/README.md
+++ b/04-subagents/README.md
@@ -144,6 +144,7 @@ to solving problems.
| `initialPrompt` | No | Auto-submitted first turn when the subagent runs as the main agent |
| `color` | No | Display color for the subagent in the task list and transcript. Accepts `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, or `cyan` |
| `experimental` | No | Experimental settings block (v2.1.248+). `experimental.cacheTtl` sets the cache TTL for this subagent — `"5m"` or `"1h"` |
+| `omitClaudeMd` | No | Set to `true` to launch the subagent without the user, project, and local CLAUDE.md files (v2.1.271+). Managed policy files still load, except for managed subagents. Ignored when the agent runs as the main session agent via `--agent` or the `agent` setting. Also accepted in `--agents` JSON |
#### Subagent Model Environment Variables
@@ -1331,8 +1332,8 @@ See the OpenTelemetry section in [Advanced Features → Telemetry](../09-advance
---
-**Last Updated**: September 6, 2026
-**Claude Code Version**: 2.1.263
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/sub-agents
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
diff --git a/06-hooks/README.md b/06-hooks/README.md
index 6a56551..787143f 100644
--- a/06-hooks/README.md
+++ b/06-hooks/README.md
@@ -285,10 +285,10 @@ Claude Code supports **33 hook events**:
> **`TaskCreated` and `TaskCompleted` need the todo tools enabled (v2.1.233).** These two
> events fire from the todo/task-tracking tools (`TaskCreate`/`Get`/`Update`/`List`,
-> `TodoWrite`), which are **no longer available on Opus 4.8, Sonnet 5, Fable 5, Mythos 5,
-> and newer models**. On those models the hooks are still valid configuration but simply
-> never fire — you get no output and no error. Set `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` to
-> bring the tools, and therefore the events, back.
+> `TodoWrite`), which are **available by default only on Claude 3.x models, Opus 4 through
+> 4.7, Sonnet 4 through 4.6, and Haiku 4.5**. On other models the hooks are still valid
+> configuration but simply never fire — you get no output and no error. Set
+> `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` to bring the tools, and therefore the events, back.
> **PostToolUse duration (v2.1.119):** `PostToolUse` and `PostToolUseFailure` hook inputs now include `duration_ms` — see the [PostToolUse](#posttooluse) section for details.
@@ -1205,7 +1205,7 @@ if __name__ == "__main__":
### Example 7: Seed Auto-Mode Permissions (One-Time Setup Script)
-A one-time setup script that seeds `~/.claude/settings.json` with ~67 safe permission rules equivalent to Claude Code's auto-mode baseline — without any hook, without remembering future choices. Run it once; safe to re-run (skips rules already present).
+A one-time setup script that seeds `~/.claude/settings.json` with safe permission rules equivalent to Claude Code's auto-mode baseline — 37 by default, up to 63 with every category flag enabled — without any hook, without remembering future choices. Run it once; safe to re-run (skips rules already present).
**File:** `09-advanced-features/setup-auto-mode-permissions.py`
@@ -1221,12 +1221,13 @@ python3 09-advanced-features/setup-auto-mode-permissions.py
| Category | Examples |
|----------|---------|
-| Built-in tools | `Read(*)`, `Edit(*)`, `Write(*)`, `Glob(*)`, `Grep(*)`, `Agent(*)`, `WebSearch(*)` |
+| Built-in tools | `Read(*)`, `Grep(*)`, `Agent(*)`, `WebSearch(*)` |
+| Optional edits (--include-edits) | `Edit(*)` |
| Git read | `Bash(git status:*)`, `Bash(git log:*)`, `Bash(git diff:*)` |
| Git write (local) | `Bash(git add:*)`, `Bash(git commit:*)`, `Bash(git checkout:*)` |
-| Package managers | `Bash(npm install:*)`, `Bash(pip install:*)`, `Bash(cargo build:*)` |
+| Package managers | `Bash(npm ci:*)`, `Bash(npm install:*)`, `Bash(pip install:*)`, `Bash(pip3 install:*)` |
| Build & test | `Bash(make:*)`, `Bash(pytest:*)`, `Bash(go test:*)` |
-| Common shell | `Bash(ls:*)`, `Bash(cat:*)`, `Bash(find:*)`, `Bash(cp:*)`, `Bash(mv:*)` |
+| Common shell | `Bash(ls:*)`, `Bash(cat:*)`, `Bash(find:*)` |
| GitHub CLI | `Bash(gh pr view:*)`, `Bash(gh pr create:*)`, `Bash(gh issue list:*)` |
**What is intentionally excluded** (never added by this script):
@@ -1626,10 +1627,12 @@ Edit `~/.claude/settings.json` or `.claude/settings.json` with the hook configur
---
-**Last Updated**: September 2, 2026
-**Claude Code Version**: 2.1.257
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/hooks
- https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
- https://code.claude.com/docs/en/sub-agents
+- https://code.claude.com/docs/en/permissions
+- https://code.claude.com/docs/en/tools-reference#task-tool-availability
**Compatible Models**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.8, Claude Haiku 4.5
diff --git a/07-plugins/README.md b/07-plugins/README.md
index e228d27..ac5a859 100644
--- a/07-plugins/README.md
+++ b/07-plugins/README.md
@@ -844,6 +844,40 @@ projected ctx: +1,420 tokens per turn · +9,800 tokens per /review invocation
LSP servers were added to the details pane in v2.1.142. See also the marketplace browse pane's projected context cost (v2.1.143) covered in [Plugin Marketplace](#plugin-marketplace).
+### `claude plugin eval` (v2.1.269+)
+
+`claude plugin eval` runs a plugin's eval suite and reports scored, reproducible results, so you can tell whether a change to a skill or agent actually improved it. Results come back as JSON plus an HTML report.
+
+```bash
+claude plugin eval # Run the plugin's eval suite
+claude plugin eval --help # Full option list
+```
+
+### Machine-readable output with `--json` (v2.1.268+)
+
+`--json` is accepted on `install`, `uninstall`, `update`, `enable`, and `disable`, which makes plugin management scriptable in CI. Each row of `claude plugin list --json` also carries `errorDetails` and `noteDetails`, so a failing plugin explains itself without a second command.
+
+```bash
+claude plugin install my-plugin@my-marketplace --json
+claude plugin list --json
+```
+
+### Accepting an exact command with `--accept-command` (v2.1.271+)
+
+`--accept-command ` on `install` and `update` accepts exactly the command a previous `--json` run displayed, in place of a blanket `-y`.
+
+```bash
+claude plugin install my-plugin@my-marketplace --accept-command
+```
+
+### Installing from a marketplace you haven't added (v2.1.275+)
+
+In a session, `/plugin install --marketplace ` names the marketplace inline and offers to add it before installing, so discovering and adding a marketplace is no longer a separate step. This is the in-session slash-command form, not a `claude plugin` CLI flag.
+
+```bash
+/plugin install code-reviewer --marketplace anthropics/claude-code-plugins
+```
+
## Installation Methods
### From Marketplace
@@ -1269,8 +1303,8 @@ The following Claude Code features work together with plugins:
---
-**Last Updated**: September 6, 2026
-**Claude Code Version**: 2.1.263
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/plugins
- https://code.claude.com/docs/en/plugins-reference
diff --git a/08-checkpoints/README.md b/08-checkpoints/README.md
index d7a012f..58f4b4d 100644
--- a/08-checkpoints/README.md
+++ b/08-checkpoints/README.md
@@ -246,6 +246,7 @@ Checkpoints have the following limitations:
- **Bash command changes NOT tracked** - Operations like `rm`, `mv`, `cp` on the filesystem are not captured in checkpoints
- **External changes NOT tracked** - Changes made outside Claude Code (in your editor, terminal, etc.) are not captured
- **Not a replacement for version control** - Use git for permanent, auditable changes to your codebase
+- **Subagent edits NOT restored** - Files edited by a subagent are untracked, so `/rewind` leaves them as they are; the exception is a foreground `context: fork` skill, whose edits are restored like the main session's
> **v2.1.216 update**: `/rewind` no longer restores or deletes files through symlinks or hard links at tracked paths. If a tracked path resolves through a symlink or hard link, rewind skips it rather than following the link, and it reports how many paths it skipped for this reason.
@@ -336,8 +337,8 @@ Remember: checkpoints are not a replacement for git. Use checkpoints for rapid e
---
-**Last Updated**: August 25, 2026
-**Claude Code Version**: 2.1.245
+**Last Updated**: September 19, 2026
+**Claude Code Version**: 2.1.278
**Sources**:
- https://code.claude.com/docs/en/checkpointing
- https://code.claude.com/docs/en/settings
diff --git a/09-advanced-features/README.md b/09-advanced-features/README.md
index aad6329..9012865 100644
--- a/09-advanced-features/README.md
+++ b/09-advanced-features/README.md
@@ -385,7 +385,7 @@ Auto mode is available only when your account meets all of these requirements:
- **Organization**: on Team and Enterprise, auto mode is available by default. Administrators can turn it off for the organization by setting `permissions.disableAutoMode` to `"disable"` in managed settings.
- **Model**: on the Anthropic API and Claude Platform on AWS — Claude Opus 4.6 or later (Opus 5 included), Sonnet 4.6 or later, or Fable 5. On Amazon Bedrock, Google Cloud's Agent Platform (Vertex AI), Microsoft Foundry, and signed-in Claude apps gateway sessions — only Claude Sonnet 5, Opus 4.7 or later (Opus 5 included), and Fable 5. Older models — Sonnet 4.5, Opus 4.5, Haiku, and claude-3 models — are not supported on any provider.
- **Provider**: available by default on the Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform (Vertex AI), Microsoft Foundry, and signed-in Claude apps gateway sessions. In v2.1.158 through v2.1.206, auto mode was off on all of these except the Anthropic API and Claude Platform on AWS until you set `CLAUDE_CODE_ENABLE_AUTO_MODE=1`; v2.1.207 removed the requirement. The variable is still accepted for compatibility and has no effect from v2.1.207 onward.
-- **Classifier**: runs on Claude Sonnet 4.6 (adds extra token cost)
+- **Classifier**: adds extra token cost, except on Enterprise plans and Claude API accounts, where v2.1.278+ runs the check server-side at no charge
### Enabling Auto Mode
@@ -559,15 +559,14 @@ The script adds rules across these categories:
| Category | Examples |
|----------|---------|
-| Core read-only tools | `Read(*)`, `Glob(*)`, `Grep(*)`, `Agent(*)`, `WebSearch(*)`, `WebFetch(*)` |
+| Core read-only tools | `Read(*)`, `Grep(*)`, `Agent(*)`, `WebSearch(*)`, `WebFetch(*)` |
| Local inspection | `Bash(git status:*)`, `Bash(git log:*)`, `Bash(git diff:*)`, `Bash(cat:*)` |
-| Optional edits | `Edit(*)`, `Write(*)`, `NotebookEdit(*)` |
+| Optional edits | `Edit(*)` |
| Optional test/build | `Bash(pytest:*)`, `Bash(python3 -m pytest:*)`, `Bash(cargo test:*)` |
-| Optional git writes | `Bash(git add:*)`, `Bash(git commit:*)`, `Bash(git stash:*)` |
-| Git (local write) | `Bash(git add:*)`, `Bash(git commit:*)`, `Bash(git checkout:*)` |
-| Package managers | `Bash(npm install:*)`, `Bash(pip install:*)`, `Bash(cargo build:*)` |
+| Optional git writes | `Bash(git add:*)`, `Bash(git commit:*)`, `Bash(git checkout:*)`, `Bash(git switch:*)`, `Bash(git stash:*)`, `Bash(git tag:*)` |
+| Package managers | `Bash(npm ci:*)`, `Bash(npm install:*)`, `Bash(pip install:*)`, `Bash(pip3 install:*)` |
| Build & test | `Bash(make:*)`, `Bash(pytest:*)`, `Bash(go test:*)` |
-| Common shell | `Bash(ls:*)`, `Bash(cat:*)`, `Bash(find:*)`, `Bash(cp:*)`, `Bash(mv:*)` |
+| Common shell | `Bash(ls:*)`, `Bash(cat:*)`, `Bash(find:*)` |
| GitHub CLI | `Bash(gh pr view:*)`, `Bash(gh pr create:*)`, `Bash(gh issue list:*)` |
Dangerous operations (`rm -rf`, `sudo`, force push, `DROP TABLE`, `terraform destroy`, etc.) are intentionally excluded. The script is idempotent — running it twice won't duplicate rules.
@@ -702,6 +701,8 @@ Concurrency is not a background-task setting either — how many agents run at o
Monitor attaches to any shell command that writes to stdout. Each stdout line from the command becomes a notification that wakes the session. Claude specifies the command; the harness streams output and delivers events as they fire. See the related [Background Tasks](#background-tasks) section for launching the underlying processes.
+> **Deadlines (v2.1.271)**: every Monitor watch now carries a deadline — at most 30 minutes, or 10 minutes in single-prompt `-p` runs. When the deadline passes, Claude is notified so it can re-arm the watch. There is no longer a way to arm a watch that never times out.
+
### Why It Matters
Polling with `/loop` or `sleep` burns a full API round-trip every cycle, whether or not anything changed. Monitor stays silent until an event fires, consuming **zero tokens** while the command is quiet. When an event does occur, Claude reacts immediately — no delayed discovery waiting for the next poll tick. For anything that runs longer than a few minutes, this is both cheaper and faster than poll loops.
@@ -739,7 +740,7 @@ done
Dynamic workflows let Claude orchestrate tens to hundreds of background [subagents](../04-subagents/README.md) **deterministically** — fan-out, pipelines, and parallel stages encoded in a script rather than left to the model's improvisation. Where a single agent holds one context window, a workflow decomposes a task across many agents and recombines their results.
-As of v2.1.219, dynamic workflows default to a **medium size guideline (aim for fewer than 15 agents)**. Pick another size — or unrestricted — via **Dynamic workflow size** in `/config`, or set the `workflowSizeGuideline` key in your settings file. The running-workflow status line shows the active size and points to `/config` for changing it.
+As of v2.1.219, dynamic workflows default to a **medium size guideline (aim for fewer than 10 agents)** — or to **small** when you are signed in on a Pro plan, since v2.1.271. Pick another size — or unrestricted — via **Dynamic workflow size** in `/config`, or set the `workflowSizeGuideline` key in your settings file. The running-workflow status line shows the active size and points to `/config` for changing it.
### When to Use Them
@@ -1292,6 +1293,7 @@ Claude Code supports keyboard shortcuts for efficiency. Here's the complete refe
| `Option+T` / `Alt+T` | Toggle extended thinking |
| `Option+O` / `Alt+O` | Toggle fast mode (`/fast`) |
| `Ctrl+X` `Ctrl+K` | Stop all background subagents |
+| `Ctrl+Enter` (or `Ctrl+X` `Ctrl+S`) | Send now — interrupt the current turn and send every queued message at once. Sent and queued messages stay gray until the model receives them (v2.1.275) |
| `Ctrl+S` | Stash the current prompt; press again to restore it |
| `Ctrl+_` | Undo the last edit to the prompt input |
| `:` | Type `:` at the start of a word to open emoji shortcode completion, e.g. `:heart:` (v2.1.217+) |
@@ -1534,7 +1536,7 @@ For instructions about your project or codebase, use [CLAUDE.md](../02-memory/)
### Selecting a style
-Run `/config` and choose **Output style**. The selection is saved to `.claude/settings.local.json`. To set it without the menu, edit the setting directly:
+Run `/config` and choose **Output style**, or run `/output-style