Drupal Form API tableselect programmatically check or uncheck checkbox
I fixed this I understand how #default_value works now. It has to be an array.

$values = array();

$values[1] = TRUE;
$values[2] = FALSE;
$values[3] = TRUE;

$form['table'] = array(
    '#type' =&gt; 'tableselect',
    '#header' =&gt; $header,
    '#options' =&gt; $options,
    '#default_value' =&gt; $values,
    '#empty' =&gt; t('No campground to claim'),
  );