Block defined in code not appearing in admin interface I have implemented hook_block_info() to define a block inside a custom module 'x'. I have followed the documentation and believe the values in my array are correct. I have cleared all caches multiple times. I have disabled and re-enabled my module. I have tried setting status to both 0 and 1.

What is strange is that if I place a DPM() inside the x_block_info_alter(), I can see the block as an array when I visit the admin page. However, in the actual block list, it's not there!

Is there something wrong with my code that I can't see?

function x_block_info() {
  $blocks['mname'] = array(
    'info' =&gt; t('Admin title'),
    'cache' =&gt; DRUPAL_NO_CACHE,
    'status' =&gt; 1,
  );
  return $blocks;
}
I had exactly the same thing:  dpm() showing me my block on admin/structure/block, but no block actually appearing in the admin.  Disabling, uninstalling and re-enabling the module where I defined my block then clearing cache worked for me.