From ef7adb7b994ec31cb6480bc6117c6b28a28b810c Mon Sep 17 00:00:00 2001 From: phernandez Date: Sun, 28 Dec 2025 10:31:17 -0600 Subject: [PATCH] fix: add cloud_mode check to initialize_app() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MCP server crashes in cloud mode with: ValueError: DATABASE_URL must be set when using Postgres backend Root cause: initialize_app() did not check cloud_mode_enabled before trying to initialize the database. Only ensure_initialization() had the check. In cloud mode, tenant DBs are per-request via headers, not via DATABASE_URL environment variable. Also includes minor formatting fix in telemetry.py. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 Signed-off-by: phernandez --- src/basic_memory/cli/commands/telemetry.py | 4 +++- src/basic_memory/services/initialization.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/basic_memory/cli/commands/telemetry.py b/src/basic_memory/cli/commands/telemetry.py index 634a7008..b7701075 100644 --- a/src/basic_memory/cli/commands/telemetry.py +++ b/src/basic_memory/cli/commands/telemetry.py @@ -49,7 +49,9 @@ def status() -> None: config = ConfigManager().config - status_text = "[green]enabled[/green]" if config.telemetry_enabled else "[yellow]disabled[/yellow]" + status_text = ( + "[green]enabled[/green]" if config.telemetry_enabled else "[yellow]disabled[/yellow]" + ) console.print(f"\nTelemetry: {status_text}") console.print(f"Install ID: [dim]{get_install_id()}[/dim]") diff --git a/src/basic_memory/services/initialization.py b/src/basic_memory/services/initialization.py index 6152161a..670912d5 100644 --- a/src/basic_memory/services/initialization.py +++ b/src/basic_memory/services/initialization.py @@ -162,6 +162,11 @@ async def initialize_app( Args: app_config: The Basic Memory project configuration """ + # Skip initialization in cloud mode - cloud manages its own projects + if app_config.cloud_mode_enabled: + logger.debug("Skipping initialization in cloud mode - projects managed by cloud") + return + logger.info("Initializing app...") # Initialize database first await initialize_database(app_config)