diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -22,14 +22,19 @@
 See also the hledger changelog.
 
 
+# 1.43.1 2025-06-04
+
+- More error messages were made consistent, hiding call stack etc. [#2367]
+
+- Allow brick 2.9
+
+
 # 1.43 2025-06-01
 
 Fixes
 
 - Require fsnotify >=0.4.2.0, which fixes some events being ignored on mac,
   possibly making hledger-ui --watch more reliable in this regard.
-
-- Require extra >=1.7.11, possibly fixing the stack810.yaml build. (Thomas Miedema)
 
 Improvements
 
diff --git a/Hledger/UI/ErrorScreen.hs b/Hledger/UI/ErrorScreen.hs
--- a/Hledger/UI/ErrorScreen.hs
+++ b/Hledger/UI/ErrorScreen.hs
@@ -63,7 +63,7 @@
               ,("q", "quit")
               ]
 
-esDraw _ = error "draw function called with wrong screen type, should not happen"  -- PARTIAL:
+esDraw _ = error' "draw function called with wrong screen type, should not happen"  -- PARTIAL:
 
 esHandle :: BrickEvent Name AppEvent -> EventM Name UIState ()
 esHandle ev = do
diff --git a/Hledger/UI/TransactionScreen.hs b/Hledger/UI/TransactionScreen.hs
--- a/Hledger/UI/TransactionScreen.hs
+++ b/Hledger/UI/TransactionScreen.hs
@@ -152,7 +152,7 @@
               liftIO (uiReloadJournal copts d ui) >>= put'
                 -- debugging.. leaving these here because they were hard to find
                 -- \u -> dbguiEv (pshow u) >> put' u  -- doesn't log
-                -- \UIState{aScreen=TS tss} -> error $ pshow $ _tssTransaction tss
+                -- \UIState{aScreen=TS tss} -> error' $ pshow $ _tssTransaction tss
 
             VtyEvent (EvKey (KChar 'I') []) -> put' $ uiCheckBalanceAssertions d (toggleIgnoreBalanceAssertions ui)
 
diff --git a/Hledger/UI/UIScreens.hs b/Hledger/UI/UIScreens.hs
--- a/Hledger/UI/UIScreens.hs
+++ b/Hledger/UI/UIScreens.hs
@@ -140,7 +140,7 @@
       updateReportSpec
         ropts
         rspec0{_rsDay=d}  -- update to the current date, might have changed since program start
-      & either (error "asUpdateHelper: adjusting the query, should not have failed") id -- PARTIAL:
+      & either (error' "asUpdateHelper: adjusting the query, should not have failed") id -- PARTIAL:
       & reportSpecSetFutureAndForecast (forecast_ $ inputopts_ copts)  -- include/exclude future & forecast transactions
       & reportSpecAddQuery extraquery  -- add any extra restrictions
 
@@ -265,7 +265,7 @@
       }
     rspec' =
       updateReportSpec ropts' rspec{_rsDay=d}
-      & either (error "rsUpdate: adjusting the query for register, should not have failed") id -- PARTIAL:
+      & either (error' "rsUpdate: adjusting the query for register, should not have failed") id -- PARTIAL:
       & reportSpecSetFutureAndForecast (forecast_ $ inputopts_ copts)
 
     -- gather transactions to display
diff --git a/Hledger/UI/UIState.hs b/Hledger/UI/UIState.hs
--- a/Hledger/UI/UIState.hs
+++ b/Hledger/UI/UIState.hs
@@ -219,7 +219,7 @@
 -- | Toggle between showing all and showing only real (non-virtual) items.
 toggleReal :: UIState -> UIState
 toggleReal = fromRight err . overEither real not  -- PARTIAL:
-  where err = error "toggleReal: updating Real should not result in an error"
+  where err = error' "toggleReal: updating Real should not result in an error"
 
 -- | Toggle the ignoring of balance assertions.
 toggleIgnoreBalanceAssertions :: UIState -> UIState
@@ -263,7 +263,7 @@
 -- | Update report period by a applying a function.
 updateReportPeriod :: (Period -> Period) -> UIState -> UIState
 updateReportPeriod updatePeriod = fromRight err . overEither period updatePeriod  -- PARTIAL:
-  where err = error "updateReportPeriod: updating period should not result in an error"
+  where err = error' "updateReportPeriod: updating period should not result in an error"
 
 -- | Apply a new filter query, or return the failing query.
 setFilter :: String -> UIState -> Either String UIState
@@ -318,7 +318,7 @@
 updateReportDepth :: (DepthSpec -> DepthSpec) -> UIState -> UIState
 updateReportDepth updateDepth ui = over reportSpec update ui
   where
-    update = fromRight (error "updateReportDepth: updating depth should not result in an error")  -- PARTIAL:
+    update = fromRight (error' "updateReportDepth: updating depth should not result in an error")  -- PARTIAL:
            . updateReportSpecWith (\ropts -> ropts{depth_=clipDepth ropts $ updateDepth (depth_ ropts)})
     clipDepth _        (DepthSpec Nothing  _) = mempty
     clipDepth ropts ds@(DepthSpec (Just d) _) | d < 0            = depth_ ropts
diff --git a/hledger-ui.1 b/hledger-ui.1
--- a/hledger-ui.1
+++ b/hledger-ui.1
@@ -1,5 +1,5 @@
 
-.TH "HLEDGER\-UI" "1" "May 2025" "hledger-ui-1.43 " "hledger User Manuals"
+.TH "HLEDGER\-UI" "1" "June 2025" "hledger-ui-1.43.1 " "hledger User Manuals"
 
 
 
@@ -17,7 +17,7 @@
 .PD
 \f[CR]hledger ui \-\- [OPTS] [QUERYARGS]\f[R]
 .SH DESCRIPTION
-This manual is for hledger\[aq]s terminal interface, version 1.43.
+This manual is for hledger\[aq]s terminal interface, version 1.43.1.
 See also the hledger manual for common concepts and file formats.
 .PP
 hledger is a robust, user\-friendly, cross\-platform set of programs for
diff --git a/hledger-ui.cabal b/hledger-ui.cabal
--- a/hledger-ui.cabal
+++ b/hledger-ui.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           hledger-ui
-version:        1.43
+version:        1.43.1
 synopsis:       Terminal interface for the hledger accounting system
 description:    A simple terminal user interface for the hledger accounting system.
                 It can be a more convenient way to browse your accounts than the CLI.
@@ -26,7 +26,7 @@
 license-file:   LICENSE
 build-type:     Simple
 tested-with:
-    ghc==8.10.7, ghc==9.0.2, ghc==9.2.8, ghc==9.4.8, ghc==9.6.7, ghc==9.8.4, ghc==9.10.1
+    ghc==8.10.7, ghc==9.0.2, ghc==9.2.8, ghc==9.4.8, ghc==9.6.7, ghc==9.8.4, ghc==9.10.2, ghc==9.12.1
 extra-source-files:
     CHANGES.md
     README.md
@@ -74,12 +74,12 @@
   hs-source-dirs:
       ./
   ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind
-  cpp-options: -DVERSION="1.43" -DVERSION="1.43"
+  cpp-options: -DVERSION="1.43.1" -DVERSION="1.43.1"
   build-depends:
       ansi-terminal >=0.9
     , async
     , base >=4.14 && <4.22
-    , brick >=2.1.1 && <2.3.2 || >2.3.2 && <2.9
+    , brick >=2.1.1 && <2.3.2 || >2.3.2 && <2.10
     , cmdargs >=0.8
     , containers >=0.5.9
     , data-default
@@ -89,8 +89,8 @@
     , filepath
     , fsnotify >=0.4.2.0 && <0.5
     , githash >=0.1.6.2
-    , hledger ==1.43.*
-    , hledger-lib ==1.43.*
+    , hledger >=1.43.1 && <1.44
+    , hledger-lib >=1.43.1 && <1.44
     , megaparsec >=7.0.0 && <9.8
     , microlens >=0.4
     , microlens-platform >=0.2.3.1
@@ -124,7 +124,7 @@
   hs-source-dirs:
       app
   ghc-options: -Wall -Wno-incomplete-uni-patterns -Wno-missing-signatures -Wno-orphans -Wno-type-defaults -Wno-unused-do-bind -with-rtsopts=-T
-  cpp-options: -DVERSION="1.43"
+  cpp-options: -DVERSION="1.43.1"
   build-depends:
       base >=4.14 && <4.22
     , hledger-ui
diff --git a/hledger-ui.info b/hledger-ui.info
--- a/hledger-ui.info
+++ b/hledger-ui.info
@@ -18,7 +18,7 @@
 or
 'hledger ui -- [OPTS] [QUERYARGS]'
 
-   This manual is for hledger's terminal interface, version 1.43.  See
+   This manual is for hledger's terminal interface, version 1.43.1.  See
 also the hledger manual for common concepts and file formats.
 
    hledger is a robust, user-friendly, cross-platform set of programs
@@ -562,22 +562,22 @@
 
 Tag Table:
 Node: Top221
-Node: OPTIONS1870
-Node: MOUSE8544
-Node: KEYS8876
-Node: SCREENS13880
-Node: Menu screen14620
-Node: Cash accounts screen14936
-Node: Balance sheet accounts screen15297
-Node: Income statement accounts screen15633
-Node: All accounts screen16018
-Node: Register screen16381
-Node: Transaction screen18824
-Node: Error screen20399
-Node: WATCH MODE20765
-Node: --watch problems21663
-Node: ENVIRONMENT23016
-Node: BUGS23249
+Node: OPTIONS1872
+Node: MOUSE8546
+Node: KEYS8878
+Node: SCREENS13882
+Node: Menu screen14622
+Node: Cash accounts screen14938
+Node: Balance sheet accounts screen15299
+Node: Income statement accounts screen15635
+Node: All accounts screen16020
+Node: Register screen16383
+Node: Transaction screen18826
+Node: Error screen20401
+Node: WATCH MODE20767
+Node: --watch problems21665
+Node: ENVIRONMENT23018
+Node: BUGS23251
 
 End Tag Table
 
diff --git a/hledger-ui.txt b/hledger-ui.txt
--- a/hledger-ui.txt
+++ b/hledger-ui.txt
@@ -11,7 +11,7 @@
        hledger ui -- [OPTS] [QUERYARGS]
 
 DESCRIPTION
-       This manual is for hledger's terminal  interface,  version  1.43.   See
+       This manual is for hledger's terminal interface, version  1.43.1.   See
        also the hledger manual for common concepts and file formats.
 
        hledger  is a robust, user-friendly, cross-platform set of programs for
@@ -468,4 +468,4 @@
 SEE ALSO
        hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
 
-hledger-ui-1.43                    May 2025                      HLEDGER-UI(1)
+hledger-ui-1.43.1                  June 2025                     HLEDGER-UI(1)
