{"record":{"id":"fbbbd45a61341833","repo":"GoogleContainerTools/skaffold","slug":"could-not-automatically-update-the-survey-prompted","errorCode":null,"errorMessage":"could not automatically update the survey prompted timestamp - please run `%s`","messagePattern":"could not automatically update the survey prompted timestamp - please run `(.+?)`","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"pkg/skaffold/config/util.go","lineNumber":486,"sourceCode":"\tif fullConfig.Global == nil {\n\t\tfullConfig.Global = &ContextConfig{}\n\t}\n\tif fullConfig.Global.Survey == nil {\n\t\tfullConfig.Global.Survey = &SurveyConfig{}\n\t}\n\tfullConfig.Global.Survey.LastTaken = today\n\terr = WriteFullConfig(configFile, fullConfig)\n\tif err != nil {\n\t\treturn aiErr\n\t}\n\treturn err\n}\n\nfunc UpdateGlobalSurveyPrompted(configFile string) error {\n\t// Today's date\n\ttoday := current().Format(time.RFC3339)\n\tai := fmt.Sprintf(updateLastPrompted, today)\n\taiErr := fmt.Errorf(\"could not automatically update the survey prompted timestamp - please run `%s`\", ai)\n\n\tconfigFile, err := ResolveConfigFile(configFile)\n\tif err != nil {\n\t\treturn aiErr\n\t}\n\tfullConfig, err := ReadConfigFile(configFile)\n\tif err != nil {\n\t\treturn aiErr\n\t}\n\tif fullConfig.Global == nil {\n\t\tfullConfig.Global = &ContextConfig{}\n\t}\n\tif fullConfig.Global.Survey == nil {\n\t\tfullConfig.Global.Survey = &SurveyConfig{}\n\t}\n\tfullConfig.Global.Survey.LastPrompted = today\n\terr = WriteFullConfig(configFile, fullConfig)\n\tif err != nil {","sourceCodeStart":468,"sourceCodeEnd":504,"githubUrl":"https://github.com/GoogleContainerTools/skaffold/blob/a1189de023efc32d4b8e11f395acc678aa555011/pkg/skaffold/config/util.go#L468-L504","documentation":"UpdateGlobalSurveyPrompted records today's date as the last-prompted timestamp for the global survey. Like UpdateHaTSSurveyTaken, it constructs an advisory error containing the manual command and returns it whenever resolving, reading, or writing the global config fails.","triggerScenarios":"Calling UpdateGlobalSurveyPrompted when ResolveConfigFile or ReadConfigFile or the config write fails — HOME unresolvable, config file unreadable, invalid YAML, or unwritable directory.","commonSituations":"Non-writable ~/.skaffold in shared/read-only home directories; HOME unset in containers/CI; corrupted config.yaml after a manual edit.","solutions":["Run the manual command printed in the error message","Set HOME to a writable location or fix permissions on ~/.skaffold/config.yaml","Treat as benign — it only gates when the survey prompt is shown again"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if os.Getenv(\"HOME\") == \"\" {\n  log.Warn(\"HOME unset; survey-prompted timestamp update will fail\")\n}","typeGuard":null,"tryCatchPattern":"if err := config.UpdateGlobalSurveyPrompted(configFile); err != nil {\n  log.Entry(ctx).Debugf(\"survey timestamp not recorded: %v\", err) // non-fatal\n}","preventionTips":["Ignore gracefully — this only affects survey scheduling","Ensure ~/.skaffold/config.yaml exists and is writable","Run interactive sessions as a user with a writable home"],"tags":["survey","config-write","non-fatal"],"backgroundTag":"config-write-failed","analyzedSha":"a1189de023efc32d4b8e11f395acc678aa555011","analyzedAt":"2026-09-05T12:09:27.064Z","contentChangedAt":"2026-09-05T12:09:27.064Z","schemaVersion":2},"datasetVersion":"2026-09-12T17:17:11.597Z"}