@@ -33,7 +33,7 @@ const defaultCatwalkURL = "https://catwalk.charm.sh"
3333func Load(workingDir, dataDir string, debug bool) (*ConfigStore, error) {
3434 configPaths := lookupConfigs(workingDir)
3535
36− cfg, err := loadFromConfigPaths(configPaths)
36+ cfg, loadedPaths, err := loadFromConfigPaths(configPaths)
3737 if err != nil {
3838 return nil, fmt.Errorf("failed to load config from paths %v: %w", configPaths, err)
3939 }
@@ -45,6 +45,7 @@ func Load(workingDir, dataDir string, debug bool) (*ConfigStore, error) {
4545 workingDir: workingDir,
4646 globalDataPath: GlobalConfigData(),
4747 workspacePath: filepath.Join(cfg.Options.DataDirectory, fmt.Sprintf("%s.json", appName)),
48+ loadedPaths: loadedPaths,
4849 }
4950
5051 if debug {
@@ -60,6 +61,7 @@ func Load(workingDir, dataDir string, debug bool) (*ConfigStore, error) {
6061 *cfg = *merged
6162 cfg.setDefaults(workingDir, dataDir)
6263 store.config = cfg
64+ store.loadedPaths = append(store.loadedPaths, store.workspacePath)
6365 }
6466 }
6567
@@ -669,8 +671,9 @@ func lookupConfigs(cwd string) []string {
669671 return append(configPaths, foundConfigs...)
670672}
671673
672−func loadFromConfigPaths(configPaths []string) (*Config, error) {
674+func loadFromConfigPaths(configPaths []string) (*Config, []string, error) {
673675 var configs [][]byte
676+ var loaded []string
674677
675678 for _, path := range configPaths {
676679 data, err := os.ReadFile(path)
@@ -678,15 +681,20 @@ func loadFromConfigPaths(configPaths []string) (*Config, error) {
678681 if os.IsNotExist(err) {
679682 continue
680683 }
681− return nil, fmt.Errorf("failed to open config file %s: %w", path, err)
684+ return nil, nil, fmt.Errorf("failed to open config file %s: %w", path, err)
682685 }
683686 if len(data) == 0 {
684687 continue
685688 }
686689 configs = append(configs, data)
690+ loaded = append(loaded, path)
687691 }
688692
689− return loadFromBytes(configs)
693+ cfg, err := loadFromBytes(configs)
694+ if err != nil {
695+ return nil, nil, err
696+ }
697+ return cfg, loaded, nil
690698}
691699
692700func loadFromBytes(configs [][]byte) (*Config, error) {