paperclipai/paperclip · error · Error

Target config not found at

Error message

Target config not found at ${configPath}.

What it means

Thrown by the worktree seed CLI command. Fires when readConfig cannot load a config at the given configPath (missing or unreadable target worktree config file), aborting the seed/merge operation before any plan is computed.

Solutions

  1. Verify ${configPath} exists; run the command from the target worktree or pass the correct config path.
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at cli/src/commands/worktree.ts:1591 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of paperclipai/paperclip@01ad858492 (2026-08-21). Data as JSON: /api/errors/ba2d44e1358aa745. Report an issue: GitHub.

Appendix: source

Thrown at cli/src/commands/worktree.ts:2372

      manifest = readWorktreeSeedManifest(configPath)!;
    }
    canonicalSource = resolveCanonicalWorktreeSeedSource({
      registeredBaseWorkspaceCwd,
      explicitSourceConfigPath,
      targetConfigPath: configPath,
      expectedTargetInstanceId: targetPaths.instanceId,
      manifestSource: manifest.source,
      manifestTargetInstanceId: manifest.targetInstanceId,
    });
    const sourceConfigPath = canonicalSource.configPath;

    const sourceConfig = readConfig(sourceConfigPath);
    if (!sourceConfig) {
      throw new Error(`Source config not found at ${sourceConfigPath}.`);
    }
    const targetConfig = readConfig(configPath);
    if (!targetConfig) {
      throw new Error(`Target config not found at ${configPath}.`);
    }

    const seedDatabase = dependencies.seedDatabase ?? seedWorktreeDatabase;
    const details = await runVerifiedWorktreeSeed({
      configPath,
      sourceConfigPath,
      sourceConfig,
      targetConfig,
      targetPaths,
      instanceId: targetPaths.instanceId,
      seedMode: manifest.seedMode,
      preserveLiveWork: opts.preserveLiveWork,
      expectedCompanyId,
      seedDatabase,
    });
    return { seeded: true, reason: "seeded", details };
  } finally {
    await releaseLock();

View on GitHub (pinned to 01ad858492)