An editor that has read your schema.

Autocomplete that knows which table you are in, dimmed completions from a model on your Mac, several result sets per run, and a command bar that takes SQL directly. The editor is where most of the day goes, so it gets most of the care.

Completion

Two kinds of completion, one keystroke each.

The popup is deterministic. After FROM it lists tables; after alias. it lists that table's columns; anywhere else it mixes keywords, objects and your snippets with fuzzy matching. It opens on its own at three characters, or on demand.

The ghost text is a local model's guess at the rest of the line, drawn dimmed at the caret. Tab accepts, Esc dismisses. It never enters the document until you say so, and it waits half a second after you stop typing so it does not fight you.

How the local model works

Inline edit

⌘I

Select some SQL, describe the change, get a preview with Apply. "Make this a LEFT JOIN and add the customer email."

Ask, then insert

⌘K ?

Type a question mark in the command bar and a plain-language request becomes SQL, inline. Use it, or open it in a tab.

Fix from the error

When a statement fails, the assistant gets the live error message and the statement, and offers a corrected version.

Running

Scripts, not just statements.

Paste a migration and run it. Taula splits on statement boundaries with a splitter that respects quotes, comments and dollar-quoting, and shows one result set per statement.

Run all, or just the selection

⌘⏎ / ⌘E

Test one statement out of a script without commenting the rest out.

Tabs per session

⌘T

Each tab keeps its own editor, result and timing. Sessions keep their tabs.

Cancel a running query

sqlite3_interrupt on SQLite; pg_cancel_backend over a side connection on Postgres.

EXPLAIN as a tree

EXPLAIN and EXPLAIN ANALYZE rendered as an indented plan for Postgres, and the query plan for SQLite in the same shape.

History that survives restarts

The last 200 statements per connection, searchable from the command bar.

Snippets

Name a query, find it by fuzzy match from anywhere, insert it into the completion popup.

Guardrails in the editor

UPDATE or DELETE without a WHERE, TRUNCATE and DROP TABLE ask first. More on the safety net.

Export results

Any result set to CSV or JSON, or copied as INSERT statements.

Command bar

One bar, everything in it.

⌘K opens a fuzzy search over tables, columns, server objects, snippets, query history, databases, connections and actions. Subsequence matching with a bonus for word starts, so ord it finds order_items.

  • Type SQL straight into it. A statement runs inline and shows its rows without opening a tab.
  • Actions live there too. Insert a row, snapshot a table, open the journal, switch database.
  • Same engine as the editor. The completion engine behind the popup powers the bar, so both know your schema.
Query builder

When you would rather click the join.

Pick a table, tick columns, add aggregates and sort. Joins are suggested from the foreign keys and stay editable. Filters, DISTINCT and LIMIT round it out, and the generated SQL sits in a pane you can copy into a tab. Builder specs can be saved per connection and reopened later.

Relations

See the shape of the schema.

The Relations tab draws every table as a box and every foreign key as an edge. Click a table to focus what it references and what references it; double-click to open it in the grid. It is the fastest way to learn a database you did not design.

Schema diff and data diff

Keyboard

Shortcuts you will actually use.

Run the tab⌘⏎
Run the selection only⌘E
New query tab⌘T
Command bar⌘K
Inline AI edit⌘I
Assistant sidebar⌘L
Accept ghost textTab
Force the completion popupF5

The full list is in the docs.

Ready when you are.

One payment, every update, no subscription. Download the DMG, add a connection, and you are reading rows in under a minute.