Download Latest Version 0.9.103 source code.zip (4.3 MB) Google Add to Preferred Sources
Home / v0.9.100
Name Modified Size InfoDownloads / Week
Parent folder
0.9.100 source code.tar.gz 2026-10-21 3.9 MB
0.9.100 source code.zip 2026-10-21 4.2 MB
README.md 2026-10-21 2.6 kB
Totals: 3 Items   8.1 MB 0

skills/reflect/scripts/claude-project-dir.mjs prints Claude Code's transcripts directory for the directory a session started in, passed as its argument, or for the current directory. recall, automate-me, reflect, show-me-your-work, and the Eval and Session pickup playbooks run it with the primary working directory the system prompt names, rather than having the agent build <encoded-cwd> from a description. Claude Code names the directory after the start directory, and the agent's shell may have moved since. The description in 0.9.99 left out two cases. Claude Code keeps only ASCII letters and digits, so é also becomes -. A name longer than 200 characters keeps its first 200 and gains - and a base-36 hash of the path. The script reproduces both. It uses CLAUDE_CODE_PROJECT_DIR_NAME as the name when it is set together with CLAUDE_CONFIG_DIR and Claude Code would accept it: 1 to 64 letters, digits, _, or -, and not a Windows reserved device name such as nul. When the derived directory is missing, it takes the one directory that shares the first 200 characters, so a hash that changes in a later Claude Code release still resolves. reflect passes its output to find-transcript.mjs.

poteto-agent and the reflect reviewer prompts name the plugins directory as ${CLAUDE_CODE_PLUGIN_CACHE_DIR:-${CLAUDE_CONFIG_DIR:-$HOME/.claude}/plugins}/. Claude Code's environment variable reference says CLAUDE_CODE_PLUGIN_CACHE_DIR sets the plugins root. The ~/.cursor/plugins/ rule in tools/substitutions.json writes the new form, and the sync dry-run at the pinned SHA still prints 47 forked and 87 unchanged. The GitHub Copilot reference's summary line now names the configuration directory paths as well. tests/claude-config-dir.test.mjs also fails on a plugins path without the override and on any bare ~/.claude/ path other than pstack's orchestrate store and the setup-pstack include example. Both gaps came from the review of [#300].

Verified. tests/claude-project-dir.test.mjs checks the script against a directory Claude Code 2.1.296 created for a session started in a 232-character path holding é and _. The derived 207-character name, hash included, matches the directory byte for byte. The test also covers the CLAUDE_CODE_PROJECT_DIR_NAME rules, a blank or padded CLAUDE_CONFIG_DIR, the prefix fallback, a removed start directory, and the exit status. Run from another directory, the new reflect line finds the session's transcript when given the start directory. Without it the script exits 1.

Source: README.md, updated 2026-10-21