Drush Remote Alias Fails with No Drupal Site Found This is incredibly frustrating. Here's the deal. I have a drush alias defined for a server I'm working with. No matter what command it is, if it needs to bootstrap Drupal it fails with no drupal site found or some variant. Running drush with --debug gives me less than useful information although if you'd like to see it I'm happy to provide it.

I can run drush @alias sqlc and get the mysql command line on the remote server. I just cannot run things like drush @alias st or drush @alias cc all for example.

If I SSH to the server, change into the directory (i.e. /sites/default) and run the same commands they work fine. So this is only when going over a remote alias.

Here's the alias definition:

$aliases['alias'] = array(
     'uri' =&gt; 'site.com',
     'root' =&gt; '/usr/share/nginx/html/drupal/docroot',
     'remote-host' =&gt; 'us-west-2.compute.amazonaws.com',
     'remote-user' =&gt; 'ubuntu',
     'ssh-options' =&gt; '-i /Users/name/.ssh/id_rsa -q',
     'db-url' =&gt; 'mysql://dbuser:dbpassword@localhost/www',
     'path-aliases' =&gt; array(
       '%files' =&gt; 'sites/default/files',
       '%dump-dir' =&gt; '/tmp'
      ), 
      'command-specific' =&gt; array (
        'sql-sync' =&gt; array (
          'no-cache' =&gt; TRUE,
        ),
     ),
);


Am I missing something here? I've done this a thousand times and for whatever reason this time it refuses to work.

Note: I have downgraded to Drush 6.x just in case it was a 7.x problem. Same result.
Well this is embarrassing.... The problem was my %root directive. I had an additional directory tacked on. It was usr/share/nginx/drupal/docroot. Not no html in the path.

Upvotes for @Queenvictoria though for commenting and getting me to realize my error by poking back in the alias file. Thanks!