[proofplan]
We first prove that every self-adjoint element has real character value. This follows because character values lie in the spectrum, and the spectrum of a self-adjoint element of a unital $C^*$-algebra is real; in the nonunital case we make this argument in the unitization. Then we decompose an arbitrary element into its self-adjoint real and imaginary parts and use complex linearity of the character.
[/proofplan]
[step:Show that character values of self-adjoint elements are real]
Let $a\in A$ satisfy $a=a^*$. We show that $\tau(a)\in\mathbb R$.
If $A$ is unital, let $1_A$ denote its unit. Since $\tau$ is a nonzero multiplicative complex-linear functional, $\tau(1_A)=1$. Indeed, choose $x\in A$ such that $\tau(x)\neq 0$; then
\begin{align*}
\tau(x)=\tau(1_Ax)=\tau(1_A)\tau(x),
\end{align*}
so $\tau(1_A)=1$.
Let $\sigma_A(a)\subset\mathbb C$ denote the spectrum of $a$ in the unital algebra $A$, and let $\lambda:=\tau(a)\in\mathbb C$. Suppose $\lambda\notin \sigma_A(a)$. Then $a-\lambda 1_A$ is invertible in $A$. Let $b\in A$ denote its inverse, so
\begin{align*}
(a-\lambda 1_A)b=1_A.
\end{align*}
Applying $\tau$ and using complex linearity and multiplicativity gives
\begin{align*}
\tau(a-\lambda 1_A)\tau(b)=\tau(1_A).
\end{align*}
But
\begin{align*}
\tau(a-\lambda 1_A)=\tau(a)-\lambda\tau(1_A)=\lambda-\lambda=0,
\end{align*}
while $\tau(1_A)=1$, a contradiction. Hence $\tau(a)\in\sigma_A(a)$. Since $a=a^*$, [citetheorem:8552] gives $\sigma_A(a)\subset\mathbb R$, and therefore $\tau(a)\in\mathbb R$.
If $A$ is nonunital, let $A^+$ be its standard unitization with unit $1_{A^+}$. Define the unital extension
\begin{align*}
\tau^+:A^+&\to\mathbb C
\end{align*}
by
\begin{align*}
\tau^+(x+\mu 1_{A^+})=\tau(x)+\mu
\end{align*}
for $x\in A$ and $\mu\in\mathbb C$. This map is complex-linear and satisfies $\tau^+(1_{A^+})=1$. To verify multiplicativity, let $x,y\in A$ and $\mu,\nu\in\mathbb C$. The multiplication in $A^+$ gives
\begin{align*}
(x+\mu 1_{A^+})(y+\nu 1_{A^+})=xy+\nu x+\mu y+\mu\nu 1_{A^+}.
\end{align*}
Hence, using multiplicativity and complex linearity of $\tau$,
\begin{align*}
\tau^+((x+\mu 1_{A^+})(y+\nu 1_{A^+}))=\tau(x)\tau(y)+\nu\tau(x)+\mu\tau(y)+\mu\nu=(\tau(x)+\mu)(\tau(y)+\nu).
\end{align*}
Thus $\tau^+$ is multiplicative. The element $a$ is still self-adjoint in $A^+$. Let $\sigma_{A^+}(a)\subset\mathbb C$ denote the spectrum of $a$ in the unital algebra $A^+$. Applying the unital argument in $A^+$ gives
\begin{align*}
\tau(a)=\tau^+(a)\in\sigma_{A^+}(a).
\end{align*}
By [citetheorem:8552] applied in the unital $C^*$-algebra $A^+$, the spectrum $\sigma_{A^+}(a)$ is contained in $\mathbb R$. Hence $\tau(a)\in\mathbb R$ in the nonunital case as well.
[guided]
The goal of this step is to prove the special case in which $a$ is self-adjoint. Let $a\in A$ satisfy $a=a^*$. We want to prove that the complex number $\tau(a)$ is real.
First assume that $A$ is unital, and let $1_A$ denote its unit. Since $\tau$ is a character, it is nonzero, complex-linear, and multiplicative. We need the fact that $\tau$ sends the unit to $1$. Choose $x\in A$ with $\tau(x)\neq 0$. Multiplicativity gives
\begin{align*}
\tau(x)=\tau(1_Ax)=\tau(1_A)\tau(x).
\end{align*}
Because $\tau(x)\neq 0$, cancellation in $\mathbb C$ gives $\tau(1_A)=1$.
Let $\sigma_A(a)\subset\mathbb C$ denote the spectrum of $a$ in the unital algebra $A$. Now define the scalar $\lambda:=\tau(a)$. We prove that $\lambda$ belongs to $\sigma_A(a)$. Suppose instead that $\lambda\notin\sigma_A(a)$. By the definition of the spectrum in a unital algebra, the element $a-\lambda 1_A$ is invertible in $A$. Let $b\in A$ be its inverse, so
\begin{align*}
(a-\lambda 1_A)b=1_A.
\end{align*}
Apply $\tau$ to this identity. Since $\tau$ is multiplicative,
\begin{align*}
\tau(a-\lambda 1_A)\tau(b)=\tau(1_A).
\end{align*}
Since $\tau$ is complex-linear and $\tau(1_A)=1$,
\begin{align*}
\tau(a-\lambda 1_A)=\tau(a)-\lambda\tau(1_A)=\lambda-\lambda=0.
\end{align*}
Thus the left-hand side is $0$, while the right-hand side is $\tau(1_A)=1$, a contradiction. Therefore $\tau(a)\in\sigma_A(a)$.
Now we use the $C^*$-algebra input. The element $a$ is self-adjoint by hypothesis, so [citetheorem:8552] implies
\begin{align*}
\sigma_A(a)\subset\mathbb R.
\end{align*}
Since $\tau(a)\in\sigma_A(a)$, it follows that $\tau(a)\in\mathbb R$.
If $A$ is nonunital, the same idea is applied after adjoining a unit. Let $A^+$ denote the standard unitization of $A$, with unit $1_{A^+}$. Define
\begin{align*}
\tau^+:A^+&\to\mathbb C
\end{align*}
by
\begin{align*}
\tau^+(x+\mu 1_{A^+})=\tau(x)+\mu
\end{align*}
for $x\in A$ and $\mu\in\mathbb C$. This is the natural unital extension of the character: it is complex-linear and sends $1_{A^+}$ to $1$. We also verify multiplicativity. Let $x,y\in A$ and $\mu,\nu\in\mathbb C$. In the unitization,
\begin{align*}
(x+\mu 1_{A^+})(y+\nu 1_{A^+})=xy+\nu x+\mu y+\mu\nu 1_{A^+}.
\end{align*}
Therefore
\begin{align*}
\tau^+((x+\mu 1_{A^+})(y+\nu 1_{A^+}))=\tau(x)\tau(y)+\nu\tau(x)+\mu\tau(y)+\mu\nu=(\tau(x)+\mu)(\tau(y)+\nu),
\end{align*}
where we used multiplicativity and complex linearity of $\tau$. Thus $\tau^+$ is multiplicative. The element $a$ remains self-adjoint when viewed inside $A^+$. Let $\sigma_{A^+}(a)\subset\mathbb C$ denote the spectrum of $a$ in the unital algebra $A^+$. Applying the unital argument in $A^+$ gives $\tau^+(a)\in\sigma_{A^+}(a)$. Since $\tau^+(a)=\tau(a)$ and [citetheorem:8552] gives $\sigma_{A^+}(a)\subset\mathbb R$, we obtain $\tau(a)\in\mathbb R$.
[/guided]
[/step]
[step:Decompose an arbitrary element into self-adjoint parts]
Let $a\in A$. Define
\begin{align*}
b:=\frac{a+a^*}{2}
\end{align*}
and
\begin{align*}
c:=\frac{a-a^*}{2i}.
\end{align*}
Then $b,c\in A$ and direct computation using conjugate-linearity of the involution gives
\begin{align*}
b^*=b
\end{align*}
and
\begin{align*}
c^*=c.
\end{align*}
Moreover,
\begin{align*}
a=b+ic
\end{align*}
and
\begin{align*}
a^*=b-ic.
\end{align*}
[/step]
[step:Use complex linearity and real character values to identify the adjoint value]
By the previous step, $b$ and $c$ are self-adjoint. The first step therefore gives
\begin{align*}
\tau(b)\in\mathbb R
\end{align*}
and
\begin{align*}
\tau(c)\in\mathbb R.
\end{align*}
Using complex linearity of $\tau$ and the identities $a=b+ic$ and $a^*=b-ic$, we compute
\begin{align*}
\tau(a)=\tau(b)+i\tau(c)
\end{align*}
and
\begin{align*}
\tau(a^*)=\tau(b)-i\tau(c).
\end{align*}
Since $\tau(b)$ and $\tau(c)$ are [real numbers](/page/Real%20Numbers),
\begin{align*}
\overline{\tau(a)}=\overline{\tau(b)+i\tau(c)}=\tau(b)-i\tau(c)=\tau(a^*).
\end{align*}
Thus $\tau(a^*)=\overline{\tau(a)}$ for every $a\in A$.
[/step]