MetricSign
EN|NLRequest Access
High severityexecution

Power BI Refresh Error:
PUT_COMMAND_FAILED

What does this error mean?

A Snowflake PUT command that uploads a local file to an internal stage failed, typically due to a missing source file, permission issues, or an unsupported internal-stage operation from a client type.

Common causes

  • 1The local file path does not exist or contains a space that was not escaped
  • 2PUT is not supported for external stages (S3, Azure Blob, GCS) — only internal stages
  • 3The Snowflake role lacks write privilege on the target stage
  • 4The JDBC or ODBC driver version has a known bug with PUT for large files

How to fix it

  1. 1Step 1: Confirm the local file path exists and is accessible: use an absolute path and escape spaces with a backslash on Windows.
  2. 2Step 2: Ensure the target stage is an internal stage (@~, @%tablename, or a named internal stage) — PUT does not work with external stages.
  3. 3Step 3: Verify your role has WRITE privilege on the stage: SHOW GRANTS ON STAGE your_stage.
  4. 4Step 4: If using JDBC/ODBC, upgrade the driver to the latest version; check the Snowflake release notes for PUT-related fixes.
  5. 5Step 5: For large files, add PARALLEL = 4 (or higher) to improve reliability and throughput.

Frequently asked questions

Can I use PUT from Python code?

Yes — the Snowflake Python Connector supports PUT via cursor.execute() in the same way as SnowSQL. Ensure you use the file:// URI prefix and an absolute path when running on a remote server.

What is the maximum file size for a single PUT command?

Snowflake splits files larger than 50 MB into chunks automatically. There is no hard single-file size limit, but for files above a few GB, consider pre-splitting locally and uploading in parallel with PARALLEL = 8 or higher.

Other execution errors