ipfs/kubo · error

finding config filepath from repo %s and user config %s: %w

Error message

finding config filepath from repo %s and user config %s: %w

What it means

While opening the repo, resolving the config file path from the repo path plus the user config override failed (config.Filename errored); typically an invalid IPFS_DIR / user config path or expansion problem.

Source

Thrown at repo/fsrepo/fsrepo.go:234

		r.filemgr = filestore.NewFileManager(r.ds, filepath.Dir(r.path))
		r.filemgr.AllowFiles = r.config.Experimental.FilestoreEnabled
		r.filemgr.AllowUrls = r.config.Experimental.UrlstoreEnabled
	}

	keepLocked = true
	return r, nil
}

func newFSRepo(rpath string, userConfigFilePath string) (*FSRepo, error) {
	expPath, err := fsutil.ExpandHome(filepath.Clean(rpath))
	if err != nil {
		return nil, err
	}

	configFilePath, err := config.Filename(rpath, userConfigFilePath)
	if err != nil {
		// FIXME: Personalize this when the user config path is "".
		return nil, fmt.Errorf("finding config filepath from repo %s and user config %s: %w",
			rpath, userConfigFilePath, err)
	}
	return &FSRepo{path: expPath, configFilePath: configFilePath}, nil
}

func checkInitialized(path string) error {
	if !isInitializedUnsynced(path) {
		alt := strings.Replace(path, ".ipfs", ".go-ipfs", 1)
		if isInitializedUnsynced(alt) {
			return ErrOldRepo
		}
		return NoRepoError{Path: path}
	}
	return nil
}

// configIsInitialized returns true if the repo is initialized at
// provided |path|.

View on GitHub (pinned to 329838acdf)

Solutions

  1. Check IPFS_PATH and any config-path override for typos or bad '~' expansion
  2. Verify the directories exist and are readable
  3. Unset the override if you want the default $IPFS_PATH/config
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at repo/fsrepo/fsrepo.go:234 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/5e4a273daa0ad6a5. Report an issue: GitHub.