{"record":{"id":"dca49792a9be3592","repo":"larksuite/cli","slug":"host-registrar-does-not-support-embeddedskills","errorCode":null,"errorMessage":"host registrar does not support EmbeddedSkills","messagePattern":"host registrar does not support EmbeddedSkills","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"extension/platform/builder.go","lineNumber":274,"sourceCode":"\tcaps          Capabilities\n\tactions       []func(Registrar)\n\trules         []*Rule\n\tskillsOverlay *SkillsOverlay\n}\n\nfunc (p *builtPlugin) Name() string               { return p.name }\nfunc (p *builtPlugin) Version() string            { return p.version }\nfunc (p *builtPlugin) Capabilities() Capabilities { return p.caps }\nfunc (p *builtPlugin) Install(r Registrar) error {\n\tfor _, rule := range p.rules {\n\t\tr.Restrict(rule)\n\t}\n\tif p.skillsOverlay != nil {\n\t\tsr, ok := r.(EmbeddedSkillsRegistrar)\n\t\tif !ok {\n\t\t\t// Fail closed: a declared skill customization must never be\n\t\t\t// silently dropped by a host that cannot honour it.\n\t\t\treturn errors.New(\"host registrar does not support EmbeddedSkills\")\n\t\t}\n\t\tsr.EmbeddedSkills(p.skillsOverlay)\n\t}\n\tfor _, action := range p.actions {\n\t\taction(r)\n\t}\n\treturn nil\n}\n","sourceCodeStart":256,"sourceCodeEnd":283,"githubUrl":"https://github.com/larksuite/cli/blob/7fd6ef3c07182257ce776cdc5a614e122d5bd4b3/extension/platform/builder.go#L256-L283","documentation":"Install of a built plugin declares a skills overlay (a customization of embedded skills), but the Registrar the host passed in does not implement EmbeddedSkillsRegistrar, so the type assertion fails. The code deliberately fails closed: rather than silently dropping the declared skill customization it aborts installation.","triggerScenarios":"Thrown at extension/platform/builder.go:274 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Host: implement extension/platform.EmbeddedSkillsRegistrar on the Registrar passed to Install so skill overlays can be applied","Plugin: drop the SkillsOverlay customization from the builder when targeting hosts without embedded-skill support"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7fd6ef3c07182257ce776cdc5a614e122d5bd4b3","analyzedAt":"2026-09-04T21:17:44.649Z","contentChangedAt":"2026-09-04T21:17:44.649Z","schemaVersion":2},"datasetVersion":"2026-09-12T02:17:10.037Z"}