larksuite/cli · error
Hooks.NewArgs panicked: %v
Error message
Hooks.NewArgs panicked: %v
What it means
probeNewArgs recovered a panic out of the author-supplied Hooks.NewArgs constructor - the definition's args factory is buggy; the recovered value is formatted into this error instead of crashing mount.
Source
Thrown at shortcuts/common/typed_external.go:69
}
if err := validateExternalFlagNamespace(compiled); err != nil {
return Shortcut{}, err
}
shortcut := shortcutFromCompiled(compiled)
if definition.PageOutput {
shortcut.Flags = append(shortcut.Flags, PageAllFlags()...)
}
if err := validateTypedFlagMountPlan(compiled, shortcut.PrintFlagSchema != nil, typedRisk(shortcut.Risk)); err != nil {
return Shortcut{}, err
}
return shortcut, nil
}
func probeNewArgs(newArgs func() any) (result any, err error) {
defer func() {
if recovered := recover(); recovered != nil {
result = nil
err = fmt.Errorf("Hooks.NewArgs panicked: %v", recovered)
}
}()
return newArgs(), nil
}
func adaptBridgeHooks(hooks commandbridge.Hooks) compiledHooks {
adapted := compiledHooks{
newArgs: hooks.NewArgs,
normalize: hooks.Normalize,
validate: hooks.Validate,
renderers: hooks.Renderers,
}
if hooks.DryRun != nil {
adapted.dryRun = func(ctx context.Context, runtime typedRuntimeContext, args any) (*DryRunAPI, error) {
value, err := hooks.DryRun(ctx, runtime, args)
if err != nil || value == nil {
return nil, err
}View on GitHub (pinned to 7fd6ef3c07)
Solutions
- Fix NewArgs so it constructs the Args value without panicking (nil maps, bad receivers, etc.)
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at shortcuts/common/typed_external.go:69 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/c0f8ab8c95ac82fb.
Report an issue: GitHub.