diff --git a/pygittools/tui/git_colors_test.py b/pygittools/tui/git_colors_test.py
index 63641a7..39d95a0 100644
--- a/pygittools/tui/git_colors_test.py
+++ b/pygittools/tui/git_colors_test.py
@@ -1,6 +1,9 @@
 from __future__ import annotations
 
-from pygit2 import Repository
+from pathlib import Path
+
+import pygit2
+from pygit2 import Config, Repository
 
 from pygittools.tui.git_colors import (
 	_colors_enabled,
@@ -39,10 +42,15 @@ def test_token_to_rgb_bright_named() -> None:
 	assert rgb == (255, 0, 0)
 
 
-def test_load_color_specs_from_repo_config(committed_repo: Repository) -> None:
-	committed_repo.config["color.status.added"] = "33"
-	committed_repo.config["color.status.changed"] = "38 bold"
-	specs = _load_color_specs(committed_repo.config.snapshot())
+def test_load_color_specs_from_repo_config(tmp_path: Path) -> None:
+	# Isolated config file so global/system git colors cannot leak into defaults.
+	config_path = tmp_path / "gitconfig"
+	config_path.write_text("", encoding="utf-8")
+	config = Config()
+	config.add_file(str(config_path), pygit2.GIT_CONFIG_LEVEL_LOCAL)
+	config["color.status.added"] = "33"
+	config["color.status.changed"] = "38 bold"
+	specs = _load_color_specs(config)
 	assert specs["color.status.added"] == "33"
 	assert specs["color.status.changed"] == "38 bold"
 	assert specs["color.status.untracked"] == "red"
diff --git a/pygittools/tui/log_list_test.py b/pygittools/tui/log_list_test.py
index 5e94482..66e630c 100644
--- a/pygittools/tui/log_list_test.py
+++ b/pygittools/tui/log_list_test.py
@@ -15,14 +15,21 @@ from pygittools.tui.project_label import repo_project_label
 SIG = pygit2.Signature("t", "t@example.com", 0)
 
 
-def test_repo_project_label_falls_back_to_worktree(tmp_path: Path) -> None:
+def test_repo_project_label_falls_back_to_worktree(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+	# Keep PROJECTROOT off the pytest temp tree (Windows temps live under home).
+	settings = tmp_path / "settings.json"
+	settings.write_text(json.dumps({"PROJECTROOT": str(tmp_path / "projects")}), encoding="utf-8")
+	monkeypatch.setenv("PYGITWEB_SETTINGS_CONFIG", str(settings))
 	repo_dir = tmp_path / "standalone"
 	repo_dir.mkdir()
 	pygit2.init_repository(str(repo_dir), bare=False)
 	assert repo_project_label(repo_dir) == str(repo_dir.resolve())
 
 
-def test_repo_project_label_uses_worktree_for_git_dir(tmp_path: Path) -> None:
+def test_repo_project_label_uses_worktree_for_git_dir(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
+	settings = tmp_path / "settings.json"
+	settings.write_text(json.dumps({"PROJECTROOT": str(tmp_path / "projects")}), encoding="utf-8")
+	monkeypatch.setenv("PYGITWEB_SETTINGS_CONFIG", str(settings))
 	repo_dir = tmp_path / "pygitweb"
 	repo_dir.mkdir()
 	repo = pygit2.init_repository(str(repo_dir), bare=False)
