Fission-AI/OpenSpec · error
Path is not writable: ${targetPath}
Error message
Path is not writable: ${targetPath} What it means
Error "Path is not writable: ${targetPath}" thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/completions/installers/zsh-installer.ts:273
success: true,
installedPath: targetPath,
isOhMyZsh,
message: 'Completion script is already installed (up to date)',
instructions: [
'The completion script is already installed and up to date.',
'If completions are not working, try: exec zsh',
],
};
}
// File exists but content is different - this is an update
isUpdate = true;
} catch (error: any) {
// File doesn't exist or can't be read, proceed with installation
console.debug(`Unable to read existing completion file at ${targetPath}: ${error.message}`);
}
if (!(await FileSystemUtils.canWriteFile(targetPath))) {
throw new Error(`Path is not writable: ${targetPath}`);
}
// Ensure the directory exists
const targetDir = path.dirname(targetPath);
await fs.mkdir(targetDir, { recursive: true });
// Backup existing file if updating
const backupPath = isUpdate ? await this.backupExistingFile(targetPath) : undefined;
// Write the completion script
await fs.writeFile(targetPath, completionScript, 'utf-8');
// Auto-configure .zshrc for standard Zsh only.
// Oh My Zsh loads custom/completions and runs compinit itself.
let zshrcConfigured = false;
if (!isOhMyZsh) {
zshrcConfigured = await this.configureZshrc(targetDir);
}View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/completions/installers/zsh-installer.ts:273 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/e558f8603a0607bf.
Report an issue: GitHub.