LinuxmacOS

Where Does Metaflow Store Local Run Data?

Metaflow stores local results in a .metaflow directory in your working folder, with user config in ~/.metaflowconfig. Local and remote modes.

Last updated

Metaflow in local mode writes everything into a .metaflow directory inside the folder you run from. Per flow subdirectories hold runs, artifacts, logs and code packages. User level config (profiles, service URLs) sits separately in ~/.metaflowconfig.

Remote deployments move the data to S3, GCS or Azure while the client API stays the same. If your .metaflow folder stays tiny while runs succeed, you are pointed at a remote datastore and the local folder only caches metadata. The client reads remote results through the same API, so local and cloud runs look identical in notebooks.

Where Metaflow stores this, by platform

Linux
./.metaflow (in the working directory)

Datastore root with one subdirectory per flow. Override with datastore options when you outgrow local disk. Remote backends keep the same layout as bucket prefixes.

macOS
./.metaflow (in the working directory)

Same working directory relative layout as Linux. Config lives in ~/.metaflowconfig/config.json on both. Windows users should run inside WSL2 rather than native shells.

Frequently asked questions

Is there one global Metaflow store?

No. The .metaflow directory belongs to the folder you launched from. Each project directory grows its own, which keeps experiments separated but surprises anyone expecting a global store.

How do I back up local runs?

Copy the .metaflow directory with the flow code. Content based dedup means unchanged artifacts share storage, so incremental copies stay small. Remote mode needs the S3 or GCS bucket instead.

Notice an outdated path? Let us know.