Repository navigation
v0.13.0 — Fix Claude worker .claude/ sensitive prompt hang
BREAKING
- Project-local runtime moved:
<project>/.claude/ralph-desk/→<project>/.rlp-desk/- init mode: auto-migrates legacy directory with atomic lockfile
- run mode: refuses with non-zero exit + prints
mv .claude/ralph-desk .rlp-deskinstructions to protect in-flight campaigns - Both legacy + new directories present → init exits 1 with clear conflict message
NEW
RLP_DESK_RUNTIME_DIRenv override: pin runtime dir to a custom relative path. Future platform changes that re-trigger sensitive policy can be dodged without a release.- Claude + tmux warning:
node run.mjs run --mode tmux --worker-model sonnetnow prints a stderr warning suggestinggpt-5.5:high(codex) or--mode agent. Suppress withRLP_DESK_QUIET_WARNINGS=1. - Permission-prompt early-detect: when a Claude Code self-modification prompt appears in worker pane stdout, the leader writes BLOCKED with
failure_category=permission_prompt+suggested_action=switch_worker_to_codex_or_use_agent_modewithin seconds (previously hung for the full pollForSignal timeout). NewBLOCK_TAGS.PERMISSION_PROMPTconstant is exported for wrapper consumers.
FIX
- Claude worker + tmux sentinel write hang: root cause was Claude Code's hardcoded sensitive-file policy on
.claude/*paths, which--dangerously-skip-permissionsdoes not bypass. Moving the runtime out of.claude/removes the trigger entirely.
Migration
| Scenario | Action |
|---|---|
Active campaign in .claude/ralph-desk/ |
Run mode prints mv .claude/ralph-desk .rlp-desk, then re-run |
| Fresh init | Auto-migrated by node run.mjs init (atomic, with lockfile) |
| Pinned legacy path needed | Set RLP_DESK_RUNTIME_DIR=.claude/ralph-desk (not recommended; reintroduces the hang) |
Roadmap
Legacy .claude/ralph-desk/ detection logic will be removed in 1.0.0 (deprecation cycle).