docker/cli ยท error

context %q is in use, set -f flag to force remove

Error message

context %q is in use, set -f flag to force remove

What it means

Error "context %q is in use, set -f flag to force remove" thrown in docker/cli.

Source

Thrown at cli/command/context/remove.go:54

func runRemove(dockerCLI command.Cli, opts removeOptions, names []string) error {
	var errs []error
	currentCtx := dockerCLI.CurrentContext()
	for _, name := range names {
		if name == "default" {
			errs = append(errs, errors.New(`context "default" cannot be removed`))
		} else if err := doRemove(dockerCLI, name, name == currentCtx, opts.force); err != nil {
			errs = append(errs, err)
		} else {
			_, _ = fmt.Fprintln(dockerCLI.Out(), name)
		}
	}
	return errors.Join(errs...)
}

func doRemove(dockerCli command.Cli, name string, isCurrent, force bool) error {
	if isCurrent {
		if !force {
			return fmt.Errorf("context %q is in use, set -f flag to force remove", name)
		}
		// fallback to DOCKER_HOST
		cfg := dockerCli.ConfigFile()
		cfg.CurrentContext = ""
		if err := cfg.Save(); err != nil {
			return err
		}
	}

	if !force {
		// TODO(thaJeztah): instead of checking before removing, can we make ContextStore().Remove() return a proper errdef and ignore "not found" errors?
		if err := checkContextExists(dockerCli, name); err != nil {
			return err
		}
	}
	return dockerCli.ContextStore().Remove(name)
}

View on GitHub (pinned to e9452d6e78)

When it happens

Trigger: Thrown at cli/command/context/remove.go:54 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01). Data as JSON: /data/errors/6dea8f7b23fb217a.json. Report an issue: GitHub.