diff --git a/pygittools/src/pygittools/tui/conftest.py b/pygittools/src/pygittools/tui/conftest.py
index 15fc88f..615f46b 100644
--- a/pygittools/src/pygittools/tui/conftest.py
+++ b/pygittools/src/pygittools/tui/conftest.py
@@ -2,6 +2,8 @@
 
 from __future__ import annotations
 
+import gc
+from collections.abc import Iterator
 from pathlib import Path
 from unittest.mock import MagicMock
 
@@ -15,6 +17,14 @@ SIG = Signature("tester", "tester@example.com", 0)
 
 
 @pytest.fixture(autouse=True)
+def _drop_unsendable_prompt_state() -> Iterator[None]:
+	# TextState is unsendable. Drop it on this thread once the test and its
+	# fixtures have released the page, before another thread's GC can.
+	yield
+	gc.collect()
+
+
+@pytest.fixture(autouse=True)
 def _mock_worktree_list(monkeypatch: pytest.MonkeyPatch) -> None:
 	monkeypatch.setattr(
 		"pygittools.tui.worktrees_list.list_worktrees",
