Fission-AI/OpenSpec · error
This repo's planning is externalized to store '${pointer.val
Error message
This repo's planning is externalized to store '${pointer.value}' (${pointer.filePath}). Remove the store: line first to convert this repo to a local OpenSpec root. What it means
Error "This repo's planning is externalized to store '${pointer.value}' (${pointer.filePath}). Remove the store: line first to convert this repo to a local OpenSpec root." thrown in Fission-AI/OpenSpec.
Source
Thrown at src/core/init.ts:208
// declaration is externalized planning, not a root to extend — and a
// subdirectory of such a repo must not silently grow a nested root.
// Refuse before legacy cleanup, migration, or prompts touch anything.
// In extend mode the walk finds projectPath itself; otherwise it
// finds the nearest ancestor root (so pointer-repo subdirectories
// refuse exactly where a normal command would resolve the pointer).
const guardRoot = findRepoPlanningRootSync(projectPath);
if (guardRoot) {
const { hasPlanningShape, pointer } = classifyOpenSpecDir(guardRoot);
if (!hasPlanningShape) {
if (pointer.malformed) {
throw new Error(
`The store declaration in ${pointer.filePath} is invalid (` +
storePointerProblem(pointer.malformed) +
`). Fix or remove the store: line before running openspec init.`
);
}
if (pointer.value !== undefined) {
throw new Error(
`This repo's planning is externalized to store '${pointer.value}' (${pointer.filePath}). ` +
`Remove the store: line first to convert this repo to a local OpenSpec root.`
);
}
}
}
await this.assertLanguageCanBeApplied(projectPath, openspecPath);
// Check for legacy artifacts and handle cleanup
const deferredLegacyCleanup = await this.handleLegacyCleanup(projectPath, extendMode);
// Migrate OpenSpec-managed skills left in renamed tool directories
// (e.g. .kimi -> .kimi-code) before detection so they stay recognized.
migrateLegacyToolDirs(projectPath);
// Detect available tools in the project (task 7.1)
const detectedTools = getAvailableTools(projectPath);View on GitHub (pinned to 6926ccb18a)
When it happens
Trigger: Thrown at src/core/init.ts:208 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/925f330b3ed3f75a.
Report an issue: GitHub.