From 910ebbab2261e2d84a0a51d9f076ed5617045758 Mon Sep 17 00:00:00 2001 From: Tianyi Cui Date: Wed, 21 Jan 2026 01:09:25 +0800 Subject: [PATCH] fix: load .env from current working directory, not source file directory The previous load_dotenv() searched for .env starting from the calling file's directory (haiku/rag/cli.py), which fails when users run haiku-rag from a different directory containing their .env file. Changes: - Move load_dotenv() before config imports (config reads env vars at import time) - Use find_dotenv(usecwd=True) to search from current working directory --- haiku_rag_slim/haiku/rag/cli.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/haiku_rag_slim/haiku/rag/cli.py b/haiku_rag_slim/haiku/rag/cli.py index 9f8ac8ee..4cc3e64e 100644 --- a/haiku_rag_slim/haiku/rag/cli.py +++ b/haiku_rag_slim/haiku/rag/cli.py @@ -8,7 +8,11 @@ from pathlib import Path from typing import Any import typer -from dotenv import load_dotenv +from dotenv import find_dotenv, load_dotenv + +# Load environment variables from .env file for API keys and service URLs. +# Env loading needs to be before config import; usecwd=True searches from cwd, not this .py file's location +load_dotenv(find_dotenv(usecwd=True)) from haiku.rag.app import HaikuRAGApp from haiku.rag.config import ( @@ -22,9 +26,6 @@ from haiku.rag.logging import configure_cli_logging from haiku.rag.store.exceptions import MigrationRequiredError from haiku.rag.utils import is_up_to_date -# Load environment variables from .env file for API keys and service URLs -load_dotenv() - _cli = typer.Typer( context_settings={"help_option_names": ["-h", "--help"]}, no_args_is_help=True )