Claude Code First, specification version 0.1.0. The plain-language guide
Version 0.1.0. Level 2. Best evidence grade R4/S3.
EP-4 A leading byte-order mark is expected
A tool that reads text piped to it on Windows SHOULD strip or refuse a leading byte-order mark rather than keep it as content.
| Field | Value |
|---|---|
| Keyword | SHOULD |
| Level | 2 |
| Checked | by judgement |
| Findings | F404 |
| Harness facts | none |
| Threat | external: one platform, Windows PowerShell 5.1 |
| Status | active |
Rationale: Windows PowerShell 5.1 prepends a byte-order mark to text it pipes to a native command. In roadkeep it broke a stdin path, fixed in RK1023, and on another occasion a mark reached a governed file through a body file with the lint clean (F404). polyweave's no-clobber hook strips the mark too, but it was written in another repository and does not count as a second origin. The support is one project on two occasions, so the keyword is SHOULD. The fact that the mark is added is a property of PowerShell 5.1, not of Claude Code, and is not in the harness register; a later PowerShell, or another shell, may not add it.