diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for futhark-server
 
+## 1.4.1.0 -- 2026-05-14
+
+* Added `cmdZip` and `cmdUnzip`.
+
 ## 1.4.0.0 -- 2026-04-29
 
 * Replaced `cmdOutputs` with `cmdOutput`.
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.4.0.0
+version:            1.4.1.0
 synopsis: Client implementation of the Futhark server protocol.
 
 description: Provides an easy way to interact with a running Futhark
diff --git a/src/Futhark/Server.hs b/src/Futhark/Server.hs
--- a/src/Futhark/Server.hs
+++ b/src/Futhark/Server.hs
@@ -66,6 +66,8 @@
     cmdShape,
     cmdSet,
     cmdIndex,
+    cmdZip,
+    cmdUnzip,
 
     -- ** Records
     cmdNew,
@@ -521,6 +523,16 @@
 cmdIndex :: Server -> VarName -> VarName -> [Int] -> IO (Maybe CmdFailure)
 cmdIndex s v0 v1 is =
   helpCmd s "index" $ [v0, v1] <> map T.show is
+
+-- | @zip v0 t v1 ... vN@
+cmdZip :: Server -> VarName -> TypeName -> [VarName] -> IO (Maybe CmdFailure)
+cmdZip s v0 t vs = do
+  helpCmd s "zip" $ v0 : t : vs
+
+-- | @unzip v0 v1 ... vN@
+cmdUnzip :: Server -> VarName -> [VarName] -> IO (Maybe CmdFailure)
+cmdUnzip s v0 vs = do
+  helpCmd s "unzip" $ v0 : vs
 
 -- | @fields type@
 cmdFields :: Server -> TypeName -> IO (Either CmdFailure [Field])
