chenhg5/cc-connect · error

claudecode: work_dir %q does not exist

Error message

claudecode: work_dir %q does not exist

What it means

A config-time validation in the claudecode agent factory (New): the configured work_dir does not exist on disk. The quoted %q is the offending path. Sessions would spawn claude in a missing directory, so construction aborts immediately.

Source

Thrown at agent/claudecode/claudecode.go:141

	"ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION":            {},
	"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME":                   {},
	"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES": {},
	"ANTHROPIC_SMALL_FAST_MODEL":                            {},
	"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION":                 {},
	"CLAUDE_CODE_SUBAGENT_MODEL":                            {},
}

var claudeProviderManagedEnvPrefixes = []string{
	"VERTEX_REGION_CLAUDE_",
}

func New(opts map[string]any) (core.Agent, error) {
	workDir, _ := opts["work_dir"].(string)
	if workDir == "" {
		workDir = "."
	}
	if _, err := os.Stat(workDir); os.IsNotExist(err) {
		return nil, fmt.Errorf("claudecode: work_dir %q does not exist", workDir)
	}
	cmd, cliExtraArgs := core.ParseCmdOpts(opts, "claude")
	cmdArgsFlag, _ := opts["cmd_args_flag"].(string)
	if cmdArgsFlag == "" {
		if v, ok := opts["cli_args_flag"].(string); ok && v != "" {
			slog.Warn("DEPRECATED: 'cli_args_flag' is deprecated, use 'cmd_args_flag' instead",
				"deprecated_key", "cli_args_flag",
				"new_key", "cmd_args_flag",
				"value", v)
			cmdArgsFlag = v
		}
	}
	model, _ := opts["model"].(string)
	reasoningEffort, _ := opts["reasoning_effort"].(string)
	mode, _ := opts["mode"].(string)
	mode = normalizePermissionMode(mode)
	systemPrompt, _ := opts["system_prompt"].(string)
	appendSystemPrompt, _ := opts["append_system_prompt"].(string)

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Create the directory or fix the typo in config.toml work_dir
  2. Use an absolute path to avoid cwd-relative surprises
  3. Restart cc-connect after correcting the config
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at agent/claudecode/claudecode.go:141 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/bd07b79ace7d7963. Report an issue: GitHub.