nanocoai/nanoclaw · warning

Failed to list install-owned networks

Error message

Failed to list install-owned networks

What it means

The host could not list Docker networks owned by this install, so network residue reaping is skipped entirely this run. Orphaned networks accumulate until a later successful sweep.

Source

Thrown at src/drivers/docker-driver.ts:397

      }
      if (preSeam.length > 0) log.info('Stopped pre-seam containers', { count: preSeam.length, names: preSeam });
    } catch (err) {
      log.warn('Failed to clean up pre-seam containers', { err });
    }

    let names: string[] = [];
    try {
      const out = this.#cli.run([
        'network',
        'ls',
        '--filter',
        `label=${LABELS.install}=${installSlug}`,
        '--format',
        '{{.Name}}',
      ]);
      names = out.trim().split('\n').filter(Boolean);
    } catch (err) {
      log.warn('Failed to list install-owned networks', { err });
      return;
    }
    const removed: string[] = [];
    for (const name of names) {
      try {
        this.#cli.run(['network', 'rm', validateRuntimeName(name, 'network')]);
        removed.push(name);
      } catch {
        /* still in use by a live session, or already gone */
      }
    }
    if (removed.length > 0) log.info('Removed orphaned networks', { count: removed.length, names: removed });
  }

  /**
   * Name-existence alone cannot answer "is this MY session": the name is
   * key-derived, but a foreign container can wear it — another install sharing
   * this daemon whose truncated identity collides, or an operator's hand-made

View on GitHub (pinned to 294ef2aee8)

Solutions

  1. Verify `docker network ls` works for the host user
  2. Restart nanoclaw to retry the sweep
  3. Prune stale networks manually if accumulation matters: `docker network prune` (careful — global)
Defensive patterns

Strategy: retry

Validate before calling

execSync('docker network ls').toString(); // gate before sweep

Try / catch

try { listNetworks(); } catch { return; /* retried next sweep */ }

Prevention

When it happens

Trigger: `docker network ls --filter label=...` fails — daemon unavailable mid-sweep, CLI parse issue, or docker socket permission problems.

Common situations: Docker restarting during a host sweep; permissions changed on the docker socket.

Related errors


AI-assisted analysis of nanocoai/nanoclaw@294ef2aee8 (2026-08-28). Data as JSON: /api/errors/f8d1c7e3e632a9c8. Report an issue: GitHub.