router-for-me/CLIProxyAPI · error
plugin executor %s panic: %v
Error message
plugin executor %s panic: %v
What it means
Error "plugin executor %s panic: %v" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/pluginhost/adapters_executors.go:643
func sendExecutorPluginStreamChunk(ctx context.Context, out chan<- pluginapi.ExecutorStreamChunk, chunk pluginapi.ExecutorStreamChunk) bool {
select {
case out <- pluginapi.ExecutorStreamChunk{Payload: bytes.Clone(chunk.Payload), Err: chunk.Err}:
return true
case <-ctx.Done():
return false
}
}
func (a *executorAdapter) Execute(ctx context.Context, auth *coreauth.Auth, req coreexecutor.Request, opts coreexecutor.Options) (resp coreexecutor.Response, err error) {
if a == nil || a.executor == nil || a.host.isPluginFused(a.pluginID) || !a.host.pluginIdentityCurrent(a.pluginID, a.path, a.version) {
return coreexecutor.Response{}, fmt.Errorf("plugin executor %s is unavailable", a.Identifier())
}
defer func() {
if recovered := recover(); recovered != nil {
a.host.fusePlugin(a.pluginID, "Executor.Execute", recovered)
resp = coreexecutor.Response{}
err = fmt.Errorf("plugin executor %s panic: %v", a.Identifier(), recovered)
}
}()
prepared, errPrepare := a.prepareExecutorCall(req, opts)
if errPrepare != nil {
return coreexecutor.Response{}, errPrepare
}
pluginResp, errExecute := a.executor.Execute(ctx, buildExecutorRequest(a.host, a.provider, auth, prepared.req, prepared.opts))
if errExecute != nil {
return coreexecutor.Response{}, errExecute
}
return coreexecutor.Response{
Payload: a.translateExecutorResponse(ctx, prepared, pluginResp.Payload, false, nil),
Metadata: cloneAnyMap(pluginResp.Metadata),
Headers: cloneHeader(pluginResp.Headers),
}, nil
}
View on GitHub (pinned to 78f0c4079e)
Solutions
- Inspect the panic value and plugin logs to find the crashing code path.
- Update or replace the faulty plugin; report the panic to the plugin author.
When it happens
Trigger: Thrown at internal/pluginhost/adapters_executors.go:643 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/8968cf610c58846d.
Report an issue: GitHub.