{"record":{"id":"47d74fb7938a3268","repo":"dagger/dagger","slug":"no-support-for-running-processes-with-s-platform","errorCode":null,"errorMessage":"no support for running processes with %s platform, supported: %s","messagePattern":"no support for running processes with (.+?) platform, supported: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/container_emulator.go","lineNumber":115,"sourceCode":"\nfunc getEmulator(ctx context.Context, pp ocispecs.Platform) (*emulator, error) {\n\tall := archutil.SupportedPlatforms(false)\n\tpp = platforms.Normalize(pp)\n\tfor _, p := range all {\n\t\tif platforms.Only(p).Match(pp) {\n\t\t\treturn nil, nil\n\t\t}\n\t}\n\n\tif pp.Architecture == \"amd64\" {\n\t\tif pp.Variant != \"\" && pp.Variant != \"v2\" {\n\t\t\tvar supported []string\n\t\t\tfor _, p := range all {\n\t\t\t\tif p.Architecture == \"amd64\" {\n\t\t\t\t\tsupported = append(supported, platforms.Format(p))\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn nil, errors.Errorf(\"no support for running processes with %s platform, supported: %s\", platforms.Format(pp), strings.Join(supported, \", \"))\n\t\t}\n\t}\n\n\ta, ok := qemuArchMap[pp.Architecture]\n\tif !ok {\n\t\ta = pp.Architecture\n\t}\n\n\tfn, err := exec.LookPath(\"buildkit-qemu-\" + a)\n\tif err != nil {\n\t\tbklog.G(ctx).Warn(err.Error()) // TODO: remove this with pull support\n\t\treturn nil, nil                // no emulator available\n\t}\n\n\treturn &emulator{path: fn}, nil\n}\n","sourceCodeStart":97,"sourceCodeEnd":132,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/container_emulator.go#L97-L132","documentation":"Dagger's container emulator setup (QEMU-based binfmt emulation for running foreign-arch processes) only supports a fixed set of platforms. getEmulator checks the host's binfmt registrations for amd64-capable emulators; when the requested platform has no registered amd64 handler it errors 'no support for running processes with <platform>, supported: <list>'.","triggerScenarios":"Executing a container for a non-amd64 platform (e.g. linux/arm64) on a host where binfmt_misc has no amd64 entries registered (qemu-x86_64 handler missing); Docker Desktop/VM without QEMU binfmt enabled.","commonSituations":"CI runners without docker/setup-qemu-action; fresh Linux hosts with no binfmt_misc entries; requesting arm64 execution on an amd64-only host without emulation installed.","solutions":["Register QEMU binfmt handlers: docker run --privileged tonistiigi/binfmt --install all (or the specific arch)","In CI, add the setup-qemu step (actions/setup-qemu-action or equivalent) before running Dagger","Run on a native host matching the target platform instead of relying on emulation","Update Dagger/the engine image so the supported-platform list includes your target"],"exampleFix":"// before: fresh CI runner, no binfmt\ndagger call --platform linux/arm64 run-cmd # no support error\n// after\n$ docker run --privileged tonistiigi/binfmt --install all\ndagger call --platform linux/arm64 run-cmd","handlingStrategy":"validation","validationCode":"// verify amd64 binfmt handlers exist before requesting foreign-arch execution\nhandlers, err := os.ReadFile(\"/proc/sys/fs/binfmt_misc/status\")\nif err == nil && string(handlers) == \"enabled\" {\n\tentries, _ := filepath.Glob(\"/proc/sys/fs/binfmt_misc/qemu-*\")\n\tif len(entries) == 0 {\n\t\treturn errors.New(\"no qemu binfmt handlers registered; run tonistiigi/binfmt --install all\")\n\t}\n}","typeGuard":"func binfmtReady() bool {\n\tentries, _ := filepath.Glob(\"/proc/sys/fs/binfmt_misc/qemu-*\")\n\treturn len(entries) > 0\n}","tryCatchPattern":"ctr, err := client.Container().From(ref, dagger.ContainerFromOpts{Platform: \"linux/arm64\"})\nif err != nil && strings.Contains(err.Error(), \"no support for running processes with\") {\n\treturn fmt.Errorf(\"emulation unavailable: install QEMU binfmt (docker run --privileged tonistiigi/binfmt --install all): %w\", err)\n}","preventionTips":["Install QEMU handlers on every host that runs foreign-arch containers (tonistiigi/binfmt)","In GitHub Actions, add docker/setup-qemu-action before Dagger steps","Prefer native-arch runners for heavy workloads; emulate only when needed","Keep the Dagger engine image current so its supported-platform list is up to date"],"tags":["qemu","emulation","platform","binfmt","arm64"],"backgroundTag":"qemu-binfmt-not-registered","analyzedSha":"82ba2681dbe30d3547a1dc50ea495900ab5b6047","analyzedAt":"2026-09-05T07:21:37.930Z","contentChangedAt":"2026-09-05T07:21:37.930Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}