# Hacker Bob v1.1.5 Release Notes

## Highlights

`v1.1.5` fixes `/bob-update` (and the `bob-status` skill body) on Claude Code builds that do not propagate `CLAUDE_PROJECT_DIR` into the assistant's Bash tool subprocess.

On Claude Code `2.1.119`, the harness exports `CLAUDE_PROJECT_DIR` for hooks defined in `settings.json` (statusline, scope-guard, session-write-guard) but not for ad-hoc `Bash` tool calls made by the assistant. The `/bob-update` slash command body and the `/bob-status` read order both invoked `node "$CLAUDE_PROJECT_DIR/.claude/hooks/bob-update.js" ...`, so Bash expanded the variable to an empty string and node failed with `MODULE_NOT_FOUND /.claude/hooks/bob-update.js`.

## Fix

- `.claude/commands/bob-update.md` and `.claude/skills/bob-status/SKILL.md` now use `${CLAUDE_PROJECT_DIR:-$PWD}` everywhere they invoke `bob-update.js`. Bash falls back to the working directory (always the project root for Claude Code sessions) when the env var is unset, while still preferring the env var when the harness does export it.
- `test/prompt-contracts.test.js` adds two regression assertions pinning the `${CLAUDE_PROJECT_DIR:-$PWD}` form in both surfaces, so a future edit cannot silently reintroduce the bare `$CLAUDE_PROJECT_DIR` form.

## Install

```bash
npx -y hacker-bob-cc@1.1.5 install /path/to/your/project
```

After installing, fully restart Claude Code in that project so `/bob-update` and `/bob-status` reload.

## Verification

- `npm test` passes.
- `npm run release:check` passes.
- Patched `node "${CLAUDE_PROJECT_DIR:-$PWD}/.claude/hooks/bob-update.js" plan "${CLAUDE_PROJECT_DIR:-$PWD}"` runs successfully end-to-end in the assistant's Bash tool with `CLAUDE_PROJECT_DIR` unset.
