[{"data":1,"prerenderedAt":830},["ShallowReactive",2],{"docs-nav":3,"docs:\u002Fdocs\u002Freference\u002Ferrors-and-exit-codes":139},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,85,88,91,94,97,100,103,106,109,112,115,118,121,124,127,130,133,136],{"path":5,"title":6},"\u002Fdocs\u002Faccess-gating","Protect a local route",{"path":8,"title":9},"\u002Fdocs\u002Farchitecture\u002Fsecurity-and-trust","Security and trust",{"path":11,"title":12},"\u002Fdocs\u002Fconcepts\u002Fbuilds-and-deployments","Build and deploy",{"path":14,"title":15},"\u002Fdocs\u002Fconcepts\u002Fconfiguration-ownership","Where configuration belongs",{"path":17,"title":18},"\u002Fdocs\u002Fconcepts\u002Fenvironments-and-secrets","Environment values and secrets",{"path":20,"title":21},"\u002Fdocs\u002Fconcepts\u002Fmental-model","How projects fit together",{"path":23,"title":24},"\u002Fdocs\u002Fconcepts\u002Fplans-and-apply","Plans and apply",{"path":26,"title":27},"\u002Fdocs\u002Fconcepts\u002Ftargets-and-runtimes","Choose a target and runtime",{"path":29,"title":30},"\u002Fdocs\u002Fcontribute\u002Freleases","Publish a release",{"path":32,"title":33},"\u002Fdocs\u002Fdevelopment-mounts","Development mounts",{"path":35,"title":36},"\u002Fdocs\u002Fgetting-started","Getting started",{"path":38,"title":39},"\u002Fdocs\u002Fhelp\u002Ffaq","FAQ",{"path":41,"title":42},"\u002Fdocs\u002Fhelp\u002Ftroubleshooting","Troubleshooting",{"path":44,"title":45},"\u002Fdocs\u002Fhow-to\u002Fdeploy-production","Prepare a deployment environment",{"path":47,"title":48},"\u002Fdocs\u002Fhow-to\u002Fswarm-cluster","Run on a multi-node Swarm",{"path":50,"title":51},"\u002Fdocs","mm documentation",{"path":53,"title":54},"\u002Fdocs\u002Fjobs-and-schedules","Jobs and schedules",{"path":56,"title":57},"\u002Fdocs\u002Flocal-dashboard","Local dashboard",{"path":59,"title":60},"\u002Fdocs\u002Flocal-https","Local HTTPS",{"path":62,"title":63},"\u002Fdocs\u002Flocal-services","Local services",{"path":65,"title":66},"\u002Fdocs\u002Fmcp","Let an AI agent work on your project",{"path":68,"title":69},"\u002Fdocs\u002Fmulti-project-hosts","Run multiple projects on one host",{"path":71,"title":72},"\u002Fdocs\u002Fonboarding","Set up a project",{"path":74,"title":75},"\u002Fdocs\u002Fopenbao","Use OpenBao",{"path":77,"title":78},"\u002Fdocs\u002Fproject\u002Fcontributing","Contributing",{"path":80,"title":81},"\u002Fdocs\u002Fproject\u002Flicense","License",{"path":83,"title":84},"\u002Fdocs\u002Fproject\u002Fsecurity","Security",{"path":86,"title":87},"\u002Fdocs\u002Freference\u002Fcapability-matrix","Supported features and platforms",{"path":89,"title":90},"\u002Fdocs\u002Freference\u002Fcli","CLI command reference",{"path":92,"title":93},"\u002Fdocs\u002Freference\u002Fconfiguration","Configuration",{"path":95,"title":96},"\u002Fdocs\u002Freference\u002Fenvironment-variables","Environment variables",{"path":98,"title":99},"\u002Fdocs\u002Freference\u002Ferrors-and-exit-codes","Errors and exit codes",{"path":101,"title":102},"\u002Fdocs\u002Freference\u002Fknown-issues","Known limitations",{"path":104,"title":105},"\u002Fdocs\u002Fremote-access","Manage remote access",{"path":107,"title":108},"\u002Fdocs\u002Fremote-daemon","Set up a remote host",{"path":110,"title":111},"\u002Fdocs\u002Fruntime-observability","Status, logs, and commands",{"path":113,"title":114},"\u002Fdocs\u002Fsecret-delivery","Pass secrets to your app",{"path":116,"title":117},"\u002Fdocs\u002Fsecret-providers","Choose a secret store",{"path":119,"title":120},"\u002Fdocs\u002Fstart\u002Finstall","Install mm",{"path":122,"title":123},"\u002Fdocs\u002Fterminal-ui","Terminal UI",{"path":125,"title":126},"\u002Fdocs\u002Ftutorials\u002Fdotnet-web-api",".NET web API example",{"path":128,"title":129},"\u002Fdocs\u002Ftutorials\u002Ffirst-local-app","First local app",{"path":131,"title":132},"\u002Fdocs\u002Ftutorials\u002Flaravel-rust","Laravel and Rust example",{"path":134,"title":135},"\u002Fdocs\u002Ftutorials\u002Fnode-fullstack","Node full stack example",{"path":137,"title":138},"\u002Fdocs\u002Fvault","Use HashiCorp Vault",{"id":140,"title":99,"body":141,"description":823,"extension":824,"meta":825,"navigation":826,"path":98,"seo":827,"stem":828,"__hash__":829},"docs\u002Fdocs\u002Freference\u002Ferrors-and-exit-codes.md",{"type":142,"value":143,"toc":816},"minimark",[144,149,220,224,228,239,306,320,343,347,664,678,685,711,715,726,746,761,775,797,812],[145,146,148],"h2",{"id":147},"exit-categories","Exit categories",[150,151,152,165],"table",{},[153,154,155],"thead",{},[156,157,158,162],"tr",{},[159,160,161],"th",{},"Exit",[159,163,164],{},"Meaning",[166,167,168,180,190,200,210],"tbody",{},[156,169,170,177],{},[171,172,173],"td",{},[174,175,176],"code",{},"0",[171,178,179],{},"Success, valid status, or no difference.",[156,181,182,187],{},[171,183,184],{},[174,185,186],{},"1",[171,188,189],{},"Local I\u002FO, state, terminal, stale-plan, or difference result, depending on the command.",[156,191,192,197],{},[171,193,194],{},[174,195,196],{},"2",[171,198,199],{},"Invalid request, configuration, environment, target, or build input.",[156,201,202,207],{},[171,203,204],{},[174,205,206],{},"3",[171,208,209],{},"Security, secret-provider, runtime, process, or capability failure.",[156,211,212,217],{},[171,213,214],{},[174,215,216],{},"130",[171,218,219],{},"Interrupted by Ctrl-C or termination signal.",[221,222,223],"p",{},"The category is stable; command-specific successful diagnostics can deliberately\nreturn a non-zero status as described below.",[145,225,227],{"id":226},"error-output","Error output",[221,229,230,231,234,235,238],{},"Human output uses ",[174,232,233],{},"error[MM_CODE]: message",". With ",[174,236,237],{},"--output json",", command\nerrors are written to stderr as a JSON error envelope and remain JSON:",[240,241,246],"pre",{"className":242,"code":243,"language":244,"meta":245,"style":245},"language-json shiki shiki-themes mm","{ \"error\": { \"code\": \"MM_CONFIG_NOT_FOUND\", \"message\": \"...\" } }\n","json","",[174,247,248],{"__ignoreMap":245},[249,250,253,257,260,264,267,270,273,275,277,279,281,285,288,290,293,295,297,300,303],"span",{"class":251,"line":252},"line",1,[249,254,256],{"class":255},"sIbZ0","{",[249,258,259],{"class":255}," \"",[249,261,263],{"class":262},"sWZmh","error",[249,265,266],{"class":255},"\"",[249,268,269],{"class":255},":",[249,271,272],{"class":255}," {",[249,274,259],{"class":255},[249,276,174],{"class":262},[249,278,266],{"class":255},[249,280,269],{"class":255},[249,282,284],{"class":283},"sv8ni"," \"MM_CONFIG_NOT_FOUND\"",[249,286,287],{"class":255},",",[249,289,259],{"class":255},[249,291,292],{"class":262},"message",[249,294,266],{"class":255},[249,296,269],{"class":255},[249,298,299],{"class":283}," \"...\"",[249,301,302],{"class":255}," }",[249,304,305],{"class":255}," }\n",[221,307,308,309,312,313,315,316,319],{},"CLI parsing failures, including unknown options, missing values, and invalid\nenum values, use ",[174,310,311],{},"MM_CLI_PARSE",". They honor ",[174,314,237],{}," even though parsing\ndid not produce a command. A failure while rendering an error is reported as\n",[174,317,318],{},"MM_OUTPUT"," on stderr.",[221,321,322,323,326,327,330,331,334,335,338,339,342],{},"Recoverable setup errors also include ",[174,324,325],{},"error.recovery",": a typed ",[174,328,329],{},"issue",", a\nplain-language ",[174,332,333],{},"help"," message, and a ",[174,336,337],{},"command"," argument array. Suggested commands\npreserve explicit root, mm-home, environment, target, and runtime selections.\nHuman output prints the corresponding quoted command. Other errors may have\n",[174,340,341],{},"recovery: null",".",[145,344,346],{"id":345},"stable-command-error-codes","Stable command error codes",[150,348,349,362],{},[153,350,351],{},[156,352,353,356,359],{},[159,354,355],{},"Code",[159,357,161],{"align":358},"right",[159,360,361],{},"Category",[166,363,364,380,392,404,416,428,440,452,464,476,488,500,512,524,536,548,560,572,584,596,608,628,640,652],{},[156,365,366,371,373],{},[171,367,368],{},[174,369,370],{},"MM_CONFIG_NOT_FOUND",[171,372,196],{"align":358},[171,374,375,376,379],{},"No ",[174,377,378],{},".config\u002Fmm.yaml"," found from the selected root or its parents.",[156,381,382,387,389],{},[171,383,384],{},[174,385,386],{},"MM_CONFIG_READ",[171,388,196],{"align":358},[171,390,391],{},"Configuration could not be read.",[156,393,394,399,401],{},[171,395,396],{},[174,397,398],{},"MM_CONFIG_PARSE",[171,400,196],{"align":358},[171,402,403],{},"YAML, UTF-8, location, or typed-schema parse failure.",[156,405,406,411,413],{},[171,407,408],{},[174,409,410],{},"MM_CONFIG_INVALID",[171,412,196],{"align":358},[171,414,415],{},"Validation returned one or more errors.",[156,417,418,423,425],{},[171,419,420],{},[174,421,422],{},"MM_CONFIG_EXISTS",[171,424,196],{"align":358},[171,426,427],{},"Initialization would replace an existing configuration.",[156,429,430,435,437],{},[171,431,432],{},[174,433,434],{},"MM_ENVIRONMENT_REQUIRED",[171,436,196],{"align":358},[171,438,439],{},"No CLI, environment-variable, or default environment selection.",[156,441,442,447,449],{},[171,443,444],{},[174,445,446],{},"MM_ENVIRONMENT",[171,448,196],{"align":358},[171,450,451],{},"Environment compilation or operation error.",[156,453,454,459,461],{},[171,455,456],{},[174,457,458],{},"MM_TARGET",[171,460,196],{"align":358},[171,462,463],{},"Target selection or definition error.",[156,465,466,471,473],{},[171,467,468],{},[174,469,470],{},"MM_BUILD",[171,472,196],{"align":358},[171,474,475],{},"Build planning or input error.",[156,477,478,483,485],{},[171,479,480],{},[174,481,482],{},"MM_SECRET",[171,484,206],{"align":358},[171,486,487],{},"Secret provider or lifecycle error.",[156,489,490,495,497],{},[171,491,492],{},[174,493,494],{},"MM_SECRET_INCOMPATIBLE",[171,496,206],{"align":358},[171,498,499],{},"Storage, delivery, runtime, workload, or rollback combination is unsupported.",[156,501,502,507,509],{},[171,503,504],{},[174,505,506],{},"MM_TARGET_OPERATION_IN_PROGRESS",[171,508,206],{"align":358},[171,510,511],{},"Another mutation holds the target operation lock.",[156,513,514,519,521],{},[171,515,516],{},[174,517,518],{},"MM_SECURITY",[171,520,206],{"align":358},[171,522,523],{},"A path, ownership, approval, or other security policy rejected the operation.",[156,525,526,531,533],{},[171,527,528],{},[174,529,530],{},"MM_PROCESS_SPAWN",[171,532,206],{"align":358},[171,534,535],{},"A required subprocess could not start.",[156,537,538,543,545],{},[171,539,540],{},[174,541,542],{},"MM_PROCESS_TIMEOUT",[171,544,206],{"align":358},[171,546,547],{},"A subprocess exceeded its bounded timeout.",[156,549,550,555,557],{},[171,551,552],{},[174,553,554],{},"MM_PROCESS_FAILED",[171,556,206],{"align":358},[171,558,559],{},"A subprocess exited unsuccessfully.",[156,561,562,567,569],{},[171,563,564],{},[174,565,566],{},"MM_RUNTIME_RESPONSE",[171,568,206],{"align":358},[171,570,571],{},"Runtime output could not be interpreted safely.",[156,573,574,579,581],{},[171,575,576],{},[174,577,578],{},"MM_RUNTIME_UNSUPPORTED",[171,580,206],{"align":358},[171,582,583],{},"The selected runtime lacks a required advertised capability.",[156,585,586,591,593],{},[171,587,588],{},[174,589,590],{},"MM_IO",[171,592,186],{"align":358},[171,594,595],{},"Other local filesystem or stream I\u002FO failure.",[156,597,598,603,605],{},[171,599,600],{},[174,601,602],{},"MM_STATE",[171,604,186],{"align":358},[171,606,607],{},"Private state-store failure.",[156,609,610,615,617],{},[171,611,612],{},[174,613,614],{},"MM_SWARM_PLACEMENT",[171,616,196],{"align":358},[171,618,619,620,623,624,627],{},"A service's ",[174,621,622],{},"placement"," or ",[174,625,626],{},"shared-volumes"," cannot be satisfied on the cluster.",[156,629,630,635,637],{},[171,631,632],{},[174,633,634],{},"MM_TERMINAL",[171,636,186],{"align":358},[171,638,639],{},"Prompt or terminal contract failure.",[156,641,642,646,649],{},[171,643,644],{},[174,645,311],{},[171,647,648],{"align":358},"Clap status, normally 2",[171,650,651],{},"Arguments could not be parsed.",[156,653,654,658,661],{},[171,655,656],{},[174,657,318],{},[171,659,660],{"align":358},"original status",[171,662,663],{},"Fallback when mm cannot print the intended output.",[221,665,666,669,670,672,673,342],{},[174,667,668],{},"mm"," also exits with ",[174,671,518],{}," when an AI agent runs it directly instead of\nthrough the MCP server. See\n",[674,675,677],"a",{"href":676},"..\u002Fmcp#mm-refuses-to-run-for-an-agent","mm refuses to run for an agent",[221,679,680,681,684],{},"Validation and status payloads also contain specific ",[174,682,683],{},"MM_*"," diagnostic codes.\nThose codes identify individual findings; process status is determined from\ntheir severity and category rather than from the presence of warnings.",[221,686,687,688,691,692,695,696,691,699,702,703,706,707,710],{},"Readiness findings include ",[174,689,690],{},"MM_STATE_LEGACY",", ",[174,693,694],{},"MM_TARGET_MISSING",",\n",[174,697,698],{},"MM_RUNTIME_REQUIRED",[174,700,701],{},"MM_BUILD_REQUIRED",", and ",[174,704,705],{},"MM_SERVICES_REQUIRED",".\nDoctor reports these findings together on stdout, including in JSON mode, and\nmarks dependent checks as ",[174,708,709],{},"blocked"," until they can be evaluated.",[145,712,714],{"id":713},"diagnostic-commands","Diagnostic commands",[221,716,717,720,721,723,724,342],{},[174,718,719],{},"mm config validate"," returns ",[174,722,196],{}," when validation has an error, otherwise ",[174,725,176],{},[221,727,728,720,731,733,734,736,737,739,740,720,743,745],{},[174,729,730],{},"mm doctor",[174,732,196],{}," when its aggregate configuration, CA, local-route TLS,\nor shared-service report contains an error. If that report is valid, it returns\n",[174,735,206],{}," when the runtime is unavailable or has an error diagnostic, otherwise ",[174,738,176],{},".\nAn explicit ",[174,741,742],{},"--check-updates",[174,744,186],{}," when the stable manifest is unreachable\nor invalid and includes an actionable unavailable report. Up-to-date,\nupdate-available, installed-newer, and unsupported-platform states do not by\nthemselves fail unrelated doctor checks.",[221,747,748,751,752,755,756,760],{},[174,749,750],{},"mm doctor recover-state"," prints a read-only recovery review. Applying it requires\nthe exact ",[174,753,754],{},"--plan HASH --yes","; successful recovery reports the backup path.\nSee ",[674,757,759],{"href":758},"..\u002Fhelp\u002Ftroubleshooting#state-uses-an-unsupported-pre-baseline-sqlite-schema","legacy-state recovery","\nfor what is reset and preserved.",[221,762,763,720,766,768,769,771,772,774],{},[174,764,765],{},"mm service status",[174,767,196],{}," for configuration diagnostics, ",[174,770,206],{}," for runtime or\nprovider diagnostics, and ",[174,773,176],{}," otherwise. Warnings alone do not make either\ncommand fail.",[221,776,777,778,780,781,691,784,787,788,791,792,794,795,342],{},"Environment status\u002Fcheck\u002Fsetup operations return ",[174,779,206],{}," for error diagnostics\n",[174,782,783],{},"MM_SECRET_PROVIDER_UNAVAILABLE",[174,785,786],{},"MM_SECRET_ACCESS_DENIED",", or\n",[174,789,790],{},"MM_SECRET_INVALID","; other error diagnostics return ",[174,793,196],{},"; warnings return ",[174,796,176],{},[221,798,799,802,803,805,806,808,809,811],{},[174,800,801],{},"mm env diff"," first applies those environment diagnostic rules. When status is\nvalid, it always prints the diff and returns ",[174,804,186],{}," if the materialized file would\nchange or ",[174,807,176],{}," if it is unchanged. Exit ",[174,810,186],{}," is therefore a difference result,\nnot an execution error.",[813,814,815],"style",{},"html pre.shiki code .sIbZ0, html code.shiki .sIbZ0{--shiki-default:var(--mm-code-punctuation)}html pre.shiki code .sWZmh, html code.shiki .sWZmh{--shiki-default:var(--mm-code-key)}html pre.shiki code .sv8ni, html code.shiki .sv8ni{--shiki-default:var(--mm-code-string)}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":245,"searchDepth":817,"depth":817,"links":818},2,[819,820,821,822],{"id":147,"depth":817,"text":148},{"id":226,"depth":817,"text":227},{"id":345,"depth":817,"text":346},{"id":713,"depth":817,"text":714},"Stable process exits, error envelopes, and MM error codes.","md",{},true,{"title":99,"description":823},"docs\u002Freference\u002Ferrors-and-exit-codes","4_NMS_keGpM6T54PKN7wcWmUl0WngSgumxrnS7QT6qc",1794512546199]