larksuite/cli · error

host registrar does not support EmbeddedSkills

Error message

host registrar does not support EmbeddedSkills

What it means

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.

Source

Thrown at extension/platform/builder.go:274

	caps          Capabilities
	actions       []func(Registrar)
	rules         []*Rule
	skillsOverlay *SkillsOverlay
}

func (p *builtPlugin) Name() string               { return p.name }
func (p *builtPlugin) Version() string            { return p.version }
func (p *builtPlugin) Capabilities() Capabilities { return p.caps }
func (p *builtPlugin) Install(r Registrar) error {
	for _, rule := range p.rules {
		r.Restrict(rule)
	}
	if p.skillsOverlay != nil {
		sr, ok := r.(EmbeddedSkillsRegistrar)
		if !ok {
			// Fail closed: a declared skill customization must never be
			// silently dropped by a host that cannot honour it.
			return errors.New("host registrar does not support EmbeddedSkills")
		}
		sr.EmbeddedSkills(p.skillsOverlay)
	}
	for _, action := range p.actions {
		action(r)
	}
	return nil
}

View on GitHub (pinned to 7fd6ef3c07)

Solutions

  1. Host: implement extension/platform.EmbeddedSkillsRegistrar on the Registrar passed to Install so skill overlays can be applied
  2. Plugin: drop the SkillsOverlay customization from the builder when targeting hosts without embedded-skill support
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at extension/platform/builder.go:274 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of larksuite/cli@7fd6ef3c07 (2026-09-04). Data as JSON: /api/errors/dca49792a9be3592. Report an issue: GitHub.