hashicorp/vagrant · info

Vagrant is currently configured to mount SMB folders with th

Error message

Vagrant is currently configured to mount SMB folders with the
`mfsymlink` option enabled. This is equivalent to adding the
following to your Vagrantfile:

  config.vm.synced_folder '/host/path', '/guest/path', type: "smb", mount_options: ['mfsymlink']

This option may be globally disabled with an environment variable:

  VAGRANT_DISABLE_SMBMFSYMLINKS=1

What it means

Vagrant mounts Linux-guest SMB synced folders with the mfsymlink mount option by default (symbolic links are carried as minified files). This one-time notice, tracked by a mfsymlinks_warning marker file in the environment data_dir, explains the equivalent explicit mount_options and how to disable the behavior with VAGRANT_DISABLE_SMBMFSYMLINKS=1.

Source

Thrown at plugins/guests/linux/cap/mount_smb_shared_folder.rb:89

                  output: stderr
              end
            end
          ensure
            # Always remove credentials file after mounting attempts
            # have been completed
            if !machine.config.vm.allow_fstab_modification
              machine.communicate.sudo("rm /etc/smb_creds_#{name}")
            end
          end

          emit_upstart_notification(machine, expanded_guest_path)
        end

        def self.display_mfsymlinks_warning(env)
          d_file = env.data_dir.join("mfsymlinks_warning")
          if !d_file.exist?
            FileUtils.touch(d_file.to_path)
            env.ui.warn(I18n.t("vagrant.actions.vm.smb.mfsymlink_warning"))
          end
        end
      end
    end
  end
end

View on GitHub (pinned to 35f3160f4a)

Solutions

  1. Do nothing — the notice is informational and prints once per project data dir
  2. Set VAGRANT_DISABLE_SMBMFSYMLINKS=1 to disable the mfsymlink option globally
  3. Make the behavior explicit with mount_options: ['mfsymlink'] on the synced folder
  4. Delete .vagrant/mfsymlinks_warning if you want the notice shown again

Example fix

# before (implicit default, one-time notice)
config.vm.synced_folder "src", "/srv/app", type: "smb"
# after (explicit opt-in, understood behavior)
config.vm.synced_folder "src", "/srv/app", type: "smb", mount_options: ['mfsymlink']
Defensive patterns

Strategy: validation

Validate before calling

# Decide symlink strategy before the first up
export VAGRANT_DISABLE_SMBMFSYMLINKS=1   # or opt in explicitly via mount_options

Prevention

When it happens

Trigger: The first SMB synced-folder mount on a Linux guest (vagrant up / vagrant reload) while env.data_dir/mfsymlinks_warning does not yet exist; display_mfsymlinks_warning touches the marker so subsequent runs are silent.

Common situations: macOS or Windows hosts sharing source trees to Linux guests; teams wanting deterministic CI output; users puzzled by symlink semantics over SMB.

Related errors


AI-assisted analysis of hashicorp/vagrant@35f3160f4a (2026-08-21). Data as JSON: /api/errors/8528767aee67016b. Report an issue: GitHub.