jesseduffield/lazydocker · warning
Cannot proceed until docker gives us more information about
Error message
Cannot proceed until docker gives us more information about the container. Please retry in a few moments.
What it means
Thrown by Container.Attach() when c.DetailsLoaded() is false, meaning lazydocker has not yet received the container's inspect payload from the Docker daemon. It is a transient guard: the container exists in the list, but its full Config/State (fetched asynchronously) has not arrived yet. The message (c.Tr.WaitingForContainerInfo) explicitly asks the user to retry in a few moments rather than signaling permanent failure.
Source
Thrown at pkg/commands/container.go:93
return c.Client.ContainerPause(context.Background(), c.ID)
}
// Unpause unpauses the container
func (c *Container) Unpause() error {
c.Log.Warn(fmt.Sprintf("unpausing container %s", c.Name))
return c.Client.ContainerUnpause(context.Background(), c.ID)
}
// Restart restarts the container
func (c *Container) Restart() error {
c.Log.Warn(fmt.Sprintf("restarting container %s", c.Name))
return c.Client.ContainerRestart(context.Background(), c.ID, container.StopOptions{})
}
// Attach attaches the container
func (c *Container) Attach() (*exec.Cmd, error) {
if !c.DetailsLoaded() {
return nil, errors.New(c.Tr.WaitingForContainerInfo)
}
// verify that we can in fact attach to this container
if !c.Details.Config.OpenStdin {
return nil, errors.New(c.Tr.UnattachableContainerError)
}
if c.Container.State == "exited" {
return nil, errors.New(c.Tr.CannotAttachStoppedContainerError)
}
c.Log.Warn(fmt.Sprintf("attaching to container %s", c.Name))
// TODO: use SDK
cmd := c.OSCommand.NewCmd("docker", "attach", "--sig-proxy=false", c.ID)
return cmd, nil
}
// Top returns process informationView on GitHub (pinned to 7e7aadc207)
Solutions
- Wait a few seconds and retry the attach action — the details usually populate within one refresh cycle.
- If it persists, verify the Docker daemon is responsive (docker ps, docker inspect <id>) — a hung daemon never populates details.
- Check connectivity to remote/SSH Docker hosts; a slow or dropping connection delays the inspect call indefinitely.
- As a code-level fix, poll DetailsLoaded() with a short timeout before invoking Attach().
Example fix
// before
cmd, err := container.Attach()
if err != nil {
return err
}
// after
deadline := time.Now().Add(5 * time.Second)
for !container.DetailsLoaded() {
if time.Now().After(deadline) {
return err
}
time.Sleep(100 * time.Millisecond)
}
cmd, err := container.Attach()
if err != nil {
return err
} Defensive patterns
Strategy: retry
Validate before calling
// before attaching, wait for details to load
for i := 0; i < 50 && !container.DetailsLoaded(); i++ {
time.Sleep(100 * time.Millisecond)
}
if !container.DetailsLoaded() {
return fmt.Errorf("container details not available yet")
} Try / catch
err := retry(3, 500*time.Millisecond, func() error { _, err := container.Attach(); return err })
if err != nil { /* only surface after retries exhausted */ } Prevention
- Treat this message as transient: retry the attach after one UI refresh cycle before assuming failure.
- When scripting, always gate on DetailsLoaded() (or a successful Inspect) before attach-dependent operations.
- Keep the Docker daemon connection healthy; slow daemons prolong the window in which this error can occur.
When it happens
Trigger: Calling Container.Attach() right after lazydocker starts, immediately after the container list refreshes, or right after a container is created, before the background Inspect() call that populates c.Details completes.
Common situations: User presses 'a' (attach) on a freshly-listed container within the first moments of the UI loading; attaching to a container that was just created via docker run from another terminal; slow Docker daemon over a remote DOCKER_HOST causing inspect to lag behind listing.
Related errors
- Container does not support attaching. You must either run th
- You cannot attach to a stopped container, you need to start
- container is not running
- {stderr}
- {joined stderr}
AI-assisted analysis of jesseduffield/lazydocker@7e7aadc207 (2026-08-15).
Data as JSON: /api/errors/7246af1c15918b29.
Report an issue: GitHub.