diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for futhark-server
 
+## 1.3.3.0 -- 2026-03-30
+
+* Better `Show` instance for `ServerException`.
+
 ## 1.3.2.0 -- 2026-03-15
 
 * Added `cmdNewArray`, `cmdRank`, `cmdSet`.
diff --git a/futhark-server.cabal b/futhark-server.cabal
--- a/futhark-server.cabal
+++ b/futhark-server.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.4
 name:               futhark-server
-version:            1.3.2.0
+version:            1.3.3.0
 synopsis: Client implementation of the Futhark server protocol.
 
 description: Provides an easy way to interact with a running Futhark
@@ -28,7 +28,7 @@
                     , bytestring
                     , directory >=1.3.0.0
                     , futhark-data
-                    , text >=1.2.2.2
+                    , text >=2.1.2
                     , temporary
                     , process >=1.4.3.0
                     , mtl >=2.2.1
diff --git a/src/Futhark/Server.hs b/src/Futhark/Server.hs
--- a/src/Futhark/Server.hs
+++ b/src/Futhark/Server.hs
@@ -117,10 +117,13 @@
 data ServerException
   = -- | Human-readable error message.
     ServerException T.Text
-  deriving (Eq, Ord, Show)
+  deriving (Eq, Ord)
 
 instance Exception ServerException
 
+instance Show ServerException where
+  show (ServerException s) = T.unpack s
+
 -- | The name of a command.
 type Cmd = Text
 
@@ -166,7 +169,7 @@
 -- | Start up a server. Make sure that 'stopServer' is eventually called on the
 -- server. If this does not happen, then temporary files may be left on the file
 -- system. You almost certainly wish to use 'bracket' or similar to avoid this.
--- Throws 'ServerException' if startup fails.
+-- Throws t'ServerException' if startup fails.
 startServer :: ServerCfg -> IO Server
 startServer (ServerCfg prog options debug on_line_f) = do
   tmpdir <- getCanonicalTemporaryDirectory
@@ -214,7 +217,7 @@
           <> "\nStderr:\n"
           <> stderr_s
 
--- | Shut down a server. It may not be used again. Throws 'ServerException' if
+-- | Shut down a server. It may not be used again. Throws t'ServerException' if
 -- the server process terminates with a failing exit code (i.e. anything but
 -- 'ExitSuccess').
 stopServer :: Server -> IO ()
@@ -344,6 +347,8 @@
 -- | The name of a variant.
 type VariantName = Text
 
+-- | The kind of a type. Note that this is the protocol-level notion, which
+-- differs slightly from the manifest notion.
 data Kind
   = Primitive
   | Array
