GoogleContainerTools/skaffold · warning

could not automatically update the survey prompted timestamp

Error message

could not automatically update the survey prompted timestamp - please run `%s`

What it means

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.

Source

Thrown at pkg/skaffold/config/util.go:486

	if fullConfig.Global == nil {
		fullConfig.Global = &ContextConfig{}
	}
	if fullConfig.Global.Survey == nil {
		fullConfig.Global.Survey = &SurveyConfig{}
	}
	fullConfig.Global.Survey.LastTaken = today
	err = WriteFullConfig(configFile, fullConfig)
	if err != nil {
		return aiErr
	}
	return err
}

func UpdateGlobalSurveyPrompted(configFile string) error {
	// Today's date
	today := current().Format(time.RFC3339)
	ai := fmt.Sprintf(updateLastPrompted, today)
	aiErr := fmt.Errorf("could not automatically update the survey prompted timestamp - please run `%s`", ai)

	configFile, err := ResolveConfigFile(configFile)
	if err != nil {
		return aiErr
	}
	fullConfig, err := ReadConfigFile(configFile)
	if err != nil {
		return aiErr
	}
	if fullConfig.Global == nil {
		fullConfig.Global = &ContextConfig{}
	}
	if fullConfig.Global.Survey == nil {
		fullConfig.Global.Survey = &SurveyConfig{}
	}
	fullConfig.Global.Survey.LastPrompted = today
	err = WriteFullConfig(configFile, fullConfig)
	if err != nil {

View on GitHub (pinned to a1189de023)

Solutions

  1. Run the manual command printed in the error message
  2. Set HOME to a writable location or fix permissions on ~/.skaffold/config.yaml
  3. Treat as benign — it only gates when the survey prompt is shown again
Defensive patterns

Strategy: try-catch

Validate before calling

if os.Getenv("HOME") == "" {
  log.Warn("HOME unset; survey-prompted timestamp update will fail")
}

Try / catch

if err := config.UpdateGlobalSurveyPrompted(configFile); err != nil {
  log.Entry(ctx).Debugf("survey timestamp not recorded: %v", err) // non-fatal
}

Prevention

When it happens

Trigger: Calling UpdateGlobalSurveyPrompted when ResolveConfigFile or ReadConfigFile or the config write fails — HOME unresolvable, config file unreadable, invalid YAML, or unwritable directory.

Common situations: Non-writable ~/.skaffold in shared/read-only home directories; HOME unset in containers/CI; corrupted config.yaml after a manual edit.

Related errors


AI-assisted analysis of GoogleContainerTools/skaffold@a1189de023 (2026-09-05). Data as JSON: /api/errors/fbbbd45a61341833. Report an issue: GitHub.