An animal-control team runs a one-week Claude Code batch that migrates legacy kennel records. For this batch only, every run must follow a temporary convention: dates are to be emitted in the legacy vendor's format. The team does not want this convention checked into the repository's rule file, where it would confuse developers after the migration ends. What is the appropriate mechanism?
Select an answer to reveal the explanation.
Short Explanation
--append-system-prompt is a rider on this week's work order, not an amendment to the shop manual. Stop passing the flag when the kennel migration ends and nothing is left in the repository to confuse the next developer.
Full Explanation
Instructions should live at the scope of their lifetime. The legacy vendor's date convention is true for one week of batch runs and false for the repository afterwards, so writing it anywhere permanent guarantees a cleanup task that someone will eventually forget to perform.
--append-system-prompt appends text to the system prompt for the invocation it is passed on, which makes it the right home for a standing instruction whose life is a single run or a scripted batch of runs. The convention governs every run of the animal-control migration script, the checked-in rule file keeps describing how the project actually works, and the temporary instruction disappears by itself the moment the script stops running.
Putting the convention in CLAUDE.md applies it to every session on the repository, including developers doing unrelated work, and depends on a deletion that is easy to forget; a deny permission rule operates on tool calls and their arguments, making it a blunt and misdirected instrument for expressing a formatting convention, and it would block legitimate writes; and there is no ambient environment variable the harness folds into the system prompt, so that option describes a mechanism that does not exist.
Exam caveat: appended system-prompt text is an instruction rather than a validator, so it steers the model toward the legacy format without guaranteeing that every migrated record matches it. Operational check: run the batch with the flag, sample the migrated kennel records for date format, and add a schema or post-write check if any run produces the modern format instead.