Skip to main content

Sign in or register Preview

The dbt VS Code extension comes with a suite of features that are available to all users for 14 days. After the 14-day trial, sign in or register for a dbt platform account to keep using all features, including advanced features such as live preview for models and CTEs, column-level lineage, and more.

Refer to VS Code extension features for the full list of features and their availability.

Most features remain available without signing in — only advanced features prompt you to sign in after the trial ends.

Run dbt login status to view your currently authenticated status.

Key points

  • The extension is free for organizations for up to 15 users. Refer to the acceptable use policy.
  • Registration links your editor to your registered dbt platform account so you can keep using gated features after the 14-day trial.
  • You can authenticate with dbt login or register from inside the extension. If you don't have a dbt platform account, you can create a free account during authentication to unlock advanced features.
  • If a valid dbt_cloud.yml file exists on your machine, the extension can use it automatically.

If you've registered before, you won't need to authenticate again unless your session expired.

Session expiry and re-authorization

Your sign-in session stays active across editor restarts. dbt automatically renews your session while you're using the extension or the CLI. You may need to re-authorize in a few specific cases:

  • Session expired after 7 days of inactivity. The extension shows the message: "Your dbt extension session expired. Sign in again to continue using the extension." Click the prompt or run dbt: Register dbt extension from the command palette to sign in again.
  • A feature needs broader access than your initial sign-in granted. dbt login and the dbt VS Code extension may request different sets of permissions. If you signed in via dbt login and later use an extension feature that needs more access (for example, the catalog tab or running a job), the extension prompts you to re-authorize. You'll re-authorize with the same dbt platform account — you don't need a second account.
  • You authenticated with dbt_cloud.yml instead of OAuth. File-based credentials don't expire on the 7-day inactivity rule. You only re-authenticate if you regenerate the file or it's removed.

When re-authorizing, the Authorize dbt login consent screen lists the access being requested. Click Allow access to continue.

Choose a sign-in path

There are a couple of different ways to sign in or register for a dbt platform account. Choose the best path for you:

If you...Use this path
Starting authentication from the terminaldbt login from the command line.
Are new to dbt and don't have a dbt platform accountFirst-time registration from the dbt VS Code extension.
Can't sign in or need to reset accessRecover your login from the dbt VS Code extension.
Prefer file-based authentication to remove need for re-authenticatingdbt_cloud.yml from the dbt VS Code extension.

dbt login

Use this path if you prefer the terminal or want a single auth flow that works across the CLI and the dbt VS Code extension. Running dbt login opens the same browser flow that the extension uses when you select dbt: Register dbt extension from the command palette, so completing it once authenticates both.

  1. From your terminal, run:

    dbt login
  2. Complete the sign-in or sign-up flow in your browser.

  3. On the Authorize dbt login screen, click Allow access. dbt saves your credentials to your local dbt configuration directory and uses them for future CLI commands:

    • macOS and Linux: ~/.dbt/
    • Windows: C:\Users\[username]\.dbt\
    The Authorize VS Code Extension consent screen.The Authorize VS Code Extension consent screen.
  4. Return to your editor and restart the dbt VS Code extension, or open a new editor window.

  5. The extension detects the credentials and shows Registered.

Authorizing additional access

When you register in the dbt VS Code extension, you might be prompted to authorize more access than you granted when signing in through the CLI (or the other way around). This is expected — some extension features need broader access than your initial sign-in. You can authorize the request with the same dbt platform account you already use, so a single account covers both the CLI and the dbt VS Code extension.

For more details on when re-authorization is triggered, refer to Session expiry and re-authorization.

You've now unlocked the full feature set of the dbt VS Code extension. For details on what dbt login unlocks across tools, refer to the dbt login reference.

Troubleshooting

If you run into any issues, check out the troubleshooting section below.

 How to create a .dbt directory in root and move dbt_cloud.yml file

If you've never had a .dbt directory, you should perform the following recommended steps to create one. If you already have a .dbt directory, move the dbt_cloud.yml file into it. Some information about the .dbt directory:

  • A .dbt directory is a hidden folder in the root of your filesystem. It's used to store your dbt configuration files. The . prefix is used to create a hidden folder, which means it's not visible in Finder or File Explorer by default.
  • To view hidden files and folders, press Command + Shift + G on macOS or Ctrl + Shift + G on Windows. This opens the "Go to Folder" dialog where you can search for the .dbt directory.
  1. Clone your dbt project repository locally.
  2. Use the mkdir command followed by the name of the folder you want to create.
  • If using macOS, add the ~ prefix to create a .dbt folder in the root of your filesystem:
    • macOS: mkdir ~/.dbt
    • Windows: mkdir %USERPROFILE%\.dbt
 I can't see the lineage tab in Cursor

