Skip to main content

Deployment fails with bad git executable error in branch deployment code locations

Problem description​

Users experience deployment failures with the dagster-dbt integration when deploying branch-deployment code locations due to a missing or improperly configured git executable.

Symptoms​

  • DagsterImportError with message "Failed to initialize: Bad git executable"
  • Error occurs during code location deployment, specifically when importing dagster-dbt modules.
  • Stack trace shows failure in git/__init__.py when trying to refresh git executable.
  • Deployment worked previously but suddenly started failing without configuration changes.

Root cause​

This is a known issue in Dagster where the git executable is not properly available in the deployment environment. The dagster-dbt integration requires git to be accessible, but the deployment environment may not have git installed or properly configured in the PATH.

Solution​

Pin your Dagster version to avoid the problematic version until the fix is released.

Step-by-step resolution​

  1. Identify your current Dagster version and pin to a stable version in your requirements.txt or pyproject.toml:

    dagster==1.8.x  # Replace x with the last working version
  2. Redeploy your code location with the pinned version.

  3. Verify the deployment completes successfully without git executable errors.

Alternative solutions​

If pinning the version doesn't work, you can try setting the GIT_PYTHON_REFRESH environment variable to suppress the error:

export GIT_PYTHON_REFRESH=quiet

Prevention​

Monitor Dagster release notes for updates on this issue and upgrade to newer versions once the fix is available. Consider testing deployments in a staging environment before promoting to production.