{"record":{"id":"bf0a561f5aad65fc","repo":"tursodatabase/turso","slug":"direct-remote-turso-connections-do-not-support-the-client","errorCode":null,"errorMessage":"Direct remote Turso connections do not support the client-side SQLite helper '{unsupportedToken}'. Use SQL supported by the remote database or use a local database.","messagePattern":"Direct remote Turso connections do not support the client-side SQLite helper '(.+?)'\\. Use SQL supported by the remote database or use a local database\\.","errorType":"validation","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"bindings/dotnet/src/Turso.EntityFrameworkCore.Sqlite/Storage/Internal/TursoSqliteRelationalConnection.cs","lineNumber":226,"sourceCode":"    public override ValueTask<InterceptionResult<DbDataReader>> ReaderExecutingAsync(\n        DbCommand command,\n        CommandEventData eventData,\n        InterceptionResult<DbDataReader> result,\n        CancellationToken cancellationToken = default)\n    {\n        Validate(command);\n        return ValueTask.FromResult(result);\n    }\n\n    private static void Validate(DbCommand command)\n    {\n        if (command.Connection is not TursoSqliteConnection { IsDirectRemote: true })\n            return;\n\n        var unsupportedToken = FindUnsupportedToken(command.CommandText);\n        if (unsupportedToken is not null)\n        {\n            throw new NotSupportedException(\n                $\"Direct remote Turso connections do not support the client-side SQLite helper '{unsupportedToken}'. \"\n                + \"Use SQL supported by the remote database or use a local database.\");\n        }\n    }\n\n    private static string? FindUnsupportedToken(string sql)\n    {\n        string? previousIdentifier = null;\n        for (var index = 0; index < sql.Length;)\n        {\n            if (TrySkipTriviaOrString(sql, ref index))\n                continue;\n\n            if (!IsIdentifierStart(sql[index]))\n            {\n                index++;\n                continue;\n            }","sourceCodeStart":208,"sourceCodeEnd":244,"githubUrl":"https://github.com/tursodatabase/turso/blob/492c4a71cd7c2649e7df83da1471b74f4b1c7aa9/bindings/dotnet/src/Turso.EntityFrameworkCore.Sqlite/Storage/Internal/TursoSqliteRelationalConnection.cs#L208-L244","documentation":"Error \"Direct remote Turso connections do not support the client-side SQLite helper '{unsupportedToken}'. Use SQL supported by the remote database or use a local database.\" thrown in tursodatabase/turso.","triggerScenarios":"Thrown at bindings/dotnet/src/Turso.EntityFrameworkCore.Sqlite/Storage/Internal/TursoSqliteRelationalConnection.cs:226 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rewrite the command to use SQL supported by the remote Turso database instead of the client-side SQLite helper (PRAGMA/VACUUM-style token)","Remove the unsupported statement from migrations/startup code when targeting a direct remote connection","Use a local database file if the SQLite helper behavior is genuinely needed"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"492c4a71cd7c2649e7df83da1471b74f4b1c7aa9","analyzedAt":"2026-09-13T18:13:59.796Z","contentChangedAt":"2026-09-13T18:13:59.796Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}