If you're using the dbt VS Code extension in Cursor, the lineage tab works best in Editor mode and doesn't render in Agent mode. If you're in Agent mode and the lineage tab isn't rendering, just switch to Editor mode to view your project's table and column lineage.

 The extension gets stuck in a loading state

If the extension is attempting to activate during startup and locks into a permanent loading state, check that:

  • Your dbt VS Code extension is on the latest version.
  • Your IDE is on the latest version.
  • You have a valid dbt_cloud.yml file configured and in the correct location.

If you're still experiencing issues, try these steps before contacting dbt Support:

  • Delete and download a new copy of your dbt_cloud.yml file.
  • Delete and reinstall the dbt VS Code extension.
 dbt platform configurations

If you're a cloud-based dbt platform user who has the dbt-cloud: config in the dbt_project.yml file and are also using dbt Mesh, you must have the project ID configured:

dbt-cloud:
project-id: 12345 # Required

If you don’t configure this correctly, cross-platform references will not resolve properly, and you will encounter errors executing dbt commands.

 dbt extension not activating

If the dbt extension has activated successfully, you will see the dbt Extension label in the status bar at the bottom left of your editor. You can view diagnostic information about the dbt extension by clicking the dbt Extension button.

If the dbt Extension label is not present, then it is likely that the dbt extension was not installed successfully. If this happens, try uninstalling the extension, restarting your editor, and then reinstalling the extension.

Note: It is possible to "hide" status bar items in VS Code. Double-check if the dbt Extension status bar label is hidden by right-clicking on the status bar in your editor. If you see dbt Extension in the right-click menu, then the extension has installed successfully.

 Missing dbt LSP features

If you receive a no active LSP for this workspace error message or aren't seeing dbt Language Server (LSP) features in your editor (like autocomplete, go-to-definition, or hover text), start by first following the general troubleshooting steps mentioned earlier.

If you've confirmed the dbt extension is installed correctly but don't see LSP features, try the following:

  1. Check extension version — Ensure that you're using the latest available version of the dbt extension by:
    • Opening the Extensions page in your editor, or
    • Going to the Output tab and looking for the version number, or
    • Running dbtf --version in the terminal.
  2. Reinstall the LSP — If the version is correct, reinstall the LSP:
    1. Open the Command Palette: Command + Shift + P (macOS) or Ctrl + Shift + P (Windows/Linux).
    2. Paste dbt: Reinstall dbt LSP and enter.

This command downloads the LSP and re-activates the extension to resolve the error.

 Unsupported dbt version

If you see an error message indicating that your version of dbt is unsupported, then there is likely a problem with your environment.

Check the dbt Path setting in your VS Code settings. If this path is set, ensure that it is pointing to a valid dbt Fusion Engine executable. If necessary, you can also install the dbt Fusion Engine directly using these instructions: Install the Fusion CLI

 Addressing the 'dbt language server is not running in this workspace' error

To resolve the dbt language server is not running in this workspace error, you need to add your dbt project folder to a workspace:

  1. In VS Code, click File in the toolbar then select Add Folder to Workspace.
  2. Select the dbt project file you want to add to a workspace.
  3. To save your workspace, click File then select Save Workspace As.
  4. Navigate to the location you want to save your workspace.

This should resolve the error and open your dbt project by opening the workspace it belongs to. For more information on workspaces, refer to What is a VS Code workspace?.

 Manifest cannot be downloaded from the dbt platform

If the dbt VS Code extension cannot download the manifest from the dbt platform or you get warning: dbt1200: Failed to download manifest using Fusion locally, you are probably having DNS-related issues.

To confirm this, do a DNS lookup for the host Fusion is trying to download from (for example, prodeu2.blob.core.windows.net) by using dig on Linux/Mac or nslookup on Windows.

If this doesn't return an IP address, the likely reason is that your company uses the same cloud provider with private endpoints for cloud resources, and DNS requests for these are forwarded to private DNS zones.

This situation can be remedied by setting up an internet fallback, which will then return a public IP to any cloud storage that does not have a private IP registered with the private DNS zone.

For Azure refer to Fallback to internet for Azure Private DNS zones.

More information about Fusion

Fusion marks a significant update to dbt. While many of the workflows you've grown accustomed to remain unchanged, there are a lot of new ideas, and a lot of old ones going away. The following is a list of the full scope of our current release of the Fusion engine, including implementation, installation, deprecations, and limitations:

Was this page helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

0
Loading