Skip to content

[BUG] container system start hangs: apiserver crash-loops on Homebrew plugin path mismatch (cannot find network plugin) #1671

@norrietaylor

Description

@norrietaylor

Summary

container system start appears to hang on a fresh Homebrew install. The real cause is the apiserver crash-looping because it cannot locate the network plugin. This is the same root cause discussed in #1670, filed separately as a clean, self-contained repro.

Environment

  • container CLI version 1.0.0 (build: release)
  • Install method: Homebrew (brew install container)
  • Apple Silicon, macOS 15.4 (Darwin 25.4.0)

Symptom

container system start never returns. container system status also blocks forever, because the API socket never comes up.

$ launchctl list | grep container
-	1	com.apple.container.apiserver

PID -, last exit status 1: launchd starts the apiserver, it dies immediately, launchd restarts it, repeat. apiserver logs the error cannot find any plugins with type network.

Root cause

Path mismatch between where the formula installs plugins and where the apiserver looks for them:

  • Expected by apiserver: /opt/homebrew/libexec/container/plugins/does not exist
  • Installed by formula: /opt/homebrew/opt/container/libexec/container-plugins/ — contains:
    • container-network-vmnet
    • container-runtime-linux
    • container-core-images

No ~/.config/container/config.toml is generated to redirect the apiserver to the actual location.

Workaround

mkdir -p /opt/homebrew/libexec/container
ln -s /opt/homebrew/opt/container/libexec/container-plugins \
      /opt/homebrew/libexec/container/plugins
container system stop; container system start

The symlink alone is sufficient: apiserver finds the network plugin and stops crash-looping.

Suggested fix

The Homebrew formula's post-install step should create the symlink (or generate a config.toml with the correct install-root) so container system start works immediately after brew install.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions