chenhg5/cc-connect · error

iflow: cannot determine home dir: %w

Error message

iflow: cannot determine home dir: %w

What it means

Wraps a failed os.UserHomeDir() inside iflow Agent.DeleteSession. iFlow stores session transcripts under ~/.iflow/projects/...; without a home directory the path cannot be constructed and deletion aborts.

Source

Thrown at agent/iflow/iflow.go:182

	return newIFlowSession(ctx, cmd, extraArgs, workDir, model, mode, sessionID, extraEnv, toolTimeoutSec)
}

func (a *Agent) ListSessions(_ context.Context) ([]core.AgentSessionInfo, error) {
	a.mu.RLock()
	workDir := a.workDir
	a.mu.RUnlock()
	return listIFlowSessions(workDir)
}

func (a *Agent) DeleteSession(_ context.Context, sessionID string) error {
	if sessionID == "" {
		return fmt.Errorf("session id is required")
	}

	homeDir, err := os.UserHomeDir()
	if err != nil {
		return fmt.Errorf("iflow: cannot determine home dir: %w", err)
	}

	a.mu.RLock()
	workDir := a.workDir
	a.mu.RUnlock()
	absDir := iflowResolvedWorkDir(workDir)

	candidates := []string{
		filepath.Join(homeDir, ".iflow", "projects", iflowProjectKey(absDir), sessionID+".jsonl"),
	}
	for _, p := range candidates {
		if _, err := os.Stat(p); err == nil {
			return os.Remove(p)
		}
	}

	matches, _ := filepath.Glob(filepath.Join(homeDir, ".iflow", "projects", "*", sessionID+".jsonl"))
	if len(matches) == 0 {

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Set HOME in the cc-connect environment
  2. Verify the daemon user has a valid home
  3. Retry /delete after the fix
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at agent/iflow/iflow.go:182 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/99a734edba201dba. Report an issue: GitHub.