[{"data":1,"prerenderedAt":999},["ShallowReactive",2],{"navigation_docs":3,"-guide-invoke":104,"-guide-invoke-surround":994},[4,48],{"title":5,"path":6,"stem":7,"children":8,"icon":47},"Guide","\u002Fguide","1.guide\u002F01.index",[9,11,15,19,23,27,31,35,39,43],{"title":10,"path":6,"stem":7},"Getting Started",{"title":12,"path":13,"stem":14},"Registry and paths","\u002Fguide\u002Fregistry","1.guide\u002F02.registry",{"title":16,"path":17,"stem":18},"Running another harness","\u002Fguide\u002Finvoke","1.guide\u002F03.invoke",{"title":20,"path":21,"stem":22},"MCP servers","\u002Fguide\u002Fmcp-servers","1.guide\u002F04.mcp-servers",{"title":24,"path":25,"stem":26},"Instructions files","\u002Fguide\u002Fagents-sync","1.guide\u002F05.agents-sync",{"title":28,"path":29,"stem":30},"CLI","\u002Fguide\u002Fcli","1.guide\u002F06.cli",{"title":32,"path":33,"stem":34},"Agents","\u002Fguide\u002Fagents","1.guide\u002F07.agents",{"title":36,"path":37,"stem":38},"Sessions","\u002Fguide\u002Fsessions","1.guide\u002F08.sessions",{"title":40,"path":41,"stem":42},"Custom harnesses","\u002Fguide\u002Fcustom","1.guide\u002F09.custom",{"title":44,"path":45,"stem":46},"Explorer","\u002Fguide\u002Fexplorer","1.guide\u002F10.explorer","i-solar-book-2-linear",{"title":49,"path":50,"stem":51,"children":52,"icon":103},"Harnesses","\u002Fharnesses","2.harnesses\u002F00.index",[53,55,59,63,67,71,75,79,83,87,91,95,99],{"title":54,"path":50,"stem":51},"Overview",{"title":56,"path":57,"stem":58},"Claude Code","\u002Fharnesses\u002Fclaude","2.harnesses\u002F01.claude",{"title":60,"path":61,"stem":62},"Codex CLI","\u002Fharnesses\u002Fcodex","2.harnesses\u002F02.codex",{"title":64,"path":65,"stem":66},"Gemini CLI","\u002Fharnesses\u002Fgemini","2.harnesses\u002F03.gemini",{"title":68,"path":69,"stem":70},"Antigravity CLI","\u002Fharnesses\u002Fantigravity","2.harnesses\u002F04.antigravity",{"title":72,"path":73,"stem":74},"Grok CLI","\u002Fharnesses\u002Fgrok","2.harnesses\u002F05.grok",{"title":76,"path":77,"stem":78},"OpenCode","\u002Fharnesses\u002Fopencode","2.harnesses\u002F06.opencode",{"title":80,"path":81,"stem":82},"Pi","\u002Fharnesses\u002Fpi","2.harnesses\u002F07.pi",{"title":84,"path":85,"stem":86},"OMP","\u002Fharnesses\u002Fomp","2.harnesses\u002F08.omp",{"title":88,"path":89,"stem":90},"Cursor","\u002Fharnesses\u002Fcursor","2.harnesses\u002F09.cursor",{"title":92,"path":93,"stem":94},"GitHub Copilot","\u002Fharnesses\u002Fgithub-copilot","2.harnesses\u002F10.github-copilot",{"title":96,"path":97,"stem":98},"Mastra Code","\u002Fharnesses\u002Fmastracode","2.harnesses\u002F11.mastracode",{"title":100,"path":101,"stem":102},"Freebuff","\u002Fharnesses\u002Ffreebuff","2.harnesses\u002F12.freebuff","i-solar-library-linear",{"id":105,"title":16,"body":106,"description":987,"extension":988,"links":989,"meta":990,"navigation":166,"path":17,"seo":992,"stem":18,"__hash__":993},"docs\u002F1.guide\u002F03.invoke.md",{"type":107,"value":108,"toc":980},"minimark",[109,113,340,361,365,375,487,496,504,523,527,663,680,684,702,724,739,848,851,855,970,976],[110,111,112],"h2",{"id":112},"invoke",[114,115,120],"pre",{"className":116,"code":117,"language":118,"meta":119,"style":119},"language-ts shiki shiki-themes github-light github-light poimandres","import { getHarness } from \"@agntn\u002Fharnesses\";\n\nconst codex = getHarness(\"codex\");\n\nconst result = await codex.invoke(\"Review this patch for races\", {\n  readOnly: true,\n  timeoutMs: 60_000,\n});\n\nresult.command; \u002F\u002F \"codex\"\nresult.args; \u002F\u002F [\"exec\", \"--skip-git-repo-check\", \"--sandbox\", \"read-only\", \"Review this patch for races\"]\nresult.stdout; \u002F\u002F whatever Codex printed\nresult.exitCode; \u002F\u002F number, or null when stopped by a timeout or a signal\n","ts","",[121,122,123,161,168,198,203,237,253,266,272,277,295,310,325],"code",{"__ignoreMap":119},[124,125,128,132,136,140,143,147,151,155,158],"span",{"class":126,"line":127},"line",1,[124,129,131],{"class":130},"sP0CR","import",[124,133,135],{"class":134},"sKlNE"," {",[124,137,139],{"class":138},"snHMy"," getHarness",[124,141,142],{"class":134}," }",[124,144,146],{"class":145},"stCPd"," from",[124,148,150],{"class":149},"scVjq"," \"",[124,152,154],{"class":153},"sQ7BG","@agntn\u002Fharnesses",[124,156,157],{"class":149},"\"",[124,159,160],{"class":134},";\n",[124,162,164],{"class":126,"line":163},2,[124,165,167],{"emptyLinePlaceholder":166},true,"\n",[124,169,171,175,179,182,185,188,190,193,195],{"class":126,"line":170},3,[124,172,174],{"class":173},"s1TYA","const",[124,176,178],{"class":177},"saoiD"," codex",[124,180,181],{"class":173}," =",[124,183,139],{"class":184},"sULi6",[124,186,187],{"class":134},"(",[124,189,157],{"class":149},[124,191,192],{"class":153},"codex",[124,194,157],{"class":149},[124,196,197],{"class":134},");\n",[124,199,201],{"class":126,"line":200},4,[124,202,167],{"emptyLinePlaceholder":166},[124,204,206,208,211,213,217,220,223,225,227,229,232,234],{"class":126,"line":205},5,[124,207,174],{"class":173},[124,209,210],{"class":177}," result",[124,212,181],{"class":173},[124,214,216],{"class":215},"sZW6a"," await",[124,218,178],{"class":219},"spVlQ",[124,221,222],{"class":134},".",[124,224,112],{"class":184},[124,226,187],{"class":134},[124,228,157],{"class":149},[124,230,231],{"class":153},"Review this patch for races",[124,233,157],{"class":149},[124,235,236],{"class":134},", {\n",[124,238,240,243,246,250],{"class":126,"line":239},6,[124,241,242],{"class":138},"  readOnly",[124,244,245],{"class":134},":",[124,247,249],{"class":248},"siHFe"," true",[124,251,252],{"class":134},",\n",[124,254,256,259,261,264],{"class":126,"line":255},7,[124,257,258],{"class":138},"  timeoutMs",[124,260,245],{"class":134},[124,262,263],{"class":248}," 60_000",[124,265,252],{"class":134},[124,267,269],{"class":126,"line":268},8,[124,270,271],{"class":134},"});\n",[124,273,275],{"class":126,"line":274},9,[124,276,167],{"emptyLinePlaceholder":166},[124,278,280,283,285,288,291],{"class":126,"line":279},10,[124,281,282],{"class":219},"result",[124,284,222],{"class":134},[124,286,287],{"class":219},"command",[124,289,290],{"class":134},"; ",[124,292,294],{"class":293},"sjhu3","\u002F\u002F \"codex\"\n",[124,296,298,300,302,305,307],{"class":126,"line":297},11,[124,299,282],{"class":219},[124,301,222],{"class":134},[124,303,304],{"class":219},"args",[124,306,290],{"class":134},[124,308,309],{"class":293},"\u002F\u002F [\"exec\", \"--skip-git-repo-check\", \"--sandbox\", \"read-only\", \"Review this patch for races\"]\n",[124,311,313,315,317,320,322],{"class":126,"line":312},12,[124,314,282],{"class":219},[124,316,222],{"class":134},[124,318,319],{"class":219},"stdout",[124,321,290],{"class":134},[124,323,324],{"class":293},"\u002F\u002F whatever Codex printed\n",[124,326,328,330,332,335,337],{"class":126,"line":327},13,[124,329,282],{"class":219},[124,331,222],{"class":134},[124,333,334],{"class":219},"exitCode",[124,336,290],{"class":134},[124,338,339],{"class":293},"\u002F\u002F number, or null when stopped by a timeout or a signal\n",[341,342,343,345,346,349,350,353,354,357,358,222],"p",{},[121,344,112],{}," expands the harness's argument template, spawns the binary with ",[121,347,348],{},"stdio"," piped, and resolves with the captured output. An exit code other than zero is a result, not an exception. It does throw when the requested mode has no template, before anything is spawned. ",[121,351,352],{},"buildInvocation(prompt, options)"," gives you the command without running it, ",[121,355,356],{},"invocationError(options)"," the reason it would be rejected, or ",[121,359,360],{},"null",[110,362,364],{"id":363},"modes","Modes",[341,366,367,370,371,374],{},[121,368,369],{},"tools"," defaults to ",[121,372,373],{},"false",". That gives an advisor: the harness with its tools removed by a native CLI flag, so the model can only answer. It is not an agent told to behave by prompt wording.",[376,377,378,394],"table",{},[379,380,381],"thead",{},[382,383,384,388,391],"tr",{},[385,386,387],"th",{},"Option set",[385,389,390],{},"Mode",[385,392,393],{},"Needs",[395,396,397,413,428,443,458,472],"tbody",{},[382,398,399,405,408],{},[400,401,402],"td",{},[121,403,404],{},"{}",[400,406,407],{},"advisor",[400,409,410],{},[121,411,412],{},"noToolsArgs",[382,414,415,420,423],{},[400,416,417],{},[121,418,419],{},"{ structured: true }",[400,421,422],{},"advisor, JSON output",[400,424,425],{},[121,426,427],{},"noToolsJsonArgs",[382,429,430,435,438],{},[400,431,432],{},[121,433,434],{},"{ readOnly: true }",[400,436,437],{},"full agent in a native read-only sandbox",[400,439,440],{},[121,441,442],{},"readOnlyArgs",[382,444,445,450,453],{},[400,446,447],{},[121,448,449],{},"{ readOnly: true, structured: true }",[400,451,452],{},"same, JSON output",[400,454,455],{},[121,456,457],{},"readOnlyJsonArgs",[382,459,460,465,468],{},[400,461,462],{},[121,463,464],{},"{ tools: true }",[400,466,467],{},"full agent",[400,469,470],{},[121,471,304],{},[382,473,474,479,482],{},[400,475,476],{},[121,477,478],{},"{ tools: true, structured: true }",[400,480,481],{},"full agent, JSON output",[400,483,484],{},[121,485,486],{},"jsonArgs",[341,488,489,492,493,495],{},[121,490,491],{},"readOnly"," implies ",[121,494,369],{},". A harness that lacks the template for the requested mode rejects the call and says which retry would work:",[114,497,502],{"className":498,"code":500,"language":501},[499],"language-text","Harness claude has no read-only full agent invocation\nHarness codex has no advisor without tools invocation; retry with tools: true to start its full agent\n","text",[121,503,500],{"__ignoreMap":119},[341,505,506,507,510,511,514,515,518,519,522],{},"Codex has no advisor because ",[121,508,509],{},"codex exec"," cannot switch its tools off. OMP has ",[121,512,513],{},"--no-tools",", but it only disables the bundled tools, so it doesn't count either. Claude's ",[121,516,517],{},"--tools \"\""," does. ",[121,520,521],{},"harness.invocationModes"," tells you the six booleans up front, and every harness page lists its templates. Nothing falls back to a wider mode, ever.",[110,524,526],{"id":525},"models","Models",[114,528,530],{"className":116,"code":529,"language":118,"meta":119,"style":119},"const pi = getHarness(\"pi\");\nconst { models } = await pi.listModels({ search: \"gpt-5.4\" });\nmodels[0]; \u002F\u002F { provider: \"openai-codex\", id: \"gpt-5.4\", contextWindow, maxOutputTokens, thinking, images }\n\nawait pi.invoke(\"Review this patch\", { model: \"openai-codex\u002Fgpt-5.4\", readOnly: true });\n",[121,531,532,554,596,612,616],{"__ignoreMap":119},[124,533,534,536,539,541,543,545,547,550,552],{"class":126,"line":127},[124,535,174],{"class":173},[124,537,538],{"class":177}," pi",[124,540,181],{"class":173},[124,542,139],{"class":184},[124,544,187],{"class":134},[124,546,157],{"class":149},[124,548,549],{"class":153},"pi",[124,551,157],{"class":149},[124,553,197],{"class":134},[124,555,556,558,561,563,566,569,571,573,575,578,581,584,586,588,591,593],{"class":126,"line":163},[124,557,174],{"class":173},[124,559,560],{"class":134}," { ",[124,562,525],{"class":177},[124,564,565],{"class":134}," } ",[124,567,568],{"class":173},"=",[124,570,216],{"class":215},[124,572,538],{"class":219},[124,574,222],{"class":134},[124,576,577],{"class":184},"listModels",[124,579,580],{"class":134},"({",[124,582,583],{"class":138}," search",[124,585,245],{"class":134},[124,587,150],{"class":149},[124,589,590],{"class":153},"gpt-5.4",[124,592,157],{"class":149},[124,594,595],{"class":134}," });\n",[124,597,598,600,603,606,609],{"class":126,"line":170},[124,599,525],{"class":219},[124,601,602],{"class":134},"[",[124,604,605],{"class":248},"0",[124,607,608],{"class":134},"]; ",[124,610,611],{"class":293},"\u002F\u002F { provider: \"openai-codex\", id: \"gpt-5.4\", contextWindow, maxOutputTokens, thinking, images }\n",[124,613,614],{"class":126,"line":200},[124,615,167],{"emptyLinePlaceholder":166},[124,617,618,621,623,625,627,629,631,634,636,639,642,644,646,649,651,654,657,659,661],{"class":126,"line":205},[124,619,620],{"class":215},"await",[124,622,538],{"class":219},[124,624,222],{"class":134},[124,626,112],{"class":184},[124,628,187],{"class":134},[124,630,157],{"class":149},[124,632,633],{"class":153},"Review this patch",[124,635,157],{"class":149},[124,637,638],{"class":134},", {",[124,640,641],{"class":138}," model",[124,643,245],{"class":134},[124,645,150],{"class":149},[124,647,648],{"class":153},"openai-codex\u002Fgpt-5.4",[124,650,157],{"class":149},[124,652,653],{"class":134},",",[124,655,656],{"class":138}," readOnly",[124,658,245],{"class":134},[124,660,249],{"class":248},[124,662,595],{"class":134},[341,664,665,668,669,672,673,675,676,679],{},[121,666,667],{},"model"," appends the harness's ",[121,670,671],{},"modelArgs","; a harness without them rejects the option. ",[121,674,577],{}," runs the native listing command and normalizes its output; Pi is the one harness that has it today, and it only lists providers with configured authentication. A harness without ",[121,677,678],{},"modelListing"," rejects the call the same way.",[110,681,683],{"id":682},"timeouts-and-cancellation","Timeouts and cancellation",[341,685,686,689,690,693,694,689,696,698,699,701],{},[121,687,688],{},"timeoutMs"," and ",[121,691,692],{},"signal"," work the same on ",[121,695,112],{},[121,697,577],{},". Unset or ",[121,700,605],{}," means no deadline. An already aborted signal skips the spawn. Otherwise the first of cancellation or deadline starts cleanup:",[703,704,705,717],"ul",{},[706,707,708,709,712,713,716],"li",{},"Linux and macOS: the child runs in its own process group; ",[121,710,711],{},"SIGTERM"," to the group, then ",[121,714,715],{},"SIGKILL"," 500 ms later, even if the root already exited.",[706,718,719,720,723],{},"Windows: ",[121,721,722],{},"taskkill \u002FT \u002FF"," at once, with a 2 s budget for that command.",[341,725,726,727,730,731,734,735,738],{},"A stopped result keeps the output captured so far and has ",[121,728,729],{},"exitCode: null",". ",[121,732,733],{},"aborted"," is true when your signal won, ",[121,736,737],{},"timedOut"," when the deadline did; the first reason wins and later aborts do nothing. Cleanup failures reject the promise.",[114,740,742],{"className":116,"code":741,"language":118,"meta":119,"style":119},"const controller = new AbortController();\nconst pending = pi.invoke(\"Review this change\", { tools: true, readOnly: true, signal: controller.signal });\ncontroller.abort();\n(await pending).aborted; \u002F\u002F true\n",[121,743,744,762,818,830],{"__ignoreMap":119},[124,745,746,748,751,753,756,759],{"class":126,"line":127},[124,747,174],{"class":173},[124,749,750],{"class":177}," controller",[124,752,181],{"class":173},[124,754,755],{"class":130}," new",[124,757,758],{"class":184}," AbortController",[124,760,761],{"class":134},"();\n",[124,763,764,766,769,771,773,775,777,779,781,784,786,788,791,793,795,797,799,801,803,805,808,810,812,814,816],{"class":126,"line":163},[124,765,174],{"class":173},[124,767,768],{"class":177}," pending",[124,770,181],{"class":173},[124,772,538],{"class":219},[124,774,222],{"class":134},[124,776,112],{"class":184},[124,778,187],{"class":134},[124,780,157],{"class":149},[124,782,783],{"class":153},"Review this change",[124,785,157],{"class":149},[124,787,638],{"class":134},[124,789,790],{"class":138}," tools",[124,792,245],{"class":134},[124,794,249],{"class":248},[124,796,653],{"class":134},[124,798,656],{"class":138},[124,800,245],{"class":134},[124,802,249],{"class":248},[124,804,653],{"class":134},[124,806,807],{"class":138}," signal",[124,809,245],{"class":134},[124,811,750],{"class":219},[124,813,222],{"class":134},[124,815,692],{"class":219},[124,817,595],{"class":134},[124,819,820,823,825,828],{"class":126,"line":170},[124,821,822],{"class":219},"controller",[124,824,222],{"class":134},[124,826,827],{"class":184},"abort",[124,829,761],{"class":134},[124,831,832,834,836,838,841,843,845],{"class":126,"line":200},[124,833,187],{"class":134},[124,835,620],{"class":215},[124,837,768],{"class":219},[124,839,840],{"class":134},").",[124,842,733],{"class":219},[124,844,290],{"class":134},[124,846,847],{"class":293},"\u002F\u002F true\n",[341,849,850],{},"This is command cleanup, not a sandbox. A descendant that leaves the process group, or outlives an already exited root on Windows, is out of reach. Output pipes inherited by such a descendant do not extend the wait.",[110,852,854],{"id":853},"in-the-cli","In the CLI",[114,856,860],{"className":857,"code":858,"language":859,"meta":119,"style":119},"language-bash shiki shiki-themes github-light github-light poimandres","harnesses run claude \"review this design\"                 # advisor\nharnesses run pi --model openai-codex\u002Fgpt-5.4 \"review\"   # advisor, chosen model\nharnesses run codex --read-only \"review this\"            # native read-only sandbox\nharnesses run claude --tools --json \"fix lint\"           # full agent, structured output\nharnesses models pi gpt-5.4 --json\n","bash",[121,861,862,885,910,931,955],{"__ignoreMap":119},[124,863,864,868,872,875,877,880,882],{"class":126,"line":127},[124,865,867],{"class":866},"sseY5","harnesses",[124,869,871],{"class":870},"sX7Zv"," run",[124,873,874],{"class":870}," claude",[124,876,150],{"class":149},[124,878,879],{"class":153},"review this design",[124,881,157],{"class":149},[124,883,884],{"class":293},"                 # advisor\n",[124,886,887,889,891,893,897,900,902,905,907],{"class":126,"line":163},[124,888,867],{"class":866},[124,890,871],{"class":870},[124,892,538],{"class":870},[124,894,896],{"class":895},"sqT1Y"," --model",[124,898,899],{"class":870}," openai-codex\u002Fgpt-5.4",[124,901,150],{"class":149},[124,903,904],{"class":153},"review",[124,906,157],{"class":149},[124,908,909],{"class":293},"   # advisor, chosen model\n",[124,911,912,914,916,918,921,923,926,928],{"class":126,"line":170},[124,913,867],{"class":866},[124,915,871],{"class":870},[124,917,178],{"class":870},[124,919,920],{"class":895}," --read-only",[124,922,150],{"class":149},[124,924,925],{"class":153},"review this",[124,927,157],{"class":149},[124,929,930],{"class":293},"            # native read-only sandbox\n",[124,932,933,935,937,939,942,945,947,950,952],{"class":126,"line":200},[124,934,867],{"class":866},[124,936,871],{"class":870},[124,938,874],{"class":870},[124,940,941],{"class":895}," --tools",[124,943,944],{"class":895}," --json",[124,946,150],{"class":149},[124,948,949],{"class":153},"fix lint",[124,951,157],{"class":149},[124,953,954],{"class":293},"           # full agent, structured output\n",[124,956,957,959,962,964,967],{"class":126,"line":205},[124,958,867],{"class":866},[124,960,961],{"class":870}," models",[124,963,538],{"class":870},[124,965,966],{"class":870}," gpt-5.4",[124,968,969],{"class":895}," --json\n",[341,971,972,975],{},[121,973,974],{},"--timeout"," is in seconds. A timed out run exits 124, otherwise the harness's own exit code passes through.",[977,978,979],"style",{},"html pre.shiki code .sP0CR, html code.shiki .sP0CR{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7}html pre.shiki code .sKlNE, html code.shiki .sKlNE{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#A6ACCD}html pre.shiki code .snHMy, html code.shiki .snHMy{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#ADD7FF}html pre.shiki code .stCPd, html code.shiki .stCPd{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#A6ACCD}html pre.shiki code .scVjq, html code.shiki .scVjq{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#A6ACCD}html pre.shiki code .sQ7BG, html code.shiki .sQ7BG{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#5DE4C7}html pre.shiki code .s1TYA, html code.shiki .s1TYA{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#91B4D5}html pre.shiki code .saoiD, html code.shiki .saoiD{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#E4F0FB}html pre.shiki code .sULi6, html code.shiki .sULi6{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#E4F0FBD0}html pre.shiki code .sZW6a, html code.shiki .sZW6a{--shiki-light:#D73A49;--shiki-default:#D73A49;--shiki-dark:#5DE4C7C0}html pre.shiki code .spVlQ, html code.shiki .spVlQ{--shiki-light:#24292E;--shiki-default:#24292E;--shiki-dark:#E4F0FB}html pre.shiki code .siHFe, html code.shiki .siHFe{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#5DE4C7}html pre.shiki code .sjhu3, html code.shiki .sjhu3{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#767C9DB0;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sseY5, html code.shiki .sseY5{--shiki-light:#6F42C1;--shiki-default:#6F42C1;--shiki-dark:#91B4D5}html pre.shiki code .sX7Zv, html code.shiki .sX7Zv{--shiki-light:#032F62;--shiki-default:#032F62;--shiki-dark:#ADD7FF}html pre.shiki code .sqT1Y, html code.shiki .sqT1Y{--shiki-light:#005CC5;--shiki-default:#005CC5;--shiki-dark:#ADD7FF}",{"title":119,"searchDepth":163,"depth":163,"links":981},[982,983,984,985,986],{"id":112,"depth":163,"text":112},{"id":363,"depth":163,"text":364},{"id":525,"depth":163,"text":526},{"id":682,"depth":163,"text":683},{"id":853,"depth":163,"text":854},"One invoke call, six modes without fallback, timeouts that clean up the whole process group, native model listing.","md",null,{"icon":991},"i-solar-play-circle-linear",{"title":16,"description":987},"IblenztVmVmv5tGfr0WyMGsYDru_YtE542JFwCgQ--g",[995,997],{"title":12,"path":13,"stem":14,"description":996,"children":-1},"How resolve expands a template, what a platform tag hides, and why some paths carry a note.",{"title":20,"path":21,"stem":22,"description":998,"children":-1},"Read every harness's MCP list in one shape, edit one entry, or reset them all to a master file.",1788622197937]