chenhg5/cc-connect · error
work_dir %q is not a directory
Error message
work_dir %q is not a directory
What it means
resolveSendWorkDir found that the requested work_dir path exists but is a regular file or other non-directory entry. It is an explicit guard rejecting a work_dir parameter pointing at something other than a directory.
Source
Thrown at core/engine.go:11451
state: state,
platform: p,
replyCtx: replyCtx,
sessionKey: resolvedSessionKey,
}, nil
}
func (e *Engine) resolveSendWorkDir(workDir string) (string, bool, error) {
current := e.currentSendWorkDir()
target, err := normalizeSendWorkDir(workDir, current)
if err != nil {
return "", false, err
}
info, err := os.Stat(target)
if err != nil {
return "", false, fmt.Errorf("work_dir %q: %w", target, err)
}
if !info.IsDir() {
return "", false, fmt.Errorf("work_dir %q is not a directory", target)
}
if current != "" {
if normalizedCurrent, err := normalizeSendWorkDir(current, ""); err == nil && normalizedCurrent == target {
return target, false, nil
}
}
return target, true, nil
}
func (e *Engine) currentSendWorkDir() string {
if e.agent != nil {
if wd, ok := e.agent.(interface{ GetWorkDir() string }); ok {
if dir := strings.TrimSpace(wd.GetWorkDir()); dir != "" {
return dir
}
}
}View on GitHub (pinned to 4000b2338a)
Solutions
- Point work_dir at a directory, not a file
- Remove/rename the offending file if a directory was intended
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/engine.go:11451 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/5c748a3df28e1213.
Report an issue: GitHub.