@@ -143,26 +143,34 @@ def settings(self) -> T:
143143
144144 target_key = self ._active_key if self ._active_key is not None else self ._default_key
145145
146- if target_key is not None :
147- # Resolve alias if target_key is an alias
148- resolved_key = self ._resolve_alias (target_key )
149-
150- if resolved_key not in self ._cache :
151- # Show both original and resolved key in error message if different
152- if target_key != resolved_key :
153- raise ValueError (
154- f"Key '{ target_key } ' (resolved to '{ resolved_key } ') "
155- f"does not exist in settings map"
156- )
157- else :
158- raise ValueError (f"Key '{ target_key } ' does not exist in settings map" )
159-
160- return self ._cache [resolved_key ]
146+ if target_key is None :
147+ target_key = DEFAULT_KEY
161148
162- raise ValueError (
163- "No active or default configuration is set. Set `manager.active_key`, "
164- "add `default` to user_config, or call `get_settings(<name>)`."
165- )
149+ # Resolve alias if target_key is an alias
150+ resolved_key = self ._resolve_alias (target_key )
151+
152+ if resolved_key not in self ._cache :
153+ if (
154+ self ._active_key is None
155+ and self ._default_key is None
156+ and target_key == DEFAULT_KEY
157+ ):
158+ raise ValueError (
159+ "No active or default configuration is set, "
160+ f"and fallback key '{ DEFAULT_KEY } ' does not exist in settings map. "
161+ "Set `manager.active_key`, add `default` to user_config, "
162+ "or use 'default' as a config key."
163+ )
164+ # Show both original and resolved key in error message if different
165+ if target_key != resolved_key :
166+ raise ValueError (
167+ f"Key '{ target_key } ' (resolved to '{ resolved_key } ') "
168+ f"does not exist in settings map"
169+ )
170+ else :
171+ raise ValueError (f"Key '{ target_key } ' does not exist in settings map" )
172+
173+ return self ._cache [resolved_key ]
166174
167175 @property
168176 def user_config (self ) -> dict [str , Any ]:
0 commit comments