Look, I've installed enough database CLIs to know they usually break in creative ways. Postgres psql needs 47 environment variables set just right. MongoDB's CLI randomly forgets how to connect. MySQL's CLI still feels like it's from 1995.
Turso CLI is different. As of September 2025, it actually fucking works on the first try. They're pushing updates every few weeks - audit logging, database branching, performance improvements. Someone's clearly eating their own dog food because this thing doesn't feel abandoned like half the database tools gathering dust on GitHub.
Homebrew Installation (Usually Works, Sometimes Doesn't)
If you're on macOS or Linux, start here:
brew install tursodatabase/tap/turso
Homebrew is usually the fastest route unless brew decides to rebuild half the universe because you touched a dependency. Takes 30 seconds on a good day, 20 minutes if you're unlucky.
After installation, the binary should be in your PATH. Should be. If you get command not found: turso
, restart your terminal or run source ~/.zshrc
(macOS) or source ~/.bashrc
(Linux). On macOS Monterey and newer, sometimes the PATH doesn't update until you close everything and open a new terminal window. Don't ask me why.
To upgrade when they inevitably fix something you didn't know was broken:
brew upgrade turso
Universal Install Script (For When Homebrew Breaks)
For all Unix-like systems, there's the usual curl-pipe-bash approach:
curl -sSfL https://get.tur.so/install.sh | bash
The script detects your platform automatically unless you're on some weird ARM setup or Alpine Linux, which confuses the hell out of everything. Drops the binary in /usr/local/bin
and needs sudo access.
The install script works great until you're behind a corporate firewall. Then you'll spend 2 hours figuring out HTTP_PROXY
and HTTPS_PROXY
settings, only to discover your company blocks the domain entirely. If you see "Connection refused" or timeouts, blame your network team.
Go Installation (For the Masochistic)
If you're already in the Go ecosystem and have Go set up:
go install github.com/tursodatabase/turso-cli/cmd/turso@latest
Go installation looks deceptively simple until you realize:
- You need Go 1.21+ and your Ubuntu box has 1.19 from the stone age
- Your
$GOPATH/bin
isn't in PATH (it never fucking is) - The build fails with some cryptic dependency error about
golang.org/x/sys
When it works, it works great. When it doesn't, you'll question your life choices. The binary ends up in $GOPATH/bin/turso
or ~/go/bin/turso
if you didn't set GOPATH.
Manual Binary Download
Download pre-compiled binaries from GitHub releases for your platform:
- Linux AMD64: turso-linux-amd64
- Linux ARM64: turso-linux-arm64
- macOS AMD64: turso-darwin-amd64
- macOS ARM64: turso-darwin-arm64
- Windows: turso-windows-amd64.exe
Extract and add to your $PATH
manually. This approach works for air-gapped environments or when you need specific version control.
Verification and Initial Setup
After installation, make sure it actually works:
turso --version
If you get command not found
, the binary isn't in your PATH. Check your shell config file and add the path, then restart your terminal.
Config files get scattered across your system like every other CLI tool:
- Linux:
~/.config/turso/settings.json
(or wherever XDG Base Directory thinks it should be) - macOS:
~/Library/Application Support/turso/settings.json
(buried in Application Support) - Windows:
%APPDATA% urso\settings.json
The config file has your auth tokens. Don't commit this to Git unless you want to leak your API keys to everyone. For CI/CD, use environment variables instead of config files. The auth docs cover headless authentication for automated deployments.