A tool to run dbt models from Zed and display the output in a side pane.
A 6-minute demo & how-to-install guide is available on YouTube.
Works with any dbt-supported warehouse — Postgres, Redshift, Snowflake,
BigQuery, DuckDB, Databricks, etc. Everything goes through dbt show,
so your profiles.yml and dbt adapter handle auth and SQL dialect.
git clone https://github.com/WhimsicalCode/zed-dbt-pane ~/zed-dbt-pane
bash ~/zed-dbt-pane/install.sh /path/to/your/zed/workspacePass your Zed workspace root (the directory you open in Zed), not the dbt project root. The installer finds the dbt project for you, even if it's nested inside a monorepo.
Then add ⌘+enter as a shortcut. Hit ⌘⇧P → zed: open keymap file,
and paste:
{
"context": "Editor && extension == sql",
"bindings": {
"cmd-enter": ["task::Spawn", { "task_name": "dbt: run selection" }],
},
},Re-running install.sh is a silent no-op if everything's already in
place — it never overwrites your files.
cmd-enter runs your selection through dbt show and writes the
result to a JSON file. A long-running Streamlit
app polls that file and renders it as a table. You keep the Streamlit
page open in your browser as a results pane next to Zed.
cd ~/zed-dbt-pane && git pull
bash ~/zed-dbt-pane/install.sh --update /path/to/your/zed/workspacebash ~/zed-dbt-pane/clean.sh /path/to/your/zed/workspaceRemoves everything install.sh added. The cmd-enter keybinding in
~/.config/zed/keymap.json and the kylejbrk/zed-dbt LSP extension
live outside the workspace — remove those by hand.
- dbt 1.5+ (for
dbt show --inline --output json). - A working
profiles.yml— ifdbt buildruns, you're good. uvon$PATH.- Zed 0.150+.
- macOS (Linux works too if you swap
openforxdg-openindbt_pane.sh).
This package handles run-and-display. For LSP-based navigation
(hover, cmd-click on refs), install kylejbrk/zed-dbt
separately. The two are independent.
MIT — see LICENSE.
