Repository navigation
Release 0.16
xsyetopz edited this page Oct 5, 2026
·
2 revisions
Released 2026-09-30. Handoff notes got their own files, and a new hook points a new session to the newest open note. The release also fixed many false asks and false denies in the guards. A version in parentheses marks a later patch of this line, and an entry with no version comes from 0.16.0.
-
write-session-handoff: writes a new note to.claude/handoffs/<YYYY-MM-DD-HHMM>-<topic>.md(UTC time), not to.claude/handoff.md, and keeps the earlier notes.- A newer note for the same work sets the earlier one to
superseded. - dotclaude does not read
.claude/handoff.mdanymore. To continue from an old note, move it into.claude/handoffs/, or give its path to Claude.
- A newer note for the same work sets the earlier one to
-
exclude_session_fileshook (on by default): adds files that describe one session or one user to.git/info/excludewhen an agent creates them.- The files are the handoff note,
.dotclaude/,CLAUDE.local.md,.claude/settings.local.json, and.claude/worktrees/. - Before, the handoff skill only told the user to add the note to
.gitignore. - Files that their tools say to commit, such as
openspec/, stay tracked.
- The files are the handoff note,
-
handoff_pointerhook (on by default): tells a new session, at startup and after/clear, where the newest open handoff note is. Claude reads the note only when the user asks to continue, and checks it againstgit statusandgit logfirst. - Handoff note format: front matter with
status(in-progress,blocked,done, orsuperseded),branch,head, andwritten.- The Goal section ends with a Done when line, and State marks partial work.
- Open lists the questions for the user and the promises made to the user.
- These follow the common handoff templates: a status field that tools can read, a definition of done, and a flag on unfinished work.
-
/dotclaude:setup-integrations openspec: installs the OpenSpec CLI and runsopenspec init --tools claudein the project that the user names. The status script reports the CLI,openspec/config.yaml, and theopenspec-*skills.
- Subagent budget note: a subagent gets one note when its context comes within 15k tokens of its budget. The note says to finish the current item, remove the scratch files, and report. Past the budget, the agent can still remove its own files in the temp folder. Before, audit agents stopped in the middle of an item and left their scratch files.
- Stop checks: they send Claude back with
additionalContext, so Claude Code shows them as "Stop hook feedback", not as "Stop hook error". - Skills with
$ARGUMENTS: put their<task>last, after the reference sections, as the prompt guidance of Anthropic orders data before the query. -
integration-setupagent: gets the reason for each of its limits, and does not state a training cutoff that a model override makes wrong. - Output style: lists apology with the other replies that tell the user nothing. Main-conversation audits fix each finding that an MRE proves before the report, and a proven bug does not go in the follow-ups.
- Slices: the same change to many like files, for example each locale file, is one slice for one agent. Before, one session started an agent for each locale.
- Compaction point: the context note and the system prompt give it as about 117k tokens, not "before 150k".
-
includeGitInstructions: false(0.16.1): Claude still ran averifyorsimplifyskill before each commit.- Claude Code 2.1.286 gives this instruction in its git instructions when a user or project skill has one of these names.
- Docs-only and tests-only commits are the exception.
With
includeCodeReviewSuggestion: true, it also names/code-review medium. - The profile turns those instructions off, so the session notes give the same instruction.
- Permission prompts: a prompt no longer starts with
[dotclaude], because Claude Code already labels it as a hook prompt. An allow reason also has no tag, because only the user sees it, and messages to Claude keep the tag. The foreground rewrite of anAgentcall shows no reason, because it showed on every spawn. - Stop and compaction messages: quote only the check command, not the whole Bash command around it. Before, a check inside a heredoc script showed the script, cut at 200 characters in the middle of a code span.
- Compaction summary: no longer counts as a user prompt. Before, the destructive-command and risky-edit guards could read it as the last message of the user, and the prompts kept after compaction included it.
- Check detection: a check counts when it runs through
xcrun(xcrun swift test,xcrun xcodebuild ... test), with several recipes (just skills skill-lint markdown), with flags before the recipe (make -C app test), or asjust validate. - Open-task check: stops Claude again only for a task that it did not report before. Before, closing one of the reported tasks made the rest block again.
- Inline skill name: a
/dotclaude:skill named in the middle of a message runs at the step where the message puts it. Before, the hook said to run it now, also for "commit this, then/dotclaude:write-session-handoff". - Bash guard: it no longer asks for these commands.
- A heredoc script that names
settings.jsononly as data, or that hasfs.rmSyncinside a JavaScript template string. -
find -name __pycache__ -prune -exec rm -r {} +. -
rm -rof a temp folder through a variable: aforloop word, anmktemp -dtemplate in the temp folder, or$TMPDIR/<name>. - A command with
IFS= read, which stopped all variable expansion. - A write to a settings file in a heredoc, or
rm -rfof a loop word outside the temp folder, still asks.
- A heredoc script that names
Previous: Release 0.15 · Next: Release 0.17
- Get started
- Guides
- Reference
- Develop
- Concepts and evidence
- Changelog
- Other