diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for taskwarrior
 
+## 0.4.1.0
+
+* Make JSON parsing compatible with taskwarrior 2.6.
+
 ## 0.4.0.0
 
 ### Breaking Change
diff --git a/src/Taskwarrior/Task.hs b/src/Taskwarrior/Task.hs
--- a/src/Taskwarrior/Task.hs
+++ b/src/Taskwarrior/Task.hs
@@ -20,12 +20,14 @@
 
 import Prelude hiding (id)
 
+import Control.Applicative ((<|>))
 import Control.Monad (join)
 import Data.Aeson (
   FromJSON,
   ToJSON,
   Value,
   parseJSON,
+  withArray,
   withObject,
   withText,
   (.:),
@@ -36,6 +38,7 @@
 import qualified Data.Aeson.Key as Key
 import qualified Data.Aeson.KeyMap as KeyMap
 import qualified Data.Aeson.Types as Aeson.Types
+import Data.Foldable (toList)
 import qualified Data.Foldable as Foldable
 import qualified Data.Map.Strict as Map
 import Data.Maybe (fromMaybe)
@@ -158,11 +161,14 @@
   traverse parser (KeyMap.lookup (Key.fromText name) object)
 
 parseUuidList :: Aeson.Value -> Aeson.Types.Parser (Set UUID)
-parseUuidList =
-  withText "Text" $
-    fmap Set.fromList
-      . mapM (parseJSON . Aeson.String)
-      . Text.splitOn ","
+parseUuidList val =
+  (withArray "Array of uuid strings" $ fmap Set.fromList . mapM parseJSON . toList) val
+    <|> ( withText "Comma separated list of uuids" $
+            fmap Set.fromList
+              . mapM (parseJSON . Aeson.String)
+              . Text.splitOn ","
+        )
+      val
 
 instance ToJSON Task where
   toJSON Task{until = until_, ..} =
diff --git a/taskwarrior.cabal b/taskwarrior.cabal
--- a/taskwarrior.cabal
+++ b/taskwarrior.cabal
@@ -4,7 +4,7 @@
 -- PVP summary:     +-+------- breaking API changes
 --                  | | +----- non-breaking API additions
 --                  | | | +--- code changes with no API change
-version: 0.4.0.0
+version: 0.4.1.0
 synopsis:           Types and aeson instances for taskwarrior tasks
 description:
   Types and aeson instances for the https://taskwarrior.org task import/export feature
