libSQL / Turso Connections
TablePro supports libSQL and Turso databases in two modes: remote connections via the Hrana HTTP protocol (Turso cloud databases and self-hosted sqld instances) and local libSQL database files opened directly from disk.Install Plugin
The libSQL / Turso driver is available as a downloadable plugin. When you select libSQL / Turso in the connection form, TablePro will prompt you to install it automatically. You can also install it manually:- Open Settings > Plugins > Browse
- Find libSQL / Turso Driver and click Install
- The plugin downloads and loads immediately - no restart needed
Quick Setup
Choose Connection Mode
Pick Remote (Turso) for a Turso or sqld server, or Local File to open a database file on disk
Enter Connection Details
Remote: fill in your Database URL and Auth Token. Local: pick the database file with Browse…
Connection Settings
Connection Mode
| Mode | Description |
|---|---|
| Remote (Turso) | Connects over HTTP using the Hrana protocol. For Turso cloud and self-hosted sqld. |
| Local File | Opens a libSQL database file directly from disk. Unencrypted libSQL files use the standard SQLite file format. |
Remote Fields
| Field | Description |
|---|---|
| Name | Connection identifier |
| Database URL | Full URL to your libSQL database (e.g., https://your-db-name.turso.io or http://localhost:8080) |
| Auth Token | Bearer token for authentication (optional for self-hosted sqld without auth) |
Local File Fields
| Field | Description |
|---|---|
| Name | Connection identifier |
| Database File | Path to the database file. Use Browse… to pick it, or type a path (~ is expanded). |
Getting Your Credentials
Turso Cloud
Database URL: Find it on the Turso dashboard or run:libsql://your-db-name-your-org.turso.io. TablePro automatically rewrites libsql:// to https:// for the HTTP connection.
Auth Token: Generate a token with the Turso CLI:
Self-hosted sqld
Database URL: The default sqld HTTP endpoint ishttp://localhost:8080. Adjust the host and port to match your sqld configuration.
Auth Token: Depends on your sqld setup. If you started sqld without --auth-jwt-key-file, no token is needed. If JWT authentication is enabled, generate a token matching your configured key.
Example Configuration
Turso Cloud
Self-hosted sqld
Local File
Features
Database Browsing
After connecting, the sidebar shows tables and views in the database. libSQL databases have a single “main” schema, similar to SQLite.Table Browsing
For each table, TablePro shows:- Structure: Columns with SQLite data types, nullability, default values, and primary key info
- Indexes: B-tree indexes with column details
- Foreign Keys: Foreign key constraints with referenced tables
- DDL: The full CREATE TABLE statement
Query Editor
Write and execute SQL queries using SQLite syntax:EXPLAIN Query Plan
Analyze query execution plans using the Explain button in the query editor. TablePro usesEXPLAIN QUERY PLAN to show how SQLite processes your queries.
Data Editing
Edit cell values, insert rows, and delete rows directly in the data grid. Changes are submitted as standard INSERT, UPDATE, and DELETE statements, via the Hrana HTTP API in remote mode or directly against the file in local mode.Export
Export query results or table data to CSV, JSON, SQL, and other formats.SQL Dialect
libSQL uses SQLite syntax. See SQLite for details.Troubleshooting
Authentication Failed
Symptoms: “Authentication failed” or HTTP 401 response Solutions:- Verify your auth token is correct and has not expired
- For Turso Cloud, generate a new token:
turso db tokens create <name> - For self-hosted sqld, check that your JWT matches the configured key
- Ensure you have not accidentally included extra whitespace in the token
Invalid URL
Symptoms: “Invalid database URL” or connection fails immediately Solutions:- Check the URL format:
https://your-db.turso.iofor Turso,http://localhost:8080for sqld - Do not include a trailing slash or path components
libsql://URLs are accepted and automatically rewritten tohttps://- Verify the database exists:
turso db list
Connection Timeout
Symptoms: Queries take too long or time out Solutions:- Check your internet connection (for Turso Cloud)
- Verify sqld is running (for self-hosted):
curl http://localhost:8080/health - Simplify queries that scan large amounts of data
Rate Limited
Symptoms: HTTP 429 response or “rate limited” error Solutions:- Wait for the retry period and try again
- Reduce query frequency
- Use pagination for large result sets instead of fetching all rows
- Check your Turso plan limits at Turso Pricing
File Not Found
Symptoms: Local file connection fails to open Solutions:- Check the file path is correct and the file still exists at that location
- Use Browse… to re-pick the file if it was moved or renamed
- Make sure the file is not an encrypted libSQL database; encrypted files cannot be opened in local mode
Known Limitations
Remote mode:- No persistent connections: each query is an independent HTTP request via the Hrana protocol
- No multi-statement transactions: each SQL statement auto-commits independently
- No custom SSL/SSH tunnels: connections use HTTPS (Turso Cloud) or HTTP (local sqld)
- No embedded replica sync: local files open standalone, without syncing to a remote Turso database
- No encrypted database files
- libSQL-only SQL extensions (e.g.,
ALTER TABLE ALTER COLUMN) are unavailable; local mode uses the system SQLite engine
- No database creation or management via TablePro (use Turso CLI or sqld admin tools)
- No bulk import through the plugin: use the Turso CLI or direct sqld import
- No database switching: libSQL connections target a single database
