{"record":{"id":"7adfbb2f9d2bf21a","repo":"zylon-ai/private-gpt","slug":"code-execution-provider-is-not-configured-7adfbb","errorCode":null,"errorMessage":"code_execution provider is not configured.","messagePattern":"code_execution provider is not configured\\.","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"private_gpt/components/tools/builders/text_editor_tool_builder.py","lineNumber":67,"sourceCode":"\n\n@singleton\nclass TextEditorToolBuilder:\n    @inject\n    def __init__(\n        self,\n        code_execution_component: CodeExecutionComponent,\n        settings: Settings,\n    ) -> None:\n        self._component = code_execution_component\n        self._settings = settings\n\n    async def _session(\n        self, config: CodeExecutionSessionConfig\n    ) -> CodeExecutionSession:\n        session = await self._component.get_or_create_session(config)\n        if session is None:\n            raise ValueError(\"code_execution provider is not configured.\")\n        return session\n\n    async def build_view_tool(\n        self,\n        config: CodeExecutionSessionConfig,\n        name: str = TEXT_EDITOR_VIEW_TOOL_NAME,\n        type: str = TEXT_EDITOR_VIEW_TOOL_NAME + \"_v1\",\n        description: str = TEXT_EDITOR_VIEW_TOOL_FN.metadata.description,\n    ) -> ToolSpec:\n        async def view(\n            path: str,\n            view_range: list[int] | None = None,\n        ) -> list[ResultContentBlockType]:\n            resolved_view_range: tuple[int, int] | None = None\n            if view_range is not None:\n                if len(view_range) != 2:\n                    raise ValueError(\"view_range must contain exactly two integers\")\n                resolved_view_range = (view_range[0], view_range[1])","sourceCodeStart":49,"sourceCodeEnd":85,"githubUrl":"https://github.com/zylon-ai/private-gpt/blob/4a030776a31a901ad80b1bf4d7faa2c1a367efbb/private_gpt/components/tools/builders/text_editor_tool_builder.py#L49-L85","documentation":"ValueError from TextEditorToolBuilder._session: CodeExecutionComponent.get_or_create_session returned None, which happens when settings.code_execution.provider is unset or not found in the provider registry (code_execution_component.py:33-43). Every text editor sub-tool (view, str_replace, create, ...) funnels through _session, so any of them raises this before touching a file.","triggerScenarios":"Any text editor tool invocation while code_execution.provider is None/empty/unknown in settings; get_or_create_session returns None and _session raises immediately.","commonSituations":"Enabling text editor tools without a code execution backend; settings profile that omits the code_execution section; provider name typo; provider registered only when its own optional dependency is installed and that dependency is missing.","solutions":["Configure code_execution.provider to a valid provider in settings and restart.","Verify the provider resolves: ensure its implementing module/dependency is installed and the registry contains the name.","If code execution is intentionally disabled, remove text editor tools from the toolset."],"exampleFix":"# settings.yaml before\ncode_execution: {}\n\n# after\ncode_execution:\n  provider: sandbox","handlingStrategy":"validation","validationCode":"from private_gpt.settings.settings import settings\n\nassert settings().code_execution.provider, \"text editor tools need code_execution.provider\"","typeGuard":null,"tryCatchPattern":"try:\n    session = await builder._session(config)\nexcept ValueError as e:\n    if \"provider is not configured\" in str(e):\n        raise RuntimeError(\"Configure code_execution.provider to use text editor tools\") from e\n    raise","preventionTips":["Configure code_execution.provider wherever text editor tools are enabled.","Fail fast at startup: refuse to register text editor tools when no provider resolves.","Keep provider dependencies installed alongside the settings that reference them."],"tags":["code-execution","configuration","text-editor"],"backgroundTag":null,"analyzedSha":"4a030776a31a901ad80b1bf4d7faa2c1a367efbb","analyzedAt":"2026-08-15T03:51:26.951Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}