Hosted SQLMesh

Hosted SQLMesh

dagctl is a managed, hosted SQLMesh service. Connect a repository and your project runs in production: on schedule, approved before anything goes live, and watched so you hear about a failure first. One flat rate, every user included.

14-day free trial. No credit card required.

Nothing to install or keep running
Live the same day
One flat rate, every user included

Everything SQLMesh needs to run in production

Connect a repository. dagctl runs the rest.

Your SQLMesh state database, kept for you

SQLMesh keeps a record of what has run, what changed, and what each environment contains: the state database. dagctl runs it for you, backed up, so it is never lost and never someone’s job.

Preview before you deploy

Every change shows which models it touches and what will be rebuilt, then waits for approval.

Runs on your schedule

Set when each project runs. Failed runs retry on their own, and your team hears about it in Slack.

Nothing to maintain

Nothing for your team to install, host, or keep alive. dagctl runs all of it.

Credentials, locked down

Store your warehouse credentials once, encrypted. Only your runs can use them.

See every run as it happens

Watch runs live, look back at any past run, and see how long each model took.

Lineage and catalog

Trace any model to everything it depends on, and search what each one means and when it last ran.

Hosted SQLMesh vs self-hosting

What your team keeps running when you self-host, and what dagctl runs instead

Capability Self-hosted dagctl
What it costs Hosting bills, plus your team’s time One flat rate, every user included
SQLMesh state database You run it and back it up Run and backed up for you
Scheduling Your team installs one Built in, with Slack alerts
Monitoring and logs Your team wires them up Built in, as it happens
Who keeps it running Your team dagctl

Priced by how much you build. Not by how many people build it.

Every plan includes every user on your team and every run you schedule. No seats to count, no consumption line on the invoice.

Starter, Team, and Growth start with a 14-day free trial. No credit card required.

Starter

$499/month

Up to 100 models

Unlimited users
Unlimited runs
  • 1 project
  • 2 runs at a time
  • Managed state database
  • Scheduled runs with retries
  • Streaming logs
  • Slack alerts
  • Role-based access control
  • Email support
Start free trial

14-day free trial. No credit card required.

Start here

Team

$1,200/month

Up to 500 models

Unlimited users
Unlimited runs
  • Everything in Starter
  • 3 projects
  • 4 runs at a time
  • Lineage & catalog
  • Single sign-on (SAML)
  • Shared Slack channel
Start free trial

14-day free trial. No credit card required.

Growth

$3,000/month

Up to 1,500 models

Unlimited users
Unlimited runs
  • Everything in Team
  • 10 projects
  • 10 runs at a time
  • Support response within 1 business day
Start free trial

14-day free trial. No credit card required.

Dedicated

Custom

1,500+ models

Unlimited users
Unlimited runs
  • Everything in Growth, plus:
  • Unlimited projects
  • Dedicated capacity, yours alone
  • Custom concurrency
  • Dedicated support channel
Talk to sales

We reply within 24 hours.

Grown past your band? We move you at renewal, never mid-month.

Very large workloads may need a dedicated plan — we’ll flag it before it’s a problem, never on an invoice.

Flat Rate
No per-seat or consumption fees
Unlimited Users
Every seat included
Unlimited Runs
No consumption line on the invoice
Same-Day Setup
From git repo to production

Set it up from Claude or Codex.

Connect dagctl to the assistant you already use and ask it to set up your project. It creates your organization, connects GitHub, and starts your first run. You approve each step.

Claude Code
  1. Add dagctl. Run this in your terminal.

    Terminal command
    claude mcp add --transport http dagctl https://api.dagctl.io/mcp
  2. Sign in. Open Claude Code, type /mcp, and sign in to dagctl in the browser.

    Claude Code command
    /mcp
  3. Paste this.

    Prompt

    Use dagctl to set up my SQLMesh project from GitHub.

    Using dbt? Say dbt instead of SQLMesh.

Step 1 runs in your terminal, not inside Claude Code. Step 2 runs inside Claude Code.

