From 6f967fff638d53291eb5f67c2f29e7654203f43a Mon Sep 17 00:00:00 2001 From: AFredefon Date: Wed, 11 Mar 2026 01:41:47 +0100 Subject: [PATCH] fix: find_fuzzforge_root searches cwd first instead of __file__ --- fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py b/fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py index 118b723..9eaf907 100644 --- a/fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py +++ b/fuzzforge-cli/src/fuzzforge_cli/commands/mcp.py @@ -132,15 +132,22 @@ def _find_fuzzforge_root() -> Path: :returns: Path to fuzzforge-oss directory. """ - # Try to find from current file location - current = Path(__file__).resolve() + # Check environment variable override first + env_root = os.environ.get("FUZZFORGE_ROOT") + if env_root: + return Path(env_root).resolve() - # Walk up to find fuzzforge-oss root + # Walk up from cwd to find a fuzzforge root (hub-config.json is the marker) + for parent in [Path.cwd(), *Path.cwd().parents]: + if (parent / "hub-config.json").is_file(): + return parent + + # Fall back to __file__-based search (dev install inside fuzzforge-oss) + current = Path(__file__).resolve() for parent in current.parents: if (parent / "fuzzforge-mcp").is_dir(): return parent - # Fall back to cwd return Path.cwd()