paperclipai/paperclip · error
Cannot seed worktree database because source config was not…
Error message
Cannot seed worktree database because source config was not found at ${sourceConfigPath}. Use --no-seed or provide --from-config. What it means
Seed-source guard in worktree init: seeding was requested, but the resolved source config file does not exist, so there is no source instance to copy data from; the command offers --no-seed or an explicit --from-config as the escape hatches.
Solutions
- Provide --from-config pointing at the source config.
- Re-run with --no-seed to skip database seeding.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cli/src/commands/worktree.ts:1702 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-18).
Data as JSON: /api/errors/8613df8187699849.
Report an issue: GitHub.
Appendix: source
Thrown at cli/src/commands/worktree.ts:2516
{
...buildWorktreeEnvEntries(paths, branding),
...(existingAgentJwtSecret ? { PAPERCLIP_AGENT_JWT_SECRET: existingAgentJwtSecret } : {}),
...(existingToolActionSigningSecret ? { PAPERCLIP_TOOL_ACTION_SIGNING_SECRET: existingToolActionSigningSecret } : {}),
},
paths.envPath,
);
ensureAgentJwtSecret(paths.configPath);
ensureToolActionSigningSecret(paths.configPath);
loadPaperclipEnvFile(paths.configPath);
const copiedGitHooks = copyGitHooksToWorktreeGitDir(cwd);
let seedSummary: string | null = null;
let seedExecutionQuarantineSummary: SeededWorktreeExecutionQuarantineSummary | null = null;
let pausedScheduledRoutineCount: number | null = null;
let reboundWorkspaceSummary: SeedWorktreeDatabaseResult["reboundWorkspaces"] = [];
if (opts.seed !== false) {
if (!sourceConfig) {
throw new Error(
`Cannot seed worktree database because source config was not found at ${sourceConfigPath}. Use --no-seed or provide --from-config.`,
);
}
const spinner = p.spinner();
spinner.start(`Seeding isolated worktree database from source instance (${seedMode})...`);
const markers = resolveWorktreeSeedMarkerPaths(paths.configPath);
const releaseSeedLock = await acquireWorktreeSeedLock(markers.lock);
try {
const seeded = await runVerifiedWorktreeSeed({
configPath: paths.configPath,
sourceConfigPath,
sourceConfig,
targetConfig,
targetPaths: paths,
instanceId,
seedMode,
preserveLiveWork: opts.preserveLiveWork,
seedDatabase: seedWorktreeDatabase,View on GitHub (pinned to 01ad858492)