Fission-AI/OpenSpec · error
File is encoded as UTF-16 BE which is not supported. Please
Error message
File is encoded as UTF-16 BE which is not supported. Please re-save as UTF-8 or UTF-16 LE, then retry.
What it means
Error "File is encoded as UTF-16 BE which is not supported. Please re-save as UTF-8 or UTF-16 LE, then retry." thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/completions/installers/powershell-installer.ts:37
end: '# OPENSPEC:END',
};
constructor(homeDir: string = os.homedir()) {
this.homeDir = homeDir;
}
/**
* Detect the encoding of a file by inspecting its BOM (Byte Order Mark).
* Returns the Node.js BufferEncoding and the raw BOM bytes to preserve on write.
*/
private detectEncoding(buffer: Buffer): { encoding: BufferEncoding; bom: Buffer } {
// UTF-16 LE BOM: FF FE
if (buffer.length >= 2 && buffer[0] === 0xff && buffer[1] === 0xfe) {
return { encoding: 'utf16le', bom: Buffer.from([0xff, 0xfe]) };
}
// UTF-16 BE BOM: FE FF — not natively supported by Node
if (buffer.length >= 2 && buffer[0] === 0xfe && buffer[1] === 0xff) {
throw new Error(
'File is encoded as UTF-16 BE which is not supported. ' +
'Please re-save as UTF-8 or UTF-16 LE, then retry.',
);
}
// UTF-8 BOM: EF BB BF
if (buffer.length >= 3 && buffer[0] === 0xef && buffer[1] === 0xbb && buffer[2] === 0xbf) {
return { encoding: 'utf-8', bom: Buffer.from([0xef, 0xbb, 0xbf]) };
}
// No BOM → default UTF-8
return { encoding: 'utf-8', bom: Buffer.alloc(0) };
}
/**
* Read a profile file, preserving its encoding metadata for round-trip writes.
* Throws if the file uses UTF-16 BE (unsupported by Node).
*/
private async readProfileFile(filePath: string): Promise<{ content: string; encoding: BufferEncoding; bom: Buffer }> {
const raw = await fs.readFile(filePath);View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/completions/installers/powershell-installer.ts:37 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Fission-AI/OpenSpec@6926ccb18a (2026-08-25).
Data as JSON: /api/errors/761632ff7d9245bb.
Report an issue: GitHub.