{"record":{"id":"bd07b79ace7d7963","repo":"chenhg5/cc-connect","slug":"claudecode-work-dir-q-does-not-exist","errorCode":null,"errorMessage":"claudecode: work_dir %q does not exist","messagePattern":"claudecode: work_dir %q does not exist","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agent/claudecode/claudecode.go","lineNumber":141,"sourceCode":"\t\"ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION\":            {},\n\t\"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME\":                   {},\n\t\"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES\": {},\n\t\"ANTHROPIC_SMALL_FAST_MODEL\":                            {},\n\t\"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION\":                 {},\n\t\"CLAUDE_CODE_SUBAGENT_MODEL\":                            {},\n}\n\nvar claudeProviderManagedEnvPrefixes = []string{\n\t\"VERTEX_REGION_CLAUDE_\",\n}\n\nfunc New(opts map[string]any) (core.Agent, error) {\n\tworkDir, _ := opts[\"work_dir\"].(string)\n\tif workDir == \"\" {\n\t\tworkDir = \".\"\n\t}\n\tif _, err := os.Stat(workDir); os.IsNotExist(err) {\n\t\treturn nil, fmt.Errorf(\"claudecode: work_dir %q does not exist\", workDir)\n\t}\n\tcmd, cliExtraArgs := core.ParseCmdOpts(opts, \"claude\")\n\tcmdArgsFlag, _ := opts[\"cmd_args_flag\"].(string)\n\tif cmdArgsFlag == \"\" {\n\t\tif v, ok := opts[\"cli_args_flag\"].(string); ok && v != \"\" {\n\t\t\tslog.Warn(\"DEPRECATED: 'cli_args_flag' is deprecated, use 'cmd_args_flag' instead\",\n\t\t\t\t\"deprecated_key\", \"cli_args_flag\",\n\t\t\t\t\"new_key\", \"cmd_args_flag\",\n\t\t\t\t\"value\", v)\n\t\t\tcmdArgsFlag = v\n\t\t}\n\t}\n\tmodel, _ := opts[\"model\"].(string)\n\treasoningEffort, _ := opts[\"reasoning_effort\"].(string)\n\tmode, _ := opts[\"mode\"].(string)\n\tmode = normalizePermissionMode(mode)\n\tsystemPrompt, _ := opts[\"system_prompt\"].(string)\n\tappendSystemPrompt, _ := opts[\"append_system_prompt\"].(string)","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/chenhg5/cc-connect/blob/4000b2338aa6e850c99df54f8b0ed6ed7460b401/agent/claudecode/claudecode.go#L123-L159","documentation":"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.","triggerScenarios":"Thrown at agent/claudecode/claudecode.go:141 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Create the directory or fix the typo in config.toml work_dir","Use an absolute path to avoid cwd-relative surprises","Restart cc-connect after correcting the config"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4000b2338aa6e850c99df54f8b0ed6ed7460b401","analyzedAt":"2026-09-06T11:45:09.575Z","contentChangedAt":"2026-09-06T11:45:09.575Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}