chenhg5/cc-connect · error

resolve current directory: %w

Error message

resolve current directory: %w

What it means

normalizeSendWorkDir could not resolve the base directory for a relative work_dir path: no base was supplied and os.Getwd() failed (e.g. working directory was deleted). Wraps the OS error before joining the relative path.

Source

Thrown at core/engine.go:11500

		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)
			}
		}
		dir = filepath.Join(base, dir)
	}
	abs, err := filepath.Abs(filepath.Clean(dir))
	if err != nil {
		return "", err
	}
	return abs, nil
}

// SendTTSToSession synthesizes and sends a voice message to an active session.
// It is used by the local API/CLI so agents can call `cc-connect send --tts`.
func (e *Engine) SendTTSToSession(sessionKey, text string) error {
	text = strings.TrimSpace(text)
	if text == "" {
		return fmt.Errorf("tts text is required")
	}

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Pass an absolute work_dir
  2. Ensure the process still has a valid working directory (cwd not deleted)
Defensive patterns

Strategy: fallback

When it happens

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