Claude
  1. Open Settings, then Connectors, then Add custom connector.

    Settings → Connectors → Add custom connector

  2. Name it dagctl and paste the URL.

    Name: dagctl

    MCP server URL
    https://api.dagctl.io/mcp
  3. Sign in to dagctl and approve access.

  4. Start a new chat and paste this.

    Prompt

    Use dagctl to set up my SQLMesh project from GitHub.

    Using dbt? Say dbt instead of SQLMesh.

This is set up in Settings. There is no chat command for it.

Codex
  1. Add dagctl.

    Terminal command
    codex mcp add dagctl --url https://api.dagctl.io/mcp
  2. Sign in. Adding the server does not sign you in.

    Sign-in command
    codex mcp login dagctl
  3. Start Codex and paste this.

    Prompt

    Use dagctl to set up my SQLMesh project from GitHub.

    Using dbt? Say dbt instead of SQLMesh.

Using the Codex IDE extension? Gear menu → MCP servers → Add server → Streamable HTTP → paste the URL below → restart the extension.

MCP server URL
https://api.dagctl.io/mcp

After you paste the prompt

  1. Creates your organization

    14-day free trial, no credit card.

  2. Connects GitHub

    You approve a GitHub link it gives you.

  3. Deploys your project

    It picks your repository and deploys it.

  4. Starts the first run

    Your pipeline runs on dagctl.

Warehouse passwords go in the dagctl web app, not the chat.

Want more detail? Step-by-step setup guide

Prefer the web app? Start free trial

Frequently Asked Questions

What is hosted SQLMesh?

Hosted SQLMesh means someone else runs your SQLMesh project in production so your team does not have to. With dagctl, you connect a repository and dagctl runs the project: on a schedule, with every change approved before it goes live, with the state database kept for you, and with an alert when something breaks.

What is the best hosted SQLMesh service?

dagctl is built for SQLMesh and nothing else. Every plan includes every user and every run, pricing is by how many models you have, the state database is kept for you, and setup from a repository takes a day. The alternative is running all of that yourself.

Do I need to host the SQLMesh state database myself?

Not with dagctl. SQLMesh needs a state database to remember what has run and what changed, and losing it is painful. dagctl keeps it for you, backed up, as part of the service.

How much does hosted SQLMesh cost?

dagctl is priced by how many models you have across your organization: $499/month for up to 100 models, $1,200/month for up to 500 models, and $3,000/month for up to 1,500 models. Every plan includes every user and every run, so there are no per-seat fees and no consumption line on the invoice. Teams above 1,500 models move to a Dedicated plan with custom pricing.

How do you count models?

We count the models in your repository, exactly as SQLMesh sees them. It is a count of what exists in your project, not what ran. Models that are disabled, seldom scheduled, or never run still count; a model that runs 10,000 times a month counts once. The number covers every project you connect across your organization, and it only changes when you merge a change that adds or removes models.

What happens when I add models?

Nothing, until renewal. Adding models never changes your invoice mid-month and never interrupts a run. If your model count crosses into the next band, we tell you before your renewal date and you move to the next plan at renewal. There is no overage charge, no metered line item, and no automatic upgrade. If you cross a band and then delete models before renewal, you stay where you are.

Can I run SQLMesh in production without managing infrastructure?

Yes. Connect your repository, add your warehouse connection, and dagctl runs everything else. Your project is live the same day.

Which data warehouses does dagctl support for SQLMesh?

dagctl runs SQLMesh projects against Snowflake, BigQuery, Databricks, Redshift, PostgreSQL, and DuckDB.

I use dbt today — can I move to dagctl?

Yes. SQLMesh reads your dbt project as it is, so you can move one model at a time. dagctl runs the SQLMesh side in production from day one, so nothing waits on your team building a platform first.

Your SQLMesh project, in production today.

Connect a repository and your project is live the same day. One flat rate, every user included.

14-day free trial. No credit card required.