{"record":{"id":"c8ec8790a1d78642","repo":"github/copilot-sdk","slug":"sessionfs-capabilities-declare-sqlite-support-but","errorCode":null,"errorMessage":"SessionFs capabilities declare SQLite support but the provider does not implement SessionFsSqliteProvider","messagePattern":"SessionFs capabilities declare SQLite support but the provider does not implement SessionFsSqliteProvider","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/copilot/client.py","lineNumber":2887,"sourceCode":"                    if github_token_provider_registration_id is None\n                    else lambda: self._unregister_github_token_provider(\n                        github_token_provider_registration_id\n                    )\n                ),\n            )\n            if self._session_fs_config:\n                if create_session_fs_handler is None:\n                    raise ValueError(\n                        \"create_session_fs_handler is required in session config when \"\n                        \"session_fs is enabled in client options.\"\n                    )\n                fs_provider: SessionFsProvider = create_session_fs_handler(s)\n                caps = self._session_fs_config.get(\"capabilities\")\n                if caps and caps.get(\"sqlite\"):\n                    from .session_fs_provider import SessionFsSqliteProvider\n\n                    if not isinstance(fs_provider, SessionFsSqliteProvider):\n                        raise ValueError(\n                            \"SessionFs capabilities declare SQLite support but the provider \"\n                            \"does not implement SessionFsSqliteProvider\"\n                        )\n                s._client_session_apis.session_fs = create_session_fs_adapter(fs_provider)\n            s._register_tools(tools)\n            s._register_commands(commands)\n            s._register_permission_handler(on_permission_request)\n            s._register_mcp_auth_handler(on_mcp_auth_request)\n            if on_user_input_request:\n                s._register_user_input_handler(on_user_input_request)\n            if on_elicitation_request:\n                s._register_elicitation_handler(on_elicitation_request)\n            if on_exit_plan_mode_request:\n                s._register_exit_plan_mode_handler(on_exit_plan_mode_request)\n            if on_auto_mode_switch_request:\n                s._register_auto_mode_switch_handler(on_auto_mode_switch_request)\n            if canvas_handler is not None:\n                s._register_canvas_handler(canvas_handler)","sourceCodeStart":2869,"sourceCodeEnd":2905,"githubUrl":"https://github.com/github/copilot-sdk/blob/cd8cf15dc3f9e762615790aaed0a771a0f392755/python/copilot/client.py#L2869-L2905","documentation":"Interface-conformance check when wiring the session filesystem: the session_fs capabilities advertise SQLite support, but the supplied fs_provider class does not implement SessionFsSqliteProvider, so SQLite-backed operations would fail later. The SDK rejects the mismatch up front instead of letting capability negotiation succeed and calls break at runtime.","triggerScenarios":"Thrown at python/copilot/client.py:2887 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide a provider class that implements SessionFsSqliteProvider","Remove the SQLite capability from the session_fs capabilities if SQLite is not needed","Use the SDK's built-in SQLite provider instead of a custom implementation"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cd8cf15dc3f9e762615790aaed0a771a0f392755","analyzedAt":"2026-09-09T18:32:31.973Z","contentChangedAt":"2026-09-09T18:32:31.973Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}