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
- 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.