From 2b5eb6e15a15ae1d86de0819549c9e54945eedaf Mon Sep 17 00:00:00 2001 From: wgnrai Date: Wed, 8 Apr 2026 23:55:22 +0000 Subject: [PATCH] fix: use .get() for file_structure keys to prevent KeyError When a project.json file_structure section is missing the gitignore key, the extension crashes with KeyError, which can halt the agent entirely. Fix uses .get() with sensible defaults for all file_structure accesses: - enabled -> .get("enabled", False) - max_depth -> .get("max_depth", 0) - gitignore -> .get("gitignore", "") --- .../_75_include_workdir_extras.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/python/message_loop_prompts_after/_75_include_workdir_extras.py b/extensions/python/message_loop_prompts_after/_75_include_workdir_extras.py index d823b8199..0b9896603 100644 --- a/extensions/python/message_loop_prompts_after/_75_include_workdir_extras.py +++ b/extensions/python/message_loop_prompts_after/_75_include_workdir_extras.py @@ -24,13 +24,13 @@ class IncludeWorkdirExtras(Extension): if project_name: project = projects.load_basic_project_data(project_name) - enabled = project["file_structure"]["enabled"] + enabled = project["file_structure"].get("enabled", False) if not enabled: return - max_depth = project["file_structure"]["max_depth"] - gitignore_raw = project["file_structure"]["gitignore"] + max_depth = project["file_structure"].get("max_depth", 0) + gitignore_raw = project["file_structure"].get("gitignore", "") folder = projects.get_project_folder(project_name) if runtime.is_development():