{"record":{"id":"4a44286ecc891483","repo":"hashicorp/nomad","slug":"raw-exec-is-disabled","errorCode":null,"errorMessage":"raw_exec is disabled","messagePattern":"raw_exec is disabled","errorType":"exception","errorClass":"errDisabledDriver","httpStatus":null,"severity":"error","filePath":"drivers/rawexec/driver.go","lineNumber":61,"sourceCode":"\ttaskHandleVersion = 1\n)\n\nvar (\n\t// PluginID is the rawexec plugin metadata registered in the plugin\n\t// catalog.\n\tPluginID = loader.PluginID{\n\t\tName:       pluginName,\n\t\tPluginType: base.PluginTypeDriver,\n\t}\n\n\t// PluginConfig is the rawexec factory function registered in the\n\t// plugin catalog.\n\tPluginConfig = &loader.InternalPluginConfig{\n\t\tConfig:  map[string]interface{}{},\n\t\tFactory: func(ctx context.Context, l hclog.Logger) interface{} { return NewRawExecDriver(ctx, l) },\n\t}\n\n\terrDisabledDriver = fmt.Errorf(\"raw_exec is disabled\")\n)\n\n// PluginLoader maps pre-0.9 client driver options to post-0.9 plugin options.\nfunc PluginLoader(opts map[string]string) (map[string]interface{}, error) {\n\tconf := map[string]interface{}{}\n\tif v, err := strconv.ParseBool(opts[\"driver.raw_exec.enable\"]); err == nil {\n\t\tconf[\"enabled\"] = v\n\t}\n\treturn conf, nil\n}\n\nvar (\n\t// pluginInfo is the response returned for the PluginInfo RPC\n\tpluginInfo = &base.PluginInfoResponse{\n\t\tType:              base.PluginTypeDriver,\n\t\tPluginApiVersions: []string{drivers.ApiVersion010},\n\t\tPluginVersion:     \"0.1.0\",\n\t\tName:              pluginName,","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/drivers/rawexec/driver.go#L43-L79","documentation":"Package-level sentinel errDisabledDriver in the rawexec driver: StartTask returns it whenever the driver's Enabled config is false, telling the task runner the driver is administratively disabled on this client.","triggerScenarios":"Submitting/starting a raw_exec task on a client whose config lacks `plugin \"raw_exec\" { config { enabled = true } }`, or where enabled was explicitly set to false; also asserted in TestRawExecDriver_Disabled.","commonSituations":"Fresh Nomad client installs where raw_exec was never enabled; operator disabled raw_exec for security; clients migrated from pre-0.9 using driver.raw_exec.enable option mapping via PluginLoader.","solutions":["Enable the driver in the client config: plugin \"raw_exec\" { config { enabled = true } } and restart the client","If raw_exec should stay off, change the job to another driver (exec, java, docker)","Check client logs / `nomad node status -verbose` to confirm raw_exec driver state","For pre-0.9 style configs, set driver.raw_exec.enable=true which PluginLoader maps to the plugin config"],"exampleFix":"// before (client.hcl)\n# plugin \"raw_exec\" not configured -> disabled\n// after\nplugin \"raw_exec\" {\n  config {\n    enabled = true\n  }\n}","handlingStrategy":"validation","validationCode":"// client.hcl must contain:\n// plugin \"raw_exec\" { config { enabled = true } }\n// verify: nomad node status -verbose | grep raw_exec","typeGuard":null,"tryCatchPattern":"_, _, err := harness.StartTask(task)\nif err == errDisabledDriver || (err != nil && strings.Contains(err.Error(), \"raw_exec is disabled\")) {\n    // instruct operator to enable raw_exec in client config\n}","preventionTips":["Enable raw_exec explicitly in client config where needed","Check driver status on the node before submitting jobs","Remember raw_exec is disabled by default for security"],"tags":["raw-exec","driver-disabled","config","nomad-driver"],"backgroundTag":"driver-disabled","analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}