[proofplan]
Set $c := \psi(1)$. The homomorphism property $\psi(x + y) = \psi(x) + \psi(y)$ propagates the relation $\psi(x) = cx$ along increasingly fine subgroups of $\mathbb{R}$: first to $\mathbb{Z}$ via additivity, then to $\mathbb{Q}$ by clearing denominators, and finally to all of $\mathbb{R}$ by density of $\mathbb{Q}$ in $\mathbb{R}$ together with continuity of both sides. The continuity hypothesis enters precisely once, at the final step, to upgrade pointwise equality on the dense subset $\mathbb{Q}$ to pointwise equality on $\mathbb{R}$.
[/proofplan]
[step:Verify $\psi(0) = 0$ and define $c := \psi(1)$]
The homomorphism property $\psi(x + y) = \psi(x) + \psi(y)$ applied with $x = y = 0$ gives $\psi(0) = \psi(0) + \psi(0)$, so $\psi(0) = 0$.
Define $c := \psi(1) \in \mathbb{R}$. We will show $\psi(x) = cx$ for all $x \in \mathbb{R}$.
[/step]
[step:Establish $\psi(n) = cn$ for every $n \in \mathbb{Z}$ by induction and the negation rule]
We first show $\psi(n) = cn$ for $n \in \mathbb{Z}_{\geq 0}$ by induction on $n$.
*Base case ($n = 0$):* $\psi(0) = 0 = c \cdot 0$. ✓
*Inductive step:* Assume $\psi(n) = cn$ for some $n \geq 0$. By additivity,
\begin{align*}
\psi(n + 1) = \psi(n) + \psi(1) = cn + c = c(n + 1).
\end{align*}
By induction, $\psi(n) = cn$ for all $n \in \mathbb{Z}_{\geq 0}$.
For negative integers, apply additivity to $0 = \psi(0) = \psi(n + (-n)) = \psi(n) + \psi(-n)$, giving $\psi(-n) = -\psi(n)$. So for $n \in \mathbb{Z}_{>0}$,
\begin{align*}
\psi(-n) = -\psi(n) = -cn = c(-n).
\end{align*}
Combining, $\psi(n) = cn$ for every $n \in \mathbb{Z}$.
[/step]
[step:Extend to $\psi(q) = cq$ for every $q \in \mathbb{Q}$]
Let $q = m/n \in \mathbb{Q}$ with $m \in \mathbb{Z}$ and $n \in \mathbb{Z}_{>0}$. Repeated additivity gives, for any $r \in \mathbb{R}$ and any $n \in \mathbb{Z}_{>0}$,
\begin{align*}
\psi(n r) = \psi(\underbrace{r + r + \cdots + r}_{n \text{ times}}) = \underbrace{\psi(r) + \cdots + \psi(r)}_{n \text{ times}} = n\, \psi(r).
\end{align*}
Apply this with $r = m/n$:
\begin{align*}
n\, \psi(m/n) = \psi(n \cdot m/n) = \psi(m) = cm,
\end{align*}
where the last equality is Step 2 applied to $m \in \mathbb{Z}$. Dividing by $n \in \mathbb{Z}_{>0}$,
\begin{align*}
\psi(m/n) = \frac{cm}{n} = c \cdot (m/n) = cq.
\end{align*}
Hence $\psi(q) = cq$ for all $q \in \mathbb{Q}$.
[/step]
[step:Use density of $\mathbb{Q}$ in $\mathbb{R}$ and continuity of $\psi$ to extend to all of $\mathbb{R}$]
Fix $x \in \mathbb{R}$. Since $\mathbb{Q}$ is dense in $\mathbb{R}$, there exists a sequence $(q_k)_{k \geq 1}$ in $\mathbb{Q}$ with $q_k \to x$ as $k \to \infty$ (e.g.\ $q_k$ a rational truncation of $x$ to $k$ decimal places).
Define the maps
\begin{align*}
f: \mathbb{R} &\to \mathbb{R}, & x &\mapsto \psi(x), \\
g: \mathbb{R} &\to \mathbb{R}, & x &\mapsto cx.
\end{align*}
By hypothesis $f = \psi$ is continuous. The map $g$ is continuous (linear maps $\mathbb{R} \to \mathbb{R}$ are continuous; explicitly $|g(x) - g(y)| = |c||x - y|$, so $g$ is Lipschitz). By Step 3, $f(q_k) = g(q_k)$ for every $k$. Passing to the limit using sequential continuity of $f$ and $g$,
\begin{align*}
\psi(x) = f(x) = \lim_{k \to \infty} f(q_k) = \lim_{k \to \infty} g(q_k) = g(x) = cx.
\end{align*}
Since $x \in \mathbb{R}$ was arbitrary, $\psi(x) = cx$ for all $x \in \mathbb{R}$.
[guided]
The strategy is the standard "rational scaffold" argument: the homomorphism law forces $\psi$ to behave linearly on the additive subgroup $\mathbb{Q} \subseteq \mathbb{R}$, and continuity then propagates this linearity to the whole real line.
Why does the homomorphism law alone fix $\psi$ on $\mathbb{Z}$? Because $\mathbb{Z}$ is *generated* by $1$ as an additive group, so additivity together with the value $\psi(1) = c$ determines $\psi$ on all integer multiples of $1$, with the negative case handled by $\psi(-n) = -\psi(n)$ (also a consequence of additivity via $0 = \psi(0) = \psi(n) + \psi(-n)$).
Why does it then fix $\psi$ on $\mathbb{Q}$? Because $\mathbb{Q}$ is the *divisible hull* of $\mathbb{Z}$: every $q \in \mathbb{Q}$ is uniquely written as $m/n$ with $m \in \mathbb{Z}$, $n \in \mathbb{Z}_{>0}$, and $n \cdot q = m \in \mathbb{Z}$. Additivity gives $n\psi(q) = \psi(nq) = \psi(m) = cm$, so dividing by $n$ in $\mathbb{R}$ pins down $\psi(q) = cm/n = cq$. The crucial point: we are dividing by $n$ in the *codomain* $\mathbb{R}$ (which makes sense), not in the *domain* (where divisibility for the homomorphism would be more delicate).
Without continuity, the conclusion fails. Using a Hamel basis of $\mathbb{R}$ over $\mathbb{Q}$, one can construct $\mathbb{Q}$-linear maps $\mathbb{R} \to \mathbb{R}$ that are not $\mathbb{R}$-linear: pick the basis to contain $\{1, \sqrt{2}, \ldots\}$ and define $\psi(1) = 1$, $\psi(\sqrt{2}) = 0$, extending $\mathbb{Q}$-linearly. This $\psi$ is an additive homomorphism, but $\psi(\sqrt{2}) = 0 \neq \sqrt{2} \cdot \psi(1)$, so it is not of the form $\psi(x) = cx$. Such examples are *necessarily* discontinuous (in fact unbounded on every neighbourhood of $0$), confirming that continuity is doing essential work in the final step.
The final step uses sequential continuity, which for maps between metric spaces is equivalent to topological continuity. This equivalence is automatic here because $\mathbb{R}$ with the standard topology is first-countable.
[/guided]
[/step]