GoogleContainerTools/skaffold · error

processing word: %w

Error message

processing word: %w

What it means

Fires in extractCopyCommands when shell-like word expansion of a WORKDIR instruction's value fails (slex.ProcessWord), e.g. malformed variable references or unmatched quotes/escapes in the WORKDIR argument given the parsed env set. Dockerfile parsing itself succeeded; only the word expansion failed.

Source

Thrown at pkg/skaffold/docker/parse.go:295

			// was already changed.
			if !stages[strings.ToLower(from.image)] {
				img, err := RetrieveImage(ctx, from.image, cfg)
				if err == nil {
					workdir = img.Config.WorkingDir
				} else if _, ok, err := isOldImageManifestProblem(cfg, err); !ok {
					return nil, err
				}
				if workdir == "" {
					workdir = "/"
				}
			}
			if onlyLastImage {
				copied = nil
			}
		case command.Workdir:
			value, _, err := slex.ProcessWord(node.Next.Value, shell.EnvsFromSlice(envs))
			if err != nil {
				return nil, fmt.Errorf("processing word: %w", err)
			}
			workdir = resolveDir(workdir, value)
		case command.Add, command.Copy:
			cpCmd, err := readCopyCommand(node, envs, workdir)
			if err != nil {
				return nil, err
			}

			if cpCmd != nil && len(cpCmd.srcs) > 0 {
				copied = append(copied, cpCmd)
			}
		case command.Env:
			// one env command may define multiple variables
			for node := node.Next; node != nil && node.Next != nil && node.Next.Next != nil; node = node.Next.Next.Next {
				envs = append(envs, fmt.Sprintf("%s=%s", node.Value, unquote(node.Next.Value)))
			}
		}
	}

View on GitHub (pinned to a1189de023)

Solutions

  1. Simplify the WORKDIR value (avoid complex nested variable expansions)
  2. Define required ARG/ENV variables earlier so expansion resolves
  3. Fix unbalanced quotes or escape characters in the WORKDIR instruction
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at pkg/skaffold/docker/parse.go:295 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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