Repository navigation
Release 0.8
Released 2026-09-28, in three patches: 0.8.0, 0.8.1, and 0.8.2. Moves the engineering and git rules from the output style into a replacement system prompt. A version in parentheses marks a patch, and each patch is dated 2026-09-28.
| Version | Change |
|---|---|
| 0.8.0 | Replacement prompt, launcher function, instruction-file checks |
| 0.8.1 | Writes to Claude Code settings ask the user in auto mode |
| 0.8.2 | Agents stop searching gitignored directories |
Note: After you update to 0.8.0, run
/dotclaude:apply-settings-profileagain to install or refresh the launcher.
- Replacement system prompt (0.8.0): replaces the built-in prompt of Claude Code.
It holds the engineering and git rules and names the installed Claude Code version.
The output style keeps only how Claude talks and reports, and shrinks from about 15 KB to about 2.3 KB.
- Only a CLI flag can replace that prompt.
/dotclaude:apply-settings-profileinstalls aclaudeshell function that passes--system-prompt-file. It supports zsh, bash, fish, and PowerShell on macOS, Linux, and Windows. - The function adds nothing when you pass your own system prompt flag or set
DOTCLAUDE_SYSTEM_PROMPT=0. - Session start keeps its prompt copy current after plugin and Claude Code updates.
- Only a CLI flag can replace that prompt.
- Missing-prompt notice (0.8.0): session start tells you when a session runs without the dotclaude system prompt.
The launcher may be missing, or an IDE or another program may have started Claude Code without the shell function.
Such a session has only the rules of the output style.
- With
ANTHROPIC_BASE_URLset, the notice explains how to run a proxy such as Headroom with the function. Useheadroom proxyand an exportedANTHROPIC_BASE_URL, notheadroom wrap claude. - Set
DOTCLAUDE_SYSTEM_PROMPT=0to run without the prompt and without the notice. - 0.8.1: when a session starts without the
claudefunction but the startup file already has it, the notice namessource <file>or a new terminal as the fix. This happens when the terminal opened before the launcher was installed.
- With
- Instruction-file checks (0.8.0): session start checks every
CLAUDE.md,CLAUDE.local.md,AGENTS.md, and.claude/rules/file, and every file that they@import, without block-level HTML comments.- One file warns above 150 lines and fails above 200.
- The text that loads at session start warns above about 3,000 tokens and fails above 5,000.
- It also reports a file above 4 MiB, an import more than four hops deep, and an
AGENTS.mdthat aCLAUDE.mdhides without@AGENTS.md. - Names that link to one file (
CLAUDE.md,AGENTS.md,GEMINI.md) count once, under the path of the original. A symlink to a missing file gets its own warning.
-
git_attributionoption (0.8.0, on by default): theincludeGitInstructions: falsesetting of the profile makes Claude Code drop itsCo-Authored-Bycommit trailer and pull request footer. The session notes now give them back. Theattributionsetting of Claude Code still changes or removes them. - Ask on settings writes (0.8.1): writes to the own configuration of Claude Code ask the user.
In auto mode, the classifier denied them as self-modification even when the user asked, so the 0.8.0 migration could not finish.
A hook "ask" skips the classifier and shows a permission prompt (checked in Claude Code 2.1.283).
- The Bash guard asks for the
apply-settings,apply-claude-md,apply-launcher, andinstall-managedscripts of this skill with--apply. It also asks for commands that write a.claude/settings*.jsonormanaged-settingsfile, and it follows thebash_guardoption. - The edit guard already asked for settings edits, and it now also covers
managed-settings.d/*.json.
- The Bash guard asks for the
-
install-managedfrom Claude Code (0.8.1):scripts/askpass.shasks for the admin password in a desktop dialog throughsudo -A, after the prompt of the Bash guard. It usesosascripton macOS, andzenity,kdialog, orssh-askpasson Linux. Without a dialog, the user runs the command in a terminal as before. - Ignored-directory guard (0.8.2): the Bash guard denies recursive searches and listings that would walk gitignored directories, such as build output, dependencies, and caches.
An agent's
grep -rin a repository with an 8.9 GB.build/directory hung, and it would have flooded the context with generated files.- It covers
grep -r,find,tree,ls -R,ack,rgandagwith ignore-bypass flags (--no-ignore,-u),fd -Iand-u, andgit grep --no-index. - It asks
gitwhich ignored directories are under the search path. A walk passes when there are none, when it starts inside an ignored directory, or when it is at most two levels deep. A walk also passes when it excludes each ignored directory (--exclude-dir,-prune,-g '!…',-E,tree -I, including{a,b}lists). - The deny message names the directories and points to
rg,fd, orgit grep, which skip ignored files. - It follows the
bash_guardoption.
- It covers
-
CLAUDE_CODE_GLOB_NO_IGNORE(0.8.2): the settings profile sets it to"false", so the Glob tool skips gitignored files as the Grep tool already does. Claude Code 2.1.283 runs Glob asrg --files --no-ignoreunless this variable is false. In a test repository,**/*.swiftreturned files under.build/andnode_modules/without it, and only the tracked file with it. The variable comes from the Claude Code source and has no documentation, so a later release may change it. Runapply-settingsagain to add it. -
AGENTS.md(0.8.2): gives coding agents the commands and rules of the repository.CLAUDE.mdandGEMINI.mdare symlinks to it. - Prompt surface doc (0.8.0):
docs/claude-code-prompt-surface.md, now part of Prompt surface, records the text of the lean prompt thatCLAUDE_CODE_SIMPLE_SYSTEM_PROMPTselects, and the conditions for each part. - Two letters that list gaps for xsyetopz/skills (0.8.0), both local files of the maintainer that were never in the repository:
-
docs/letter-to-skills-developer.txtlists dossier gaps that belong in skills. -
docs/letter-to-skills-developer-skill-lint.txtgives that repository a skill lint gate and the fixes that it needs first.
-
-
ASD-STE100 (0.8.0): the output style, the agents, the skills, the option descriptions, and the hook messages that Claude reads follow ASD-STE100 and the current prompting guides of Anthropic. They use no semicolons, short sentences, and active voice with a named actor. They use no phrasal verbs or metaphor, one word per action, and a reason with each rule. No rule changed meaning.
-
Size tests (0.8.0): dotclaude's tests check its own files against token and line limits. They replace the 21.5 KB byte cap.
File Warning Failure Output style 1,000 tokens 2,000 tokens System prompt 5,000 tokens 15,000 tokens Each agent body 2,000 tokens 5,000 tokens Each SKILL.md450 lines, 4,500 body tokens 500 lines, 5,000 body tokens Skill names and descriptions stay inside the Agent Skills limits of 64 and 1,024 characters.
-
New system-prompt rules from the dossier reports (0.8.0):
- Apply a correction to every similar case.
- Make sure that the edited file is the file that runs.
- Count a bug test only after it fails without the fix.
- A mock of the part under test cannot catch its defect.
- Review the diff of the whole task.
- Do not remove a feature to pass a test.
- Repeat a search or fix only when you expect new evidence.
- Open a search hit before you rely on it.
- Revisit an earlier decision that proved wrong.
- Do not turn prose guidance into tests or rule files.
- Wait for background jobs with
Monitor. - A priority order settles conflicts between rules.
-
Eval prompts (0.8.0): mention files as bare
@file, which Claude Code expands. The earlier@`file`form did not expand. -
apply-settingscleanup (0.8.1): removes exact entries that older dotclaude profiles wrote and 0.8 dropped. These are theAskUserQuestiondeny, the two Codex allow rules, andANTHROPIC_DEFAULT_SONNET_MODEL=claude-opus-5-5. The preview lists each one, and the same keys with other values stay. -
CLAUDE_CODE_FORK_SUBAGENT(0.8.1): the settings profile sets"0"instead of"false". Claude Code reads both as off, and the settings JSON schema accepts only"0"and"1". -
Dossier (0.8.2):
docs/dossier.mdreplaces the five research docs. It indexes six parts underdocs/dossier/that hold the design decisions and the measurements behind them. The dossier is now the evidence pages of this wiki, from Design to Open items. The README is about half as long. -
Old releases (0.8.2): releases before 0.8.0 moved from the changelog to
docs/changelog/. They are now the Release history pages. Each Markdown file now has 300 lines or less.
- Fork test (0.8.0): the subagent test for forks no longer fails when the shell that runs it sets
CLAUDE_CODE_FORK_SUBAGENT=false. - Skill names in code fences (0.8.1): a
/dotclaude:skill name inside a fenced code block no longer counts as an invocation. A pasted session-start notice in a code fence made Claude ask the user to send/dotclaude:apply-settings-profileagain.
Previous: Release 0.7 · Next: Release 0.9
- Overview
- Quickstart
- Install
- Plugins
- Settings
- Hooks
- Troubleshooting
- Undocumented reads
- Development
- Design
- Decisions
- Changelog
- Other