Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.turso.tech/llms.txt

Use this file to discover all available pages before exploring further.

Getting Started

The Turso CLI (tursodb) is an interactive SQL shell for working with Turso databases. It supports in-memory and file-based databases, multiple output modes, CSV import, database cloning, and built-in documentation.

Quick Start

In-Memory Database

Launch the shell with a transient in-memory database:
tursodb

Open a Database File

tursodb mydata.db

Run a Query Directly

Pass SQL as a command-line argument to run it and exit:
tursodb mydata.db "SELECT * FROM users;"

Pipe SQL from stdin

echo "SELECT sqlite_version();" | tursodb -q

Interactive Shell

When launched without a SQL argument, the shell provides an interactive REPL with command history and syntax highlighting.

Multi-line Input

Unfinished statements (missing semicolons, unbalanced parentheses) automatically continue on the next line. The prompt indicates nesting depth:
tursodb> SELECT *
   ...>   FROM employees
   ...>   WHERE department = 'Engineering';

Command History

Command history is saved automatically to ~/.limbo_history and accessible with up/down arrow keys.

Exiting

Use .quit or .exit to leave the shell. Pressing Ctrl+C twice also exits.

Output Modes

Turso supports three output modes, selectable with the -m flag or the .mode dot command.

Pretty (Default)

Human-readable table with borders:
tursodb -q -m pretty
┌────┬─────────┬─────────────┬─────────┐
│ id │ name    │ department  │ salary  │
├────┼─────────┼─────────────┼─────────┤
│  1 │ Alice   │ Engineering │ 95000.0 │
├────┼─────────┼─────────────┼─────────┤
│  2 │ Bob     │ Marketing   │ 72000.0 │
└────┴─────────┴─────────────┴─────────┘

List

Pipe-delimited values suitable for scripting:
tursodb -q -m list
1|Alice|Engineering|95000.0
2|Bob|Marketing|72000.0

Line

One column per line, with column names:
tursodb -q -m line
        id = 1
      name = Alice
department = Engineering
    salary = 95000.0

Non-Interactive Mode

When input is piped (not a terminal), the shell runs in non-interactive mode:
  • Output defaults to list mode (override with -m)
  • No startup banner, history, or syntax highlighting
  • Exits with code 1 on query errors
echo "SELECT 1 + 2;" | tursodb -q

Server Modes

The CLI can also run as a server instead of an interactive shell.

MCP Server

Start a Model Context Protocol server, allowing AI assistants to interact with the database:
tursodb --mcp mydata.db

Sync Server

Start a sync server for database replication:
tursodb --sync-server 0.0.0.0:8080 mydata.db