{"record":{"id":"8361191aca8a6875","repo":"xpipe-io/xpipe","slug":"podman-daemon-is-not-running","errorCode":null,"errorMessage":"Podman daemon is not running","messagePattern":"Podman daemon is not running","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java","lineNumber":117,"sourceCode":"                b.add(\"container\");\n                builder.accept(b);\n            });\n        }\n\n        @Override\n        protected ShellControl getShellControl() {\n            return PodmanCommandView.this.getShellControl();\n        }\n\n        @Override\n        public Container start() throws Exception {\n            shellControl.start();\n            return this;\n        }\n\n        public List<ContainerEntry> listContainersAndStates() throws Exception {\n            if (!PodmanCommandView.this.isDaemonRunning()) {\n                throw new IllegalStateException(\"Podman daemon is not running\");\n            }\n\n            try (var c = build(commandBuilder ->\n                            commandBuilder.add(\"ls -a --format=\\\"{{.Names}};{{.Image}};{{.Status}}\\\"\"))\n                    .start()) {\n                var output = c.readStdoutOrThrow();\n                var l = new ArrayList<ContainerEntry>();\n                for (String s : output.lines().toList()) {\n                    var systemd =\n                            queryLabel(s.split(\";\")[0], \"PODMAN_SYSTEMD_UNIT\").orElse(null);\n                    l.add(new ContainerEntry(s.split(\";\")[0], s.split(\";\")[1], s.split(\";\")[2], systemd));\n                }\n                return l;\n            }\n        }\n\n        public ShellControl exec(String container, ShellDialect dialect) {\n            var sub = shellControl.subShell();","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/xpipe-io/xpipe/blob/d85ca821baa46092a320ebb13546d7240adb74f8/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java#L99-L135","documentation":"PodmanCommandView.listContainersAndStates() first checks isDaemonRunning() and throws IllegalStateException(\"Podman daemon is not running\") when the podman daemon on the target machine is not reachable. Container listing requires the podman service/daemon, so without it no podman commands can succeed.","triggerScenarios":"Calling listContainersAndStates() (via the Podman command view during container refresh) on a connection where `podman info` / daemon check reports the daemon is down — podman service not started, remote podman socket absent, or rootless podman not initialized for the user.","commonSituations":"Podman machine not started (macOS/Windows: `podman machine start`); systemd user service for podman.socket not enabled on Linux; SSH user on the remote host has no rootless podman configured; podman recently upgraded and service stopped.","solutions":["Start the podman daemon on the target machine (`systemctl --user start podman.socket` or `podman machine start`)","Verify with `podman info` on the target host that podman works for the connecting user","Reconnect the store in XPipe after the daemon is running","Check rootless podman configuration (subuid/subgid, loginctl enable-linger) for the SSH user"],"exampleFix":"// before (daemon stopped)\n$ podman ps  # -> cannot connect\n// after\n$ systemctl --user enable --now podman.socket\n$ podman info  # succeeds, then retry listContainersAndStates()","handlingStrategy":"validation","validationCode":"if (!podmanCommandView.isDaemonRunning()) {\n    // start the daemon or surface a 'podman not running' state before listing\n    return List.of();\n}","typeGuard":null,"tryCatchPattern":"try {\n    view.listContainersAndStates();\n} catch (IllegalStateException e) {\n    if (e.getMessage().contains(\"daemon is not running\")) {\n        // show remediation: start podman machine / podman.socket\n    }\n}","preventionTips":["Enable podman.socket / start podman machine on target hosts","Check isDaemonRunning() before any container operation","Configure rootless podman (linger, subuid/subgid) for SSH users"],"tags":["podman","container","daemon","environment"],"backgroundTag":"connection-refused","analyzedSha":"d85ca821baa46092a320ebb13546d7240adb74f8","analyzedAt":"2026-09-06T14:30:08.251Z","contentChangedAt":"2026-09-06T14:30:08.251Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}