Vagrant does does not work with DO

November 30, 2014 4.4k views

config.vm.provider :digitalocean do |provider|
keypath = "~/.ssh/idrsa"
provider.token = "(****************************************************************)"
provider.image = "ubuntu-14-04-x64"
provider.region = "ams1"
provider.size = "1gb"
provider.privatenetworking = true
enable = true


I tried to bring up a droplet with the shown vagrant config but when I run it I get this
vagrant up --provider digitalocean
Bringing machine 'default' up with 'digital
ocean' provider...
There was an issue with the request made to the Digital Ocean
API at:

Path: /v2/droplets
URI Params: {}

The response status from the API was:

Status: 401
Response: {"id"=>"translation missing:", "message"=>"Unable to authenticate you."}

I have the most recent version of Vagrant and v 0.7.0 of the DO plugin

  • I am getting the exact same 401 msg...glad I'm not the only one. I've got latest Vagrant and DO plugin too.

  • I'm getting the same error here with Vagrant 1.7.2-2 and the latest DO plugin.

  • I had the same problem with Vagrant 1.7.2 and vagrant-digitalocean 0.7.2
    I fixed it by making sure I was following the latest example at
    Specifically, I was incorrectly using a token I had gotten from the old v1 API at
    (That's meant for provider.clientid and provider.apikey which don't work any more.)

    Try this instead:
    Generate a new read+write "Personal Access Tokens" at
    Copy this token immediately and place it in a file for safe keeping. Then export TOKEN as an environment variable (maybe in your.bashrc) And make sure that it's definitely in your environment prior to using Vagrant - check on the commandline with echo $TOKEN. Then in your Vagrantfile have this:
    provider.token = ENV['TOKEN']

  • I am having the same issue all of the sudden today. Is there something going on at DO that is not permitting this all of the sudden?

  • Just had the same pb. could you update the doc please ? its tripping for newcomers

  • Hello

    on the API page, there is a lint to API v1

    There you will be able to get cliend_id and a Token for version 1 that is the version that the plugin use


  • Hello,

    the vagrant plugin use apiv2 now

    check: provider.token = 'YOUR TOKEN'

    Vagrant.configure('2') do |config|

    config.vm.provider :digitalocean do |provider, override|
    keypath = '~/.ssh/idrsa' = 'digitalocean'
    url = ""

    provider.token = 'YOUR TOKEN'
    provider.image = 'ubuntu-14-04-x64'
    provider.region = 'nyc2'
    provider.size = '512mb'


1 Answer


the plugin now use API v2, so check if your Vagranfile have:

provider.token = 'YOUR TOKEN'

Sample code:

Vagrant.configure('2') do |config|

  config.vm.provider :digital_ocean do |provider, override|
    override.ssh.private_key_path = '~/.ssh/id_rsa' = 'digital_ocean'
    override.vm.box_url = ""

    provider.token = 'YOUR TOKEN'
    provider.image = 'ubuntu-14-04-x64'
    provider.region = 'nyc2'
    provider.size = '512mb'
Have another answer? Share your knowledge.