{"record":{"id":"c558e63bb4955d4b","repo":"zylon-ai/private-gpt","slug":"code-execution-provider-is-not-configured","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/bash_tool_builder.py","lineNumber":53,"sourceCode":"    ) -> None:\n        self._component = code_execution_component\n        self._settings = settings\n\n    async def build_tool(\n        self,\n        config: CodeExecutionSessionConfig,\n        name: str = BASH_TOOL_NAME,\n        type: str = BASH_TOOL_NAME + \"_v1\",\n        description: str = BASH_TOOL_FN.metadata.description,\n    ) -> ToolSpec:\n        async def run_bash(\n            command: str,\n            timeout: int | None = None,\n            restart: bool = False,\n        ) -> list[ResultContentBlockType]:\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\n            result = await session.execute_bash(\n                command,\n                timeout=timeout,\n                restart=restart,\n            )\n            return [\n                BashCodeExecutionResultBlock(\n                    stdout=truncate_output(\n                        result.stdout,\n                        self._settings.code_execution.max_output_bytes,\n                    ),\n                    stderr=truncate_output(\n                        result.stderr,\n                        self._settings.code_execution.max_output_bytes,\n                    ),\n                    return_code=result.exit_code,\n                )","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/zylon-ai/private-gpt/blob/4a030776a31a901ad80b1bf4d7faa2c1a367efbb/private_gpt/components/tools/builders/bash_tool_builder.py#L35-L71","documentation":"Raised by the bash tool's run_rash/run_bash closure when CodeExecutionComponent.get_or_create_session returns None. The component returns None when settings.code_execution.provider is unset or the CodeExecutionProviderRegistry has no provider registered under that name (code_execution_component.py:33-43), so the bash tool cannot create a session.","triggerScenarios":"The bash tool is invoked (built via the builder) while settings().code_execution.provider is None, empty, or names a provider that the registry does not recognize; get_or_create_session returns None and the closure raises ValueError immediately.","commonSituations":"Deploying with a profile/settings file that omits the code_execution block; enabling the bash tool without installing/configuring a code execution provider (e.g. sandbox); typo in the provider name in settings.yaml.","solutions":["Set code_execution.provider in your settings to a valid provider name (e.g. the sandbox provider) and restart.","Verify the provider name matches one registered in CodeExecutionProviderRegistry; check settings().code_execution.provider is non-empty.","If code execution is not intended, remove/disable the bash tool from the tool set instead of leaving it half-configured."],"exampleFix":"# settings.yaml before\ncode_execution: {}\n\n# after\ncode_execution:\n  provider: sandbox\n  max_output_bytes: 10000\n  session_ttl_seconds: 900","handlingStrategy":"validation","validationCode":"from private_gpt.settings.settings import settings\nfrom private_gpt.components.code_execution.registry import CodeExecutionProviderRegistry\n\ns = settings()\nprovider_name = s.code_execution.provider\nassert provider_name, \"set code_execution.provider in settings\"\nassert CodeExecutionProviderRegistry(s).get_provider(provider_name) is not None, f\"unknown provider {provider_name}\"","typeGuard":null,"tryCatchPattern":"try:\n    result = await bash_tool(command=\"ls\")\nexcept ValueError as e:\n    if \"provider is not configured\" in str(e):\n        raise RuntimeError(\"Configure code_execution.provider before using the bash tool\") from e\n    raise","preventionTips":["Set code_execution.provider explicitly in every settings profile that enables the bash tool.","Add a startup check that fails fast when code-execution tools are enabled but no provider resolves.","Keep provider dependencies installed in the deployment image."],"tags":["code-execution","configuration","bash-tool"],"backgroundTag":null,"analyzedSha":"4a030776a31a901ad80b1bf4d7faa2c1a367efbb","analyzedAt":"2026-08-15T03:51:26.951Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}