But does your account actually have the permission?
You say staff can use them, so they are likely enabled, the only other check that would show kb.php instead is if your account doesn't have the permission.
Snippet from canned.php:
/* check permission */
if(!$thisstaff
|| !$thisstaff->getRole()->hasPerm(Canned:, false)
|| !$cfg->isCannedResponseEnabled()) {
header('Location: kb.php');
exit;
To check yours, Admin panel -> Agents -> your account -> Permissions tab -> Knowledgebase sub tab, make sure that the box is checked.