EveryInc/compound-engineering-plugin · warning
Skipping unknown target: ${extra}
Error message
Skipping unknown target: ${extra} What it means
When converting with extra targets (--also), each parsed extra name is looked up in the targets registry. A name with no registry entry is skipped with this warning; the run continues with valid targets. This guards against typos and renamed providers without failing the whole conversion.
Source
Thrown at src/commands/convert.ts:180
hasExplicitOutput,
scope: resolvedScope,
})
const bundle = target.convert(plugin, options)
if (!bundle) {
throw new Error(`Target ${targetName} did not return a bundle.`)
}
const effectiveScope =
targetName === "opencode" ? resolveOpenCodeWriteScope(hasExplicitOutput, resolvedScope) : resolvedScope
await target.write(primaryOutputRoot, bundle, effectiveScope)
console.log(`Converted ${plugin.manifest.name} to ${targetName} at ${primaryOutputRoot}`)
const extraTargets = parseExtraTargets(args.also)
const allTargets = [targetName, ...extraTargets]
for (const extra of extraTargets) {
const handler = targets[extra]
if (!handler) {
console.warn(`Skipping unknown target: ${extra}`)
continue
}
if (!handler.implemented) {
console.warn(`Skipping ${extra}: not implemented yet.`)
continue
}
const extraBundle = handler.convert(plugin, options)
if (!extraBundle) {
console.warn(`Skipping ${extra}: no output returned.`)
continue
}
const extraRoot = resolveTargetOutputRoot({
targetName: extra,
outputRoot,
codexHome,
piHome,
pluginName: plugin.manifest.name,
hasExplicitOutput,View on GitHub (pinned to c9c10f8c75)
Solutions
- Check the detected-targets listing for valid names and correct the --also value.
- Fix the typo in the --also argument.
- Check README/docs for the supported --to values.
- Upgrade the CLI if the target exists only in a newer version.
Example fix
// before bun convert claude --also opencodee // typo -> 'Skipping unknown target: opencodee' // after bun convert claude --also opencode
Defensive patterns
Strategy: validation
Validate before calling
const KNOWN = ["claude","codex","opencode","cursor","gemini","pi"]; // see src/targets/index.ts
const extras = parseExtraTargets(args.also).filter(t => KNOWN.includes(t));
if (extras.length !== parseExtraTargets(args.also).length) {
console.error("Unknown --also target; check supported values");
} Type guard
function isKnownTarget(name: string): name is TargetName {
return name in targets;
} Prevention
- Validate --also values against documented target names.
- Avoid hardcoding provider names from other tools' docs.
- Shell-quote variables feeding --also to prevent surprise values.
- Consult README for the supported --to/--also list.
When it happens
Trigger: Passing an unknown provider name to the --also flag of the convert command, e.g. --also claude,codex where 'claude' is not a key in targets.
Common situations: Typo in the --also value; using a target name from an older CLI version that was renamed; guessing provider names from docs of a different tool.
Related errors
- Skipping ${tool.name}: not implemented.
- Skipping ${tool.name}: no output returned.
- Skipping ${extra}: not implemented yet.
- Skipping ${extra}: no output returned.
- Skipping unknown target: ${extra}
AI-assisted analysis of EveryInc/compound-engineering-plugin@c9c10f8c75 (2026-08-31).
Data as JSON: /api/errors/fe7e087c875706b6.
Report an issue: GitHub.