chenhg5/cc-connect · error

work_dir is required

Error message

work_dir is required

What it means

Sentinel validation error in normalizeSendWorkDir: the supplied work_dir argument is empty or whitespace-only after trimming. normalizeSendWorkDir refuses to resolve a session/send target with no directory specified.

Source

Thrown at core/engine.go:11482

		if wd, ok := e.agent.(interface{ GetWorkDir() string }); ok {
			if dir := strings.TrimSpace(wd.GetWorkDir()); dir != "" {
				return dir
			}
		}
	}
	if strings.TrimSpace(e.baseWorkDir) != "" {
		return strings.TrimSpace(e.baseWorkDir)
	}
	if cwd, err := os.Getwd(); err == nil {
		return cwd
	}
	return ""
}

func normalizeSendWorkDir(workDir, base string) (string, error) {
	dir := strings.TrimSpace(workDir)
	if dir == "" {
		return "", fmt.Errorf("work_dir is required")
	}
	if dir == "~" || strings.HasPrefix(dir, "~/") {
		home, err := os.UserHomeDir()
		if err != nil {
			return "", fmt.Errorf("resolve home directory: %w", err)
		}
		if dir == "~" {
			dir = home
		} else {
			dir = filepath.Join(home, strings.TrimPrefix(dir, "~/"))
		}
	}
	if !filepath.IsAbs(dir) {
		if strings.TrimSpace(base) == "" {
			var err error
			base, err = os.Getwd()
			if err != nil {
				return "", fmt.Errorf("resolve current directory: %w", err)

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Provide a non-empty work_dir (absolute, ~/..., or relative to the current work dir)
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at core/engine.go:11482 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/8a016ea54c4877ce. Report an issue: GitHub.