{"record":{"id":"ba55eaf106409d02","repo":"router-for-me/CLIProxyAPI","slug":"plugin-executor-s-is-unavailable","errorCode":null,"errorMessage":"plugin executor %s is unavailable","messagePattern":"plugin executor (.+?) is unavailable","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/pluginhost/adapters_executors.go","lineNumber":637,"sourceCode":"\tcase sdktranslator.FormatOpenAI:\n\t\treturn []byte(\"data: [DONE]\")\n\tdefault:\n\t\treturn nil\n\t}\n}\n\nfunc sendExecutorPluginStreamChunk(ctx context.Context, out chan<- pluginapi.ExecutorStreamChunk, chunk pluginapi.ExecutorStreamChunk) bool {\n\tselect {\n\tcase out <- pluginapi.ExecutorStreamChunk{Payload: bytes.Clone(chunk.Payload), Err: chunk.Err}:\n\t\treturn true\n\tcase <-ctx.Done():\n\t\treturn false\n\t}\n}\n\nfunc (a *executorAdapter) Execute(ctx context.Context, auth *coreauth.Auth, req coreexecutor.Request, opts coreexecutor.Options) (resp coreexecutor.Response, err error) {\n\tif a == nil || a.executor == nil || a.host.isPluginFused(a.pluginID) || !a.host.pluginIdentityCurrent(a.pluginID, a.path, a.version) {\n\t\treturn coreexecutor.Response{}, fmt.Errorf(\"plugin executor %s is unavailable\", a.Identifier())\n\t}\n\tdefer func() {\n\t\tif recovered := recover(); recovered != nil {\n\t\t\ta.host.fusePlugin(a.pluginID, \"Executor.Execute\", recovered)\n\t\t\tresp = coreexecutor.Response{}\n\t\t\terr = fmt.Errorf(\"plugin executor %s panic: %v\", a.Identifier(), recovered)\n\t\t}\n\t}()\n\n\tprepared, errPrepare := a.prepareExecutorCall(req, opts)\n\tif errPrepare != nil {\n\t\treturn coreexecutor.Response{}, errPrepare\n\t}\n\tpluginResp, errExecute := a.executor.Execute(ctx, buildExecutorRequest(a.host, a.provider, auth, prepared.req, prepared.opts))\n\tif errExecute != nil {\n\t\treturn coreexecutor.Response{}, errExecute\n\t}\n\treturn coreexecutor.Response{","sourceCodeStart":619,"sourceCodeEnd":655,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/pluginhost/adapters_executors.go#L619-L655","documentation":"Error \"plugin executor %s is unavailable\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/pluginhost/adapters_executors.go:637 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the plugin process is loaded and healthy before executing.","Reload or reinstall the plugin providing the named executor."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}