From 42537cb97ef2c527c361c1c01607d2c95df77857 Mon Sep 17 00:00:00 2001 From: Mike Date: Sat, 10 Jan 2026 19:09:57 -0700 Subject: [PATCH] v2.1.4 (-19 tokens) --- README.md | 6 +++--- system-prompts/tool-description-bash.md | 21 +++++++++++---------- system-prompts/tool-description-task.md | 18 ++++++++++-------- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 41add37..d8f660a 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ Download it and try it out for free! **https://piebald.ai/** [![Mentioned in Awesome Claude Code](https://awesome.re/mentioned-badge.svg)](https://github.com/hesreallyhim/awesome-claude-code) -This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.1.3](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.1.3) (January 9th, 2026).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 62 versions since v2.0.14. From the team behind [ **Piebald.**](https://piebald.ai/) +This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.1.4](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.1.4) (January 10th, 2026).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 63 versions since v2.0.14. From the team behind [ **Piebald.**](https://piebald.ai/) **This repository is updated within minutes of each Claude Code release. See the [CHANGELOG](./CHANGELOG.md), and follow [@PiebaldAI](https://x.com/PiebaldAI) on X for a summary of the system prompt changes in each release.** @@ -145,7 +145,7 @@ Text for large system reminders. ### Builtin Tool Descriptions - [Tool Description: AskUserQuestion](./system-prompts/tool-description-askuserquestion.md) (**194** tks) - Tool description for asking user questions.. -- [Tool Description: Bash](./system-prompts/tool-description-bash.md) (**1125** tks) - Description for the Bash tool, which allows Claude to run shell commands. +- [Tool Description: Bash](./system-prompts/tool-description-bash.md) (**1069** tks) - Description for the Bash tool, which allows Claude to run shell commands. - [Tool Description: Computer](./system-prompts/tool-description-computer.md) (**161** tks) - Main description for the Chrome browser computer automation tool. - [Tool Description: Edit](./system-prompts/tool-description-edit.md) (**278** tks) - Tool description for performing exact string replacements in files. - [Tool Description: EnterPlanMode](./system-prompts/tool-description-enterplanmode.md) (**970** tks) - Tool description for entering plan mode to explore and design implementation approaches. @@ -158,7 +158,7 @@ Text for large system reminders. - [Tool Description: NotebookEdit](./system-prompts/tool-description-notebookedit.md) (**121** tks) - Tool description for editing Jupyter notebook cells. - [Tool Description: ReadFile](./system-prompts/tool-description-readfile.md) (**439** tks) - Tool description for reading files. - [Tool Description: Skill](./system-prompts/tool-description-skill.md) (**444** tks) - Tool description for executing skills in the main conversation. -- [Tool Description: Task](./system-prompts/tool-description-task.md) (**1227** tks) - Tool description for launching specialized sub-agents to handle complex tasks. +- [Tool Description: Task](./system-prompts/tool-description-task.md) (**1264** tks) - Tool description for launching specialized sub-agents to handle complex tasks. - [Tool Description: TodoWrite](./system-prompts/tool-description-todowrite.md) (**2167** tks) - Tool description for creating and managing task lists. - [Tool Description: WebFetch](./system-prompts/tool-description-webfetch.md) (**265** tks) - Tool description for web fetch functionality. - [Tool Description: WebSearch](./system-prompts/tool-description-websearch.md) (**334** tks) - Tool description for web search functionality. diff --git a/system-prompts/tool-description-bash.md b/system-prompts/tool-description-bash.md index 0dbee4d..417b7f8 100644 --- a/system-prompts/tool-description-bash.md +++ b/system-prompts/tool-description-bash.md @@ -1,7 +1,7 @@ Executes a given bash command in a persistent shell session with optional timeout, ensuring proper handling and security measures. @@ -40,18 +41,18 @@ Usage notes: - You can specify an optional timeout in milliseconds (up to ${CUSTOM_TIMEOUT_MS()}ms / ${CUSTOM_TIMEOUT_MS()/60000} minutes). If not specified, commands will timeout after ${MAX_TIMEOUT_MS()}ms (${MAX_TIMEOUT_MS()/60000} minutes). - It is very helpful if you write a clear, concise description of what this command does. For simple commands, keep it brief (5-10 words). For complex commands (piped commands, obscure flags, or anything hard to understand at a glance), add enough context to clarify what it does. - If the output exceeds ${MAX_OUTPUT_CHARS()} characters, output will be truncated before being returned to you. - - You can use the \`run_in_background\` parameter to run the command in the background. Only use this if you don't need the result immediately and are OK being notified when the command completes later. You do not need to check the output right away - you'll be notified when it finishes. You do not need to use '&' at the end of the command when using this parameter. ${BASH_TOOL_NAME()} + ${BASH_TOOL_EXTRA_NOTES()} - Avoid using Bash with the \`find\`, \`grep\`, \`cat\`, \`head\`, \`tail\`, \`sed\`, \`awk\`, or \`echo\` commands, unless explicitly instructed or when these commands are truly necessary for the task. Instead, always prefer using the dedicated tools for these commands: - - File search: Use ${BASH_TOOL_EXTRA_NOTES} (NOT find or ls) - - Content search: Use ${SEARCH_TOOL_NAME} (NOT grep or rg) - - Read files: Use ${GREP_TOOL_NAME} (NOT cat/head/tail) - - Edit files: Use ${READ_TOOL_NAME} (NOT sed/awk) - - Write files: Use ${EDIT_TOOL_NAME} (NOT echo >/cat </cat < -${GIT_COMMIT_AND_PR_CREATION_INSTRUCTION()} +${BASH_BACKGROUND_TASK_NOTES_FN()} diff --git a/system-prompts/tool-description-task.md b/system-prompts/tool-description-task.md index f3f9cf0..0cc0f30 100644 --- a/system-prompts/tool-description-task.md +++ b/system-prompts/tool-description-task.md @@ -1,7 +1,7 @@ Launch a new agent to handle complex, multi-step tasks autonomously. @@ -31,8 +33,8 @@ When NOT to use the ${TASK_TOOL} tool: Usage notes: - Always include a short description (3-5 words) summarizing what the agent will do${GET_SUBSCRIPTION_TYPE_FN()!=="pro"?` - Launch multiple agents concurrently whenever possible, to maximize performance; to do that, use a single message with multiple tool uses`:""} -- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result. -- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include an output_file path. To check on the agent's progress or retrieve its results, use the ${READ_TOOL} tool to read the output file, or use ${BASH_TOOL} with \`tail\` to see recent output. You can continue working while background agents run. +- When the agent is done, it will return a single message back to you. The result returned by the agent is not visible to the user. To show the user the result, you should send a text message back to the user with a concise summary of the result.${!BASH_TOOL(TASK_TOOL_OBJECT.env.CLAUDE_CODE_DISABLE_BACKGROUND_TASKS)?` +- You can optionally run agents in the background using the run_in_background parameter. When an agent runs in the background, the tool result will include an output_file path. To check on the agent's progress or retrieve its results, use the ${READ_TOOL} tool to read the output file, or use ${WRITE_TOOL} with \`tail\` to see recent output. You can continue working while background agents run.`:""} - Agents can be resumed using the \`resume\` parameter by passing the agent ID from a previous invocation. When resumed, the agent continues with its full previous context preserved. When NOT resuming, each invocation starts fresh and you should provide a detailed task description with all necessary context. - When the agent is done, it will return a single message back to you along with its agent ID. You can use this ID to resume the agent later if needed for follow-up work. - Provide clear, detailed prompts so the agent can work autonomously and return exactly the information you need. @@ -40,7 +42,7 @@ Usage notes: - The agent's outputs should generally be trusted - Clearly tell the agent whether you expect it to write code or just to do research (search, file reads, web fetches, etc.), since it is not aware of the user's intent - If the agent description mentions that it should be used proactively, then you should try your best to use it without the user having to ask for it first. Use your judgement. -- If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple ${TASK_TOOL_OBJECT.name} tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls. +- If the user specifies that they want you to run agents "in parallel", you MUST send a single message with multiple ${IS_TRUTHY_FN.name} tool use content blocks. For example, if you need to launch both a build-validator agent and a test-runner agent in parallel, send a single message with both tool calls. Example usage: @@ -52,8 +54,8 @@ Example usage: user: "Please write a function that checks if a number is prime" assistant: Sure let me write a function that checks if a number is prime -assistant: First let me use the ${WRITE_TOOL} tool to write a function that checks if a number is prime -assistant: I'm going to use the ${WRITE_TOOL} tool to write the following code: +assistant: First let me use the ${PROCESS_OBJECT} tool to write a function that checks if a number is prime +assistant: I'm going to use the ${PROCESS_OBJECT} tool to write the following code: function isPrime(n) { if (n <= 1) return false @@ -67,7 +69,7 @@ function isPrime(n) { Since a significant piece of code was written and the task was completed, now use the test-runner agent to run the tests assistant: Now let me use the test-runner agent to run the tests -assistant: Uses the ${TASK_TOOL_OBJECT.name} tool to launch the test-runner agent +assistant: Uses the ${IS_TRUTHY_FN.name} tool to launch the test-runner agent @@ -75,5 +77,5 @@ user: "Hello" Since the user is greeting, use the greeting-responder agent to respond with a friendly joke -assistant: "I'm going to use the ${TASK_TOOL_OBJECT.name} tool to launch the greeting-responder agent" +assistant: "I'm going to use the ${IS_TRUTHY_FN.name} tool to launch the greeting-responder agent"