Claude Code System Prompts: A Full Inventory of Anthropic's Hidden Prompt Strings
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
At a glance
- What is it?
- This repository extracts and publishes every system prompt inside Claude Code, from subagent prompts to utility strings, with token counts and a changelog across 274 versions. It is a reference for developers who want to understand or modify Claude Code's behavior.
- Who is it for?
- Adopt this repository if you need to inspect or customize Claude Code's internal prompts, especially if you use tweakcc to patch your installation. Do not adopt it if you expect a stable API or if you want prompts for a different tool.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What This Repository Actually Contains
Claude Code does not ship one system prompt. It ships hundreds. The repository catalogs 515 prompt strings as of version v2.1.251, extracted from the compiled npm package. These include subagent prompts for Explore and Plan, utility prompts for CLAUDE.md creation and status line setup, and descriptions for builtin tools like Write, Bash, and TodoWrite. The README notes that some prompts are large; the statusline-setup agent alone is 3646 tokens. The list also covers slash command prompts, such as /code-review and /batch, which are broken into multiple parts. This is not a summary or a paraphrase. The files are extracted directly from the minified JavaScript, so they match what Claude Code actually uses.
Why 515 Prompts Instead of One
The design is conditional. Claude Code assembles its system prompt from many pieces depending on the environment and configuration. The README lists categories: environment-dependent sections, tool descriptions, separate prompts for builtin agents, and AI-powered utilities like conversation compaction and session title generation. That means the effective prompt in a session varies. The repository tracks these pieces individually, which is useful if you want to know what part of the prompt is responsible for a specific behavior. The token counts are approximate; interpolated bits like tool name references and subagent lists can shift the count by up to 20 tokens per session. That caveat matters if you are counting tokens for context window planning.
How the Extraction Works
The prompts are pulled from the latest npm version of Claude Code using a script. The README emphasizes that because they come from the compiled source, they are guaranteed to match what Claude Code uses. This is a key distinction from reverse-engineered or hand-transcribed prompt collections. The repository also works with tweakcc, a companion tool from the same team. tweakcc patches the exact same strings in your local installation, so you can customize a prompt as a markdown file and apply it. The extraction script and tweakcc share the same underlying approach: locate the string in the minified JS and replace it. That gives you a way to experiment with prompt changes without waiting for Anthropic to expose a configuration option.
Getting Started and Using the Files
You do not install this repository as a package. It is a collection of markdown files under system-prompts/. You can clone it, browse the files, and read the CHANGELOG.md. The README lists each prompt with a link and a token count, so you can jump to a specific one. To modify your own Claude Code installation, you would use tweakcc, which is a separate tool. The workflow is: write your custom prompt as a markdown file, then run tweakcc to patch your npm-based or native binary installation. tweakcc also handles diffing and conflict management when both you and Anthropic have modified the same prompt file. The repository itself does not require JavaScript or any build step; it is plain text.
A Genuine Limitation: Version Churn
The prompts change constantly. The changelog covers 274 versions since v2.0.14, and releases come quickly; the three most recent releases are dated within two days of each other. That means the repository is a moving target. If you rely on a specific prompt string for a project, you must track which version you are on. The README states the repository is updated within minutes of each Claude Code release, which is good for freshness but bad for stability. A prompt that works today may be gone or renamed tomorrow. Also, the token counts are not exact for your session. The interpolated variables can change the count, so do not treat the numbers as precise measurements. This is a reference for a specific version, not a timeless spec.
Alternatives and How They Differ
The main alternative is to read the minified JavaScript yourself. Claude Code is distributed as a compiled npm package, and the prompts are embedded in a large minified file. You could search for strings manually, but that is tedious and error-prone. Another alternative is to use Anthropic's official documentation, which describes features but does not expose the raw prompt text. This repository fills that gap by extracting and organizing the strings. A third path is to use tweakcc alone, without this repository. tweakcc lets you patch prompts, but it does not give you a curated list of what exists. This repository is the catalog; tweakcc is the patching tool. They are complementary, not interchangeable.
Maintenance, License, and Upgrade Cost
The repository is MIT licensed, so you can reuse the prompt files in your own tools or documentation without restriction. The maintenance burden is on the maintainers, not you. They update the repository after each Claude Code release, and they create a GitHub release for each new version. If you fork it, you take on that update burden yourself. The upgrade cost for users is low: you just pull the latest files. But if you use tweakcc to patch your installation, you must re-apply patches after each Claude Code upgrade, because the underlying strings change. The README mentions that tweakcc provides conflict management for exactly this situation. Plan to re-run your patching process on every Claude Code update.
Editorial conclusion
Adopt this repository if you need to inspect or customize Claude Code's internal prompts, especially if you use tweakcc to patch your installation. Do not adopt it if you expect a stable API or if you want prompts for a different tool. Before relying on it, verify the version matches your Claude Code installation, since prompts change with each release. The repository is updated within minutes of each release, so check the release tag against your npm version. This is a reference and a patching companion, not a runtime library.
Community notes