get_terms and get_posts return arrays not objects.
Try this:
<?php $disciplines = get_terms('disciplines');
foreach($disciplines as $discipline) {
echo '<li><a href="#">' . $discipline['name'] . '</a></li>';
$post_args = array( 'post_type' => 'users', 'disciplines' => $discipline['term_id']);
$posts = get_posts( $post_args );
foreach( $posts as $post ){
echo 'post title: ' . $post['post_title'] . '<br />';
}
}
?>