Admin (uid=1) access denied to custom module page I'm developing a custom module and the last step is to add custom permissions. I've added the administrator role to the new permission, but I see "Access Denied" when viewing /ledger/reports/balance-sheet. I've cleared caches, reloaded the module, and rebuilt permissions. I've even dug into the users.module file in core to verify that it is entering the if uid==1 return TRUE; section of function user_access(). Any help would be appreciated.

/***************************************************************
 * Drupal core hooks
 * *************************************************************/

/**
 * Implements hook_menu().
 */
function ledger_reports_menu() {
  $items = array();

$items['ledger/reports'] = array(
  'title' =&gt; 'Ledger Reports',
  'description' =&gt; 'List of available reports',
  'page callback' =&gt; 'ledger_reports_page', 
  'access callback' =&gt; TRUE,
  'weight' =&gt; 10,
);

$items['ledger/reports/balance-sheet'] = array(
'title' =&gt; 'Test Balance Sheet',
'description' =&gt; 'The current balance of all asset, equity, and liability accounts',
'page callback' =&gt; 'ledger_reports_balance_sheet', 
'page arguments' =&gt; array(3),
'access callback' =&gt; array('view ledger reports'),
'weight' =&gt; 10,
);


/**
 * Implements hook_permission().
 */
function ledger_reports_permission(){
  return array(
    'view ledger reports' =&gt; array(
      'title' =&gt; t('View Ledger Reports'),
      'description' =&gt; t('View the accounting reports.'),
    ),
  );
}
This:

'access callback' =&gt; array('view ledger reports'),


Needs to be:

'access arguments' =&gt; array('view ledger reports'),


Currently you're trying to make Drupal invoke a function by string while giving it an array - it's not going to like that very much ;)