track_progress is now a consumer input
claude-orchestrator.yml and claude-executor.yml expose track_progress (boolean, default true). It was hardcoded "true" in the executor, so consumers had no way to opt a secondary workflow out of the action's progress comment. Default is unchanged — no action needed for existing consumers.
Why
anthropics/claude-code-action finds the comment to reuse by "authored by the Claude app bot" — a hardcoded user id / login substring, with no per-workflow marker:
// create-initial.ts
const idMatch = comment.user?.id === CLAUDE_APP_BOT_ID; // 209825114, file-local const
const botNameMatch = comment.user?.type === "Bot" && comment.user?.login.toLowerCase().includes("claude");Two Anthropic-path workflows on one PR therefore share a single comment, and the later run resets it to "Claude Code is working…" and writes over the earlier result. Deterministic, not a race — a concurrency group only decides who wins. Observed in dotCMS/core#36761, where the rollback-safety verdict erased the AI code review.
bot_id / bot_name cannot work around it — they only set the git commit identity.
What to do
Only dotCMS/core runs more than one Anthropic-path workflow per PR; the other nine consumer repos on @v3 have exactly one and need no change.
If you do run several, keep track_progress: true on the one whose output is the auto-updating comment, and pass track_progress: false on the rest — they report through their own marker comment, a label, or a check. See README → Dual Invocation Troubleshooting §6. The bedrock-generic / harness / codex paths already namespace their markers via sticky_namespace and are unaffected.
Also in this release
- README: supported model IDs table with prices and routing notes (#63)