# Claude Code v2.1.6: system prompt

> 1 of 17 tool descriptions changed. Compared against v2.1.5.

Web version: https://changelogs.core-directive.com/prompts/2.1.6

## What this version holds
- model strings captured: 27
- tool descriptions: 17
- compared against: v2.1.5
- system prompt edits: 0
- widest system prompt edit: +0/-0 lines
- tool descriptions changed: 1

## What moved

### Tool: ExitPlanMode (+35/-0 lines)

This edit reached all 27 arms.

```diff
@@ from line 6 @@
 - This tool simply signals that you're done planning and ready for the user to review and approve
 - The user will see the contents of your plan file when they review it
 
+## Requesting Permissions (allowedPrompts)
+When calling this tool, you can request prompt-based permissions for bash commands your plan will need. These are semantic descriptions of actions, not literal commands.
+
+**How to use:**
+```json
+{
+  "allowedPrompts": [
+    { "tool": "Bash", "prompt": "run tests" },
+    { "tool": "Bash", "prompt": "install dependencies" },
+    { "tool": "Bash", "prompt": "build the project" }
+  ]
+}
+```
+
+**Guidelines for prompts:**
+- Use semantic descriptions that capture the action's purpose, not specific commands
+- "run tests" matches: npm test, pytest, go test, bun test, etc.
+- "install dependencies" matches: npm install, pip install, cargo build, etc.
+- "build the project" matches: npm run build, make, cargo build, etc.
+- Keep descriptions concise but descriptive
+- Only request permissions you actually need for the plan
+- Scope permissions narrowly, like a security-conscious human would:
+  - **Never combine multiple actions into one permission** - split them into separate, specific permissions (e.g. "list pods in namespace X", "view logs in namespace X")
+  - Prefer "run read-only database queries" over "run database queries"
+  - Prefer "run tests in the project" over "run code"
+  - Add constraints like "read-only", "local", "non-destructive" whenever possible. If you only need read-only access, you must only request read-only access.
+  - Prefer not to request overly broad permissions that would grant dangerous access, especially any access to production data or to make irrecoverable changes
+  - When interacting with cloud environments, add constraints like "in the foobar project", "in the baz namespace", "in the foo DB table"
+  - Never request broad tool access like "run k8s commands" - always scope to specific actions and namespaces, ideally with constraints such as read-only
+
+**Benefits:**
+- Commands matching approved prompts won't require additional permission prompts
+- The user sees the requested permissions when approving the plan
+- Permissions are session-scoped and cleared when the session ends
+
 ## When to Use This Tool
 IMPORTANT: Only use this tool when the task requires planning the implementation steps of a task that requires writing code. For research tasks where you're gathering information, searching files, reading files or in general trying to understand the codebase - do NOT use this tool.
 
```

## Tool descriptions
- AskUserQuestion: https://changelogs.core-directive.com/prompts/2.1.6/tools/AskUserQuestion.txt
- Bash: https://changelogs.core-directive.com/prompts/2.1.6/tools/Bash.txt
- Edit: https://changelogs.core-directive.com/prompts/2.1.6/tools/Edit.txt
- EnterPlanMode: https://changelogs.core-directive.com/prompts/2.1.6/tools/EnterPlanMode.txt
- ExitPlanMode (changed in this version): https://changelogs.core-directive.com/prompts/2.1.6/tools/ExitPlanMode.txt
- Glob: https://changelogs.core-directive.com/prompts/2.1.6/tools/Glob.txt
- Grep: https://changelogs.core-directive.com/prompts/2.1.6/tools/Grep.txt
- KillShell: https://changelogs.core-directive.com/prompts/2.1.6/tools/KillShell.txt
- NotebookEdit: https://changelogs.core-directive.com/prompts/2.1.6/tools/NotebookEdit.txt
- Read: https://changelogs.core-directive.com/prompts/2.1.6/tools/Read.txt
- Skill: https://changelogs.core-directive.com/prompts/2.1.6/tools/Skill.txt
- Task: https://changelogs.core-directive.com/prompts/2.1.6/tools/Task.txt
- TaskOutput: https://changelogs.core-directive.com/prompts/2.1.6/tools/TaskOutput.txt
- TodoWrite: https://changelogs.core-directive.com/prompts/2.1.6/tools/TodoWrite.txt
- WebFetch: https://changelogs.core-directive.com/prompts/2.1.6/tools/WebFetch.txt
- WebSearch: https://changelogs.core-directive.com/prompts/2.1.6/tools/WebSearch.txt
- Write: https://changelogs.core-directive.com/prompts/2.1.6/tools/Write.txt

## Full text
- system prompt: https://changelogs.core-directive.com/prompts/2.1.6/system.txt
