I have a finite dimensional $\mathbb{Q}$-vector space $V$, and I have a linear operator $T$ on $V$. I have that $Tv=v$ only when $v=0$ for all $v\in V$, and $T^p=I$ for some prime $p$.
Now if I have any $v$ such that $Tv = \lambda v$ where $\lambda\in\mathbb{Q}$, then $T^p v = \lambda^p v = v \implies \lambda^p = 1$, whose only rational root is 1. But that means the only eigenvalue is 1 while the only eigenvector with eigenvalue 1 is the zero vector as stated, which makes no sense. What gives?
For more context, I have considered the $T$-cyclic subspace generated by some vector $v$, which is the span of $\{v, Tv, \dots, T^{p-1}v\}$. The characteristic polynomial of the matrix of $T$ restricted to this subspace with respect to the above basis is $x^p - 1 $, which again has only 1 as a root. I am trying to relate the degree of this polynomial to the dimension of $V$ as a $\mathbb{Q}$-vector space.
This just means that $T$ doesn't have any eigenvalues in $\Bbb{Q}$. There's no contradiction here. Matrices are guaranteed to have eigenvalues over $\Bbb{C}$ precisely because all polynomials have roots in $\Bbb{C}$, and it certainly is not the case that all polynomials have roots in $\Bbb{Q}$.
The (complex) eigenvalues of $T$ are primitive $p$th roots of unity.