snow dbt copy¶
Copies files between local directories, stages, or a dbt project object’s live version. This command behaves exactly like snow stage copy; it’s provided as a convenience when working with dbt project files.
Note
Some features described on this page require a dbt project object that uses the mutable live version. To get a live-version object, opt in to the 2026_06 behavior change bundle or ask your Snowflake account representative to enable the separate single live version feature. Then create or replace the object, or migrate an existing versioned object with SYSTEM$MIGRATE_DBT_PROJECT. For details, see dbt Projects on Snowflake: dbt project objects migrate to a single mutable live version.
Syntax¶
Arguments¶
source_pathRequired
Source path for the copy operation. Can be a local path, a stage path, or a
snow://dbt/.../versions/livepath. You can use a glob pattern for local files, but the pattern must be enclosed in quotes.destination_pathRequired
Target directory path for the copy operation. Can be a local path, a stage path, or a
snow://dbt/.../versions/livepath.
Options¶
--overwrite / --no-overwriteOverwrites existing files in the target path. Default: False.
--parallel INTEGERNumber of parallel threads to use when uploading files. Default: 4.
--recursive / --no-recursiveCopy files recursively with directory structure. Default: False.
--auto-compress / --no-auto-compressSpecifies whether Snowflake uses gzip to compress files during upload. Ignored when downloading. Default: False.
--refresh / --no-refreshSpecifies whether
ALTER STAGE {name} REFRESHshould be executed after uploading. Default: False.--connection, -c, --environment TEXTName of the connection, as defined in your
config.tomlfile. Default:default.--host TEXTHost address for the connection. Overrides the value specified for the connection.
--port INTEGERPort for the connection. Overrides the value specified for the connection.
--protocol TEXTProtocol to use for the connection, for example
https. Overrides the value specified for the connection.--account, --accountname TEXTName assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXTUsername to connect to Snowflake. Overrides the value specified for the connection.
--password TEXTSnowflake password. Overrides the value specified for the connection.
--authenticator TEXTSnowflake authenticator. Overrides the value specified for the connection.
--workload-identity-provider TEXTWorkload identity provider (AWS, AZURE, GCP, OIDC). Overrides the value specified for the connection.
--private-key-file, --private-key-path TEXTSnowflake private key file path. Overrides the value specified for the connection.
--token TEXTOAuth token to use when connecting to Snowflake.
--token-file-path TEXTPath to file with an OAuth token to use when connecting to Snowflake.
--database, --dbname TEXTDatabase to use. Overrides the value specified for the connection.
--schema, --schemaname TEXTDatabase schema to use. Overrides the value specified for the connection.
--role, --rolename TEXTRole to use. Overrides the value specified for the connection.
--warehouse TEXTWarehouse to use. Overrides the value specified for the connection.
--temporary-connection, -xUses a connection defined with command-line parameters, instead of one defined in config. Default: False.
--mfa-passcode TEXTToken to use for multi-factor authentication (MFA).
--enable-diagWhether to generate a connection diagnostic report. Default: False.
--diag-log-path TEXTPath for the generated report. Defaults to system temporary directory. Default: <system_temporary_directory>.
--diag-allowlist-path TEXTPath to a JSON file that contains allowlist parameters.
--oauth-client-id TEXTValue of client id provided by the Identity Provider for Snowflake integration.
--oauth-client-secret TEXTValue of the client secret provided by the Identity Provider for Snowflake integration.
--oauth-authorization-url TEXTIdentity Provider endpoint supplying the authorization code to the driver.
--oauth-token-request-url TEXTIdentity Provider endpoint supplying the access tokens to the driver.
--oauth-redirect-uri TEXTURI to use for authorization code redirection.
--oauth-scope TEXTScope requested in the Identity Provider authorization request.
--oauth-disable-pkceDisables Proof Key for Code Exchange (PKCE). Default:
False.--oauth-enable-refresh-tokensEnables a silent re-authentication when the actual access token becomes outdated. Default:
False.--oauth-enable-single-use-refresh-tokensWhether to opt-in to single-use refresh token semantics. Default:
False.--client-store-temporary-credentialStore the temporary credential.
--secondary-roles TEXTSecondary roles mode applied when the session starts. Supported values are
ALLandNONE; passNONEto run the session only with the primary role.--server-session-keep-aliveKeep the session active indefinitely, even if there is no activity from the user.
--format [TABLE|JSON|JSON_EXT|CSV]Specifies the output format. Default: TABLE.
--verbose, -vDisplays log entries for log levels
infoand higher. Default: False.--debugDisplays log entries for log levels
debugand higher; debug logs contain additional information. Default: False.--silentTurns off intermediate output to console. Default: False.
--enhanced-exit-codesDifferentiate exit error codes based on failure type. Default: False.
--decimal-precision INTEGERNumber of decimal places to display for decimal values. Uses Python’s default precision if not specified. [env var: SNOWFLAKE_DECIMAL_PRECISION].
--helpDisplays the help text for this command.
Usage notes¶
Use the versions/live path to copy files into, out of, or between dbt project objects. A dbt project object path has the following form:
snow dbt copy moves files between locations. It can persist files in the live version when that path is the destination. In contrast, repeatable snow dbt execute --import options mount files under ./imports/<alias> only for an execution. For more information, see snow dbt execute commands.
Examples¶
-
Copy local dbt project files to a stage:
-
Copy from one stage to another:
-
Copy a directory recursively, overwriting existing files:
-
Copy local model files into a dbt project object’s live version:
-
Copy the live target artifacts to a local directory:
-
Copy files from one dbt project object’s live version into another:
-
Copy target artifacts to another location in the same dbt project object’s live version: