Nothing runs without a click
Claude never executes SQL by itself. Every generated query is shown for review and runs only when a person clicks Run.
Pre-launch · early access
Write documents that mix notes, SQL, results and charts. Ask a question in plain words and Claude drafts the query from your schema and your team's own definitions. You read it. You click Run.
Finance asked whether September was soft. Checking net revenue by plan.
Which plans grew net revenue in September?
SELECT a.plan,
SUM(CASE WHEN i.month = '2026-09'
THEN i.net_amount END) AS sep,
SUM(CASE WHEN i.month = '2026-08'
THEN i.net_amount END) AS aug
FROM invoices i
JOIN accounts a ON a.id = i.account_id
GROUP BY a.plan ORDER BY sep DESC;
| plan | sep | aug | change |
|---|---|---|---|
| Business | $48.2k | $41.9k | +15% |
| Team | $31.6k | $33.0k | −4% |
| Starter | $12.4k | $11.8k | +5% |
Business carried September, up 15% on August. Team was the only plan that fell.
Cites net_revenue, defined by Finance
How it works
Claude does the drafting. A person makes the call. The query that touches your database is always one somebody has read.
Type a question into the doc, the way you would ask a colleague. Claude reads your schema and your documented metrics, joins and example queries, then drafts the SQL.
The draft lands as an ordinary SQL block, marked as not run. Read it, ask Claude to explain it in plain words, or edit it yourself.
SELECT COUNT(*) FROM trials …Nothing executes until you click Run, over a read-only connection. Results, a suggested chart and a short write-up land in the same doc.
Governed context
Ask three people what "active customer" means and you get three queries. NotesQL keeps one shared layer of meaning next to your data: the metrics your team has agreed on, how tables join, the words people actually use for them, and queries someone has checked.
Claude drafts from that layer first, and every answer says which definitions it used. When a definition changes, the next draft follows it.
SUM(i.amount - i.refunds - i.credits)
invoices.account_id = accounts.id · many to one
“Net revenue was $92.2k in September.”
Cites net_revenue · invoices → accounts
Safety by design
The guardrails are part of how NotesQL is built, not a setting you have to remember.
Claude never executes SQL by itself. Every generated query is shown for review and runs only when a person clicks Run.
Postgres and MySQL go through a read-only query gateway. A notebook can read your data; it can't change it.
Each answer names the metric definitions and joins it relied on, so you can check the reasoning, not just the number.
The aim for sharing: readers see saved results, never a live query against your database, with personal data masked by default. It's being built alongside the Claude analyst.
Who it's for
Skip the boilerplate. Let Claude draft the routine queries and first-pass write-ups while you check the logic and keep the definitions honest.
Ask in your own words and get a query you can read, built on the metrics your data people already agreed on.
Point it at Postgres, MySQL or a CSV export and get real answers, with read-only access and a review step before anything runs.
Where it stands
Early access opens in small groups once the Claude analyst is ready. Send a line about your data and the questions you keep asking it, and we'll write when there's a seat.
Join the waitlistBuilt on Claude by Anthropic.