[{"data":1,"prerenderedAt":1147},["ShallowReactive",2],{"navigation_docs":3,"-troubleshooting-sandbox-and-kit-stops":504,"-troubleshooting-sandbox-and-kit-stops-surround":1142},[4,28,51,187,214,469],{"title":5,"path":6,"stem":7,"children":8},"Get started","\u002Fget-started","1.get-started",[9,12,16,20,24],{"title":10,"path":6,"stem":11},"Overview","1.get-started\u002Findex",{"title":13,"path":14,"stem":15},"Why Kraft","\u002Fget-started\u002Fwhy-kraft","1.get-started\u002F0.why-kraft",{"title":17,"path":18,"stem":19},"Install","\u002Fget-started\u002Finstall","1.get-started\u002F1.install",{"title":21,"path":22,"stem":23},"Your first work item","\u002Fget-started\u002Ffirst-work-item","1.get-started\u002F2.first-work-item",{"title":25,"path":26,"stem":27},"FAQ","\u002Fget-started\u002Ffaq","1.get-started\u002F3.faq",{"title":29,"path":30,"stem":31,"children":32},"Concepts","\u002Fconcepts","2.concepts",[33,35,39,43,47],{"title":10,"path":30,"stem":34},"2.concepts\u002Findex",{"title":36,"path":37,"stem":38},"How a work item runs","\u002Fconcepts\u002Fhow-a-work-item-runs","2.concepts\u002F1.how-a-work-item-runs",{"title":40,"path":41,"stem":42},"Caps and budgets","\u002Fconcepts\u002Fcaps-and-budgets","2.concepts\u002F2.caps-and-budgets",{"title":44,"path":45,"stem":46},"Why a permission gate","\u002Fconcepts\u002Fpermission-gate","2.concepts\u002F3.permission-gate",{"title":48,"path":49,"stem":50},"Vocabulary","\u002Fconcepts\u002Fvocabulary","2.concepts\u002F4.vocabulary",{"title":52,"path":53,"stem":54,"children":55},"Guides","\u002Fguides","3.guides",[56,58,96,113,134,183],{"title":10,"path":53,"stem":57},"3.guides\u002Findex",{"title":59,"path":60,"stem":61,"children":62,"page":95},"Day to day","\u002Fguides\u002Fday-to-day","3.guides\u002F1.day-to-day",[63,67,71,75,79,83,87,91],{"title":64,"path":65,"stem":66},"The setup wizard on first start","\u002Fguides\u002Fday-to-day\u002Ffirst-run","3.guides\u002F1.day-to-day\u002F2.first-run",{"title":68,"path":69,"stem":70},"File a work item","\u002Fguides\u002Fday-to-day\u002Ffile-a-work-item","3.guides\u002F1.day-to-day\u002F3.file-a-work-item",{"title":72,"path":73,"stem":74},"Use Kraft from your agent","\u002Fguides\u002Fday-to-day\u002Fagent-integration","3.guides\u002F1.day-to-day\u002F4.agent-integration",{"title":76,"path":77,"stem":78},"Reviewing a change","\u002Fguides\u002Fday-to-day\u002Freview-a-change","3.guides\u002F1.day-to-day\u002F5.review-a-change",{"title":80,"path":81,"stem":82},"Raise a cap on a stopped item","\u002Fguides\u002Fday-to-day\u002Fraise-a-cap","3.guides\u002F1.day-to-day\u002F6.raise-a-cap",{"title":84,"path":85,"stem":86},"Kraft for VS Code","\u002Fguides\u002Fday-to-day\u002Fvscode","3.guides\u002F1.day-to-day\u002F7.vscode",{"title":88,"path":89,"stem":90},"Kraft on a phone","\u002Fguides\u002Fday-to-day\u002Fkraft-on-a-phone","3.guides\u002F1.day-to-day\u002F8.kraft-on-a-phone",{"title":92,"path":93,"stem":94},"Get notified when an item needs you","\u002Fguides\u002Fday-to-day\u002Fnotifications","3.guides\u002F1.day-to-day\u002F9.notifications",false,{"title":97,"path":98,"stem":99,"children":100,"page":95},"Customize and automate","\u002Fguides\u002Fcustomize","3.guides\u002F2.customize",[101,105,109],{"title":102,"path":103,"stem":104},"Write your own chain","\u002Fguides\u002Fcustomize\u002Fwrite-your-own-chain","3.guides\u002F2.customize\u002F1.write-your-own-chain",{"title":106,"path":107,"stem":108},"Add a security review or a gate reviewer","\u002Fguides\u002Fcustomize\u002Fadd-review-agents","3.guides\u002F2.customize\u002F2.add-review-agents",{"title":110,"path":111,"stem":112},"Schedule or webhook work","\u002Fguides\u002Fcustomize\u002Fschedule-and-webhook-work","3.guides\u002F2.customize\u002F3.schedule-and-webhook-work",{"title":114,"path":115,"stem":116,"children":117,"page":95},"Agents and harnesses","\u002Fguides\u002Fharnesses","3.guides\u002F3.harnesses",[118,122,126,130],{"title":119,"path":120,"stem":121},"Switch a task to another harness","\u002Fguides\u002Fharnesses\u002Fswitch-harness","3.guides\u002F3.harnesses\u002F1.switch-harness",{"title":123,"path":124,"stem":125},"Add or override a harness","\u002Fguides\u002Fharnesses\u002Fadding-a-harness","3.guides\u002F3.harnesses\u002F2.adding-a-harness",{"title":127,"path":128,"stem":129},"Build a worker Kit","\u002Fguides\u002Fharnesses\u002Fworker-kit","3.guides\u002F3.harnesses\u002F3.worker-kit",{"title":131,"path":132,"stem":133},"Give a worker its login","\u002Fguides\u002Fharnesses\u002Fgive-a-worker-its-login","3.guides\u002F3.harnesses\u002F4.give-a-worker-its-login",{"title":135,"path":136,"stem":137,"children":138,"page":95},"Run the server","\u002Fguides\u002Frun","3.guides\u002F4.run",[139,143,147,151,155,159,163,167,171,175,179],{"title":140,"path":141,"stem":142},"Remote access","\u002Fguides\u002Frun\u002Fremote-access","3.guides\u002F4.run\u002F01.remote-access",{"title":144,"path":145,"stem":146},"Put a proxy in front of Kraft","\u002Fguides\u002Frun\u002Fput-a-proxy-in-front-of-kraft","3.guides\u002F4.run\u002F02.put-a-proxy-in-front-of-kraft",{"title":148,"path":149,"stem":150},"Restart Kraft without ending running agents","\u002Fguides\u002Frun\u002Frestart-kraft","3.guides\u002F4.run\u002F03.restart-kraft",{"title":152,"path":153,"stem":154},"Back up and restore the database","\u002Fguides\u002Frun\u002Fback-up-and-restore","3.guides\u002F4.run\u002F04.back-up-and-restore",{"title":156,"path":157,"stem":158},"Logs and disk space","\u002Fguides\u002Frun\u002Flogs-and-disk-space","3.guides\u002F4.run\u002F05.logs-and-disk-space",{"title":160,"path":161,"stem":162},"Run Kraft as a service","\u002Fguides\u002Frun\u002Frun-as-a-service","3.guides\u002F4.run\u002F06.run-as-a-service",{"title":164,"path":165,"stem":166},"Upgrade Kraft","\u002Fguides\u002Frun\u002Fupgrade-kraft","3.guides\u002F4.run\u002F07.upgrade-kraft",{"title":168,"path":169,"stem":170},"Upgrade your configuration","\u002Fguides\u002Frun\u002Fupgrade-your-configuration","3.guides\u002F4.run\u002F08.upgrade-your-configuration",{"title":172,"path":173,"stem":174},"Upgrade from 1.4","\u002Fguides\u002Frun\u002Fupgrade-from-1-4","3.guides\u002F4.run\u002F09.upgrade-from-1-4",{"title":176,"path":177,"stem":178},"Upgrade from 0.x or a release candidate","\u002Fguides\u002Frun\u002Fupgrade-from-0-x-or-a-release-candidate","3.guides\u002F4.run\u002F10.upgrade-from-0-x-or-a-release-candidate",{"title":180,"path":181,"stem":182},"Roll back to 1.4","\u002Fguides\u002Frun\u002Froll-back","3.guides\u002F4.run\u002F11.roll-back",{"title":184,"path":185,"stem":186},"Kraft Lite","\u002Fguides\u002Fkraft-lite","3.guides\u002F5.kraft-lite",{"title":188,"path":189,"stem":190,"children":191},"Troubleshooting","\u002Ftroubleshooting","4.troubleshooting",[192,194,198,202,206,210],{"title":10,"path":189,"stem":193},"4.troubleshooting\u002Findex",{"title":195,"path":196,"stem":197},"Why did my item stop?","\u002Ftroubleshooting\u002Fwhy-did-my-item-stop","4.troubleshooting\u002F1.why-did-my-item-stop",{"title":199,"path":200,"stem":201},"Stop reasons in detail","\u002Ftroubleshooting\u002Fstop-reasons-in-detail","4.troubleshooting\u002F2.stop-reasons-in-detail",{"title":203,"path":204,"stem":205},"Starting and reaching Kraft","\u002Ftroubleshooting\u002Fstarting-and-reaching-kraft","4.troubleshooting\u002F3.starting-and-reaching-kraft",{"title":207,"path":208,"stem":209},"Doctor failures","\u002Ftroubleshooting\u002Fdoctor-failures","4.troubleshooting\u002F4.doctor-failures",{"title":211,"path":212,"stem":213},"Sandbox and Kit stops","\u002Ftroubleshooting\u002Fsandbox-and-kit-stops","4.troubleshooting\u002F5.sandbox-and-kit-stops",{"title":215,"path":216,"stem":217,"children":218},"Reference","\u002Freference","5.reference",[219,221,259,281,285,375,393,419,423,427,461,465],{"title":10,"path":216,"stem":220},"5.reference\u002Findex",{"title":222,"path":223,"stem":224,"children":225},"Web UI","\u002Freference\u002Fweb-ui","5.reference\u002F00.web-ui\u002Findex",[226,227,231,235,239,243,247,251,255],{"title":10,"path":223,"stem":224},{"title":228,"path":229,"stem":230},"Sidebar, search, and keyboard","\u002Freference\u002Fweb-ui\u002Fsidebar-search-and-keyboard","5.reference\u002F00.web-ui\u002F0.sidebar-search-and-keyboard",{"title":232,"path":233,"stem":234},"The board","\u002Freference\u002Fweb-ui\u002Fboard","5.reference\u002F00.web-ui\u002F1.board",{"title":236,"path":237,"stem":238},"An item's page","\u002Freference\u002Fweb-ui\u002Fitem-page","5.reference\u002F00.web-ui\u002F2.item-page",{"title":240,"path":241,"stem":242},"Fix loops and test scopes","\u002Freference\u002Fweb-ui\u002Ffix-loops-and-test-scopes","5.reference\u002F00.web-ui\u002F3.fix-loops-and-test-scopes",{"title":244,"path":245,"stem":246},"Config before an item starts","\u002Freference\u002Fweb-ui\u002Fconfig-before-start","5.reference\u002F00.web-ui\u002F4.config-before-start",{"title":248,"path":249,"stem":250},"The review page","\u002Freference\u002Fweb-ui\u002Freview-page","5.reference\u002F00.web-ui\u002F5.review-page",{"title":252,"path":253,"stem":254},"Templates and Settings","\u002Freference\u002Fweb-ui\u002Ftemplates-and-settings","5.reference\u002F00.web-ui\u002F6.templates-and-settings",{"title":256,"path":257,"stem":258},"Analytics","\u002Freference\u002Fweb-ui\u002Fanalytics","5.reference\u002F00.web-ui\u002F7.analytics",{"title":260,"path":261,"stem":262,"children":263},"CLI","\u002Freference\u002Fcli","5.reference\u002F01.cli\u002Findex",[264,265,269,273,277],{"title":10,"path":261,"stem":262},{"title":266,"path":267,"stem":268},"Item verbs","\u002Freference\u002Fcli\u002Fitem","5.reference\u002F01.cli\u002F2.item",{"title":270,"path":271,"stem":272},"View verbs","\u002Freference\u002Fcli\u002Fview","5.reference\u002F01.cli\u002F3.view",{"title":274,"path":275,"stem":276},"Repo verbs","\u002Freference\u002Fcli\u002Frepo","5.reference\u002F01.cli\u002F4.repo",{"title":278,"path":279,"stem":280},"Admin verbs","\u002Freference\u002Fcli\u002Fadmin","5.reference\u002F01.cli\u002F5.admin",{"title":282,"path":283,"stem":284},"Work item statuses","\u002Freference\u002Fstatuses","5.reference\u002F02.statuses",{"title":286,"path":287,"stem":288,"children":289},"Configuration","\u002Freference\u002Fconfiguration","5.reference\u002F03.configuration\u002Findex",[290,291,309,313,317,321,325,329,333,337,371],{"title":10,"path":287,"stem":288},{"title":292,"path":293,"stem":294,"children":295},"repos.yaml","\u002Freference\u002Fconfiguration\u002Frepos","5.reference\u002F03.configuration\u002F02.repos\u002Findex",[296,297,301,305],{"title":10,"path":293,"stem":294},{"title":298,"path":299,"stem":300},"How connect proposes commands","\u002Freference\u002Fconfiguration\u002Frepos\u002Fconnect-proposals","5.reference\u002F03.configuration\u002F02.repos\u002F1.connect-proposals",{"title":302,"path":303,"stem":304},"detectors.yaml","\u002Freference\u002Fconfiguration\u002Frepos\u002Fdetectors","5.reference\u002F03.configuration\u002F02.repos\u002F2.detectors",{"title":306,"path":307,"stem":308},"Workspaces","\u002Freference\u002Fconfiguration\u002Frepos\u002Fworkspaces","5.reference\u002F03.configuration\u002F02.repos\u002F3.workspaces",{"title":310,"path":311,"stem":312},"policy.yaml","\u002Freference\u002Fconfiguration\u002Fpolicy","5.reference\u002F03.configuration\u002F03.policy",{"title":314,"path":315,"stem":316},"Library and chains","\u002Freference\u002Fconfiguration\u002Flibrary-and-chains","5.reference\u002F03.configuration\u002F04.library-and-chains",{"title":318,"path":319,"stem":320},"harnesses.yaml","\u002Freference\u002Fconfiguration\u002Fharnesses-file","5.reference\u002F03.configuration\u002F05.harnesses-file",{"title":322,"path":323,"stem":324},"access.yaml","\u002Freference\u002Fconfiguration\u002Faccess","5.reference\u002F03.configuration\u002F06.access",{"title":326,"path":327,"stem":328},"intake.yaml","\u002Freference\u002Fconfiguration\u002Fintake","5.reference\u002F03.configuration\u002F07.intake",{"title":330,"path":331,"stem":332},"notify.yaml","\u002Freference\u002Fconfiguration\u002Fnotify","5.reference\u002F03.configuration\u002F08.notify",{"title":334,"path":335,"stem":336},"theme.yaml","\u002Freference\u002Fconfiguration\u002Ftheme","5.reference\u002F03.configuration\u002F09.theme",{"title":338,"path":339,"stem":340,"children":341},"Sandboxed workers","\u002Freference\u002Fconfiguration\u002Fsandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002Findex",[342,343,347,351,355,359,363,367],{"title":10,"path":339,"stem":340},{"title":344,"path":345,"stem":346},"Resource limits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fresource-limits","5.reference\u002F03.configuration\u002F10.sandbox\u002F1.resource-limits",{"title":348,"path":349,"stem":350},"Callbacks from a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcallbacks","5.reference\u002F03.configuration\u002F10.sandbox\u002F2.callbacks",{"title":352,"path":353,"stem":354},"Network policy","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fnetwork-policy","5.reference\u002F03.configuration\u002F10.sandbox\u002F3.network-policy",{"title":356,"path":357,"stem":358},"Credentials","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fcredentials","5.reference\u002F03.configuration\u002F10.sandbox\u002F4.credentials",{"title":360,"path":361,"stem":362},"Kits","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fkits","5.reference\u002F03.configuration\u002F10.sandbox\u002F5.kits",{"title":364,"path":365,"stem":366},"sandbox.yaml","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fsandbox-yaml","5.reference\u002F03.configuration\u002F10.sandbox\u002F6.sandbox-yaml",{"title":368,"path":369,"stem":370},"Git in a sandbox","\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fgit-in-a-sandbox","5.reference\u002F03.configuration\u002F10.sandbox\u002F7.git-in-a-sandbox",{"title":372,"path":373,"stem":374},"Environment variables","\u002Freference\u002Fconfiguration\u002Fenvironment-variables","5.reference\u002F03.configuration\u002F11.environment-variables",{"title":376,"path":377,"stem":378,"children":379},"Chain file keys","\u002Freference\u002Fchain-nodes","5.reference\u002F04.chain-nodes\u002Findex",[380,381,385,389],{"title":10,"path":377,"stem":378},{"title":382,"path":383,"stem":384},"Subprocess tasks","\u002Freference\u002Fchain-nodes\u002Fsubprocess-tasks","5.reference\u002F04.chain-nodes\u002F2.subprocess-tasks",{"title":386,"path":387,"stem":388},"Fix loop and judge","\u002Freference\u002Fchain-nodes\u002Ffix-loop","5.reference\u002F04.chain-nodes\u002F3.fix-loop",{"title":390,"path":391,"stem":392},"Result file","\u002Freference\u002Fchain-nodes\u002Fresult-file","5.reference\u002F04.chain-nodes\u002F4.result-file",{"title":394,"path":395,"stem":396,"children":397},"Agent harnesses","\u002Freference\u002Fharnesses","5.reference\u002F05.harnesses\u002Findex",[398,399,403,407,411,415],{"title":10,"path":395,"stem":396},{"title":400,"path":401,"stem":402},"Unattended runs","\u002Freference\u002Fharnesses\u002Funattended-runs","5.reference\u002F05.harnesses\u002F2.unattended-runs",{"title":404,"path":405,"stem":406},"Agent profiles","\u002Freference\u002Fharnesses\u002Fagent-profiles","5.reference\u002F05.harnesses\u002F3.agent-profiles",{"title":408,"path":409,"stem":410},"Harness definition files","\u002Freference\u002Fharnesses\u002Fharness-files","5.reference\u002F05.harnesses\u002F4.harness-files",{"title":412,"path":413,"stem":414},"Fallback and escalation","\u002Freference\u002Fharnesses\u002Ffallback-and-escalation","5.reference\u002F05.harnesses\u002F5.fallback-and-escalation",{"title":416,"path":417,"stem":418},"Cost reporting","\u002Freference\u002Fharnesses\u002Fcost-reporting","5.reference\u002F05.harnesses\u002F6.cost-reporting",{"title":420,"path":421,"stem":422},"Permission gate","\u002Freference\u002Fpermissions","5.reference\u002F06.permissions",{"title":424,"path":425,"stem":426},"Inbound triggers","\u002Freference\u002Ftriggers","5.reference\u002F07.triggers",{"title":428,"path":429,"stem":430,"children":431},"HTTP API","\u002Freference\u002Fhttp-api","5.reference\u002F08.http-api\u002Findex",[432,433,437,441,445,449,453,457],{"title":10,"path":429,"stem":430},{"title":434,"path":435,"stem":436},"Filing, reading and changing work items","\u002Freference\u002Fhttp-api\u002Fwork-items","5.reference\u002F08.http-api\u002F2.work-items",{"title":438,"path":439,"stem":440},"Gates, run control, ending and retry","\u002Freference\u002Fhttp-api\u002Fgates-run-control-and-ending","5.reference\u002F08.http-api\u002F3.gates-run-control-and-ending",{"title":442,"path":443,"stem":444},"The work item object","\u002Freference\u002Fhttp-api\u002Fwork-item-object","5.reference\u002F08.http-api\u002F4.work-item-object",{"title":446,"path":447,"stem":448},"Budget, events, diff and documents","\u002Freference\u002Fhttp-api\u002Fbudget-and-events","5.reference\u002F08.http-api\u002F5.budget-and-events",{"title":450,"path":451,"stem":452},"Repos, chains, harnesses and the server","\u002Freference\u002Fhttp-api\u002Frepos-chains-harnesses-and-server","5.reference\u002F08.http-api\u002F6.repos-chains-harnesses-and-server",{"title":454,"path":455,"stem":456},"Drafts","\u002Freference\u002Fhttp-api\u002Fdrafts","5.reference\u002F08.http-api\u002F7.drafts",{"title":458,"path":459,"stem":460},"Ops for each draft area","\u002Freference\u002Fhttp-api\u002Fdraft-ops","5.reference\u002F08.http-api\u002F8.draft-ops",{"title":462,"path":463,"stem":464},"MCP tools","\u002Freference\u002Fmcp-tools","5.reference\u002F09.mcp-tools",{"title":466,"path":467,"stem":468},"Events","\u002Freference\u002Fevents","5.reference\u002F10.events",{"title":470,"path":471,"stem":472,"children":473},"Security and project","\u002Fproject","6.project",[474,476,480,484,488,492,496,500],{"title":10,"path":471,"stem":475},"6.project\u002Findex",{"title":477,"path":478,"stem":479},"Security","\u002Fproject\u002Fsecurity","6.project\u002F1.security",{"title":481,"path":482,"stem":483},"Data and privacy","\u002Fproject\u002Fdata-and-privacy","6.project\u002F2.data-and-privacy",{"title":485,"path":486,"stem":487},"What's new in 2.0","\u002Fproject\u002Fwhats-new","6.project\u002F3.whats-new",{"title":489,"path":490,"stem":491},"Status and support","\u002Fproject\u002Fstatus-and-support","6.project\u002F4.status-and-support",{"title":493,"path":494,"stem":495},"Architecture","\u002Fproject\u002Farchitecture","6.project\u002F5.architecture",{"title":497,"path":498,"stem":499},"Source map","\u002Fproject\u002Fsource-map","6.project\u002F6.source-map",{"title":501,"path":502,"stem":503},"Contributing","\u002Fproject\u002Fcontributing","6.project\u002F7.contributing",{"id":505,"title":211,"body":506,"description":1135,"extension":1136,"links":1137,"meta":1138,"navigation":1139,"path":212,"seo":1140,"stem":213,"__hash__":1141},"docs\u002F4.troubleshooting\u002F5.sandbox-and-kit-stops.md",{"type":507,"value":508,"toc":1121},"minimark",[509,533,538,553,722,725,729,742,757,781,784,787,790,793,796,824,827,830,836,925,928,935,942,961,964,970,1084,1096,1100],[510,511,512,513,518,519,523,524,528,529,532],"p",{},"Start here when the reason a ",[514,515,517],"a",{"href":516},"\u002Fconcepts\u002Fvocabulary#work-item","work item"," stopped names the sandbox, a ",[514,520,522],{"href":521},"\u002Fconcepts\u002Fvocabulary#kit","Kit",", a ",[514,525,527],{"href":526},"\u002Fconcepts\u002Fvocabulary#workspace","workspace"," member, or a nested git repository in the worktree.\nEvery other stop reason is on ",[514,530,195],{"href":531},"\u002Ftroubleshooting\u002Fwhy-did-my-item-stop#find-your-reason",".",[534,535,537],"h2",{"id":536},"find-your-reason","Find your reason",[510,539,540,541,545,546,549,550,532],{},"The first column is the text Kraft shows, in the item's side panel, in ",[542,543,544],"code",{},"kraft view show ID"," and in the board's stop card. ",[542,547,548],{},"..."," stands for text that varies. A row either holds the whole fix, or links to an entry under ",[514,551,199],{"href":552},"#stop-reasons-in-detail",[554,555,556,572],"table",{},[557,558,559],"thead",{},[560,561,562,566,569],"tr",{},[563,564,565],"th",{},"The reason says",[563,567,568],{},"What happened",[563,570,571],{},"Fix",[573,574,575,605,632,654,670,687,706],"tbody",{},[560,576,577,583,598],{},[578,579,580],"td",{},[542,581,582],{},"this launch is sandboxed in \u003Crepo> with no `network:` policy, which leaves the worker's network unrestricted and gates not enforced; add a `network:` policy to the sandbox (\u003Caddress>), or, if you accept that, set `unrestricted_network: true` on it",[578,584,585,586,590,591,594,595,532],{},"The ",[514,587,589],{"href":588},"\u002Fconcepts\u002Fvocabulary#sandbox","sandbox"," has no ",[542,592,593],{},"network:"," policy and does not set ",[542,596,597],{},"unrestricted_network",[578,599,600,601,532],{},"See ",[514,602,604],{"href":603},"#a-sandbox-with-no-network-policy","A sandbox with no network policy",[560,606,607,616,621],{},[578,608,609,612,613],{},[542,610,611],{},"kraft: a process in the sandbox was killed by its memory limit (\u003Csize>)",", or ",[542,614,615],{},"... under its \u003Csize> memory limit (the runtime did not confirm it was the limit)",[578,617,585,618,620],{},[514,619,589],{"href":588},"'s memory limit killed the task. In the second form the runtime did not confirm it, but the container exited 137 under the limit and Kraft did not stop it.",[578,622,623,624,627,628,532],{},"Raise ",[542,625,626],{},"resources.memory"," in the sandbox policy, or make the task need less, then retry. See ",[514,629,631],{"href":630},"\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fresource-limits#out-of-memory","Out of memory",[560,633,634,642,648],{},[578,635,636,612,639],{},[542,637,638],{},"the Kit \u003Cref> cannot be used: ...",[542,640,641],{},"the Kit \u003Cref> has not been fetched here yet ...",[578,643,644,645,647],{},"The item's sandbox is a ",[514,646,522],{"href":361}," Kraft could not fetch, or will not run.",[578,649,600,650,532],{},[514,651,653],{"href":652},"#a-kit-is-refused","A Kit is refused",[560,655,656,661,664],{},[578,657,658],{},[542,659,660],{},"work item \u003Cid> runs sandboxed, and its workspace members \u003Cpaths> are not the checkouts Kraft made ...",[578,662,663],{},"A member of the item's worktree is not the checkout Kraft made from its connected repository.",[578,665,600,666,532],{},[514,667,669],{"href":668},"#sandboxed-workspace-members","Sandboxed workspace members",[560,671,672,678,681],{},[578,673,674,677],{},[542,675,676],{},"workspace member \u003Cpath> of \u003Cworktree> has no checkout Kraft made ...",", and four more like it",[578,679,680],{},"A sandboxed launch would have mounted a member Kraft could not check, so it did not start.",[578,682,600,683,532],{},[514,684,686],{"href":685},"#a-sandboxed-launch-would-not-mount-a-member","A sandboxed launch would not mount a member",[560,688,689,697,700],{},[578,690,691,612,694],{},[542,692,693],{},"... runs sandboxed, and no connected repository is known for \u003Cpaths> ...",[542,695,696],{},"member \u003Cpath> of \u003Cid>: ...",[578,698,699],{},"A member's repository is not connected, is missing, is not the top of a repository, or already has the item's branch.",[578,701,600,702,532],{},[514,703,705],{"href":704},"#a-members-repository-cannot-be-checked-out","A member's repository cannot be checked out",[560,707,708,713,716],{},[578,709,710],{},[542,711,712],{},"work item \u003Cid> runs sandboxed, and its worktree holds git repositories Kraft did not create: \u003Cpaths>. ...",[578,714,715],{},"The worktree of a sandboxed item holds a nested git repository, and Kraft runs no git there.",[578,717,600,718,532],{},[514,719,721],{"href":720},"#a-nested-repository-kraft-did-not-create","A nested repository Kraft did not create",[534,723,199],{"id":724},"stop-reasons-in-detail",[726,727,604],"h3",{"id":728},"a-sandbox-with-no-network-policy",[510,730,731,732,734,735,738,739,741],{},"Kraft refuses every launch into a sandbox that has neither ",[542,733,593],{}," nor ",[542,736,737],{},"unrestricted_network: true",", whatever the harness. Without ",[542,740,593],{},", Kraft sets up no channel and does not restrict the container's network, so nothing keeps the worker from reaching Kraft's API. The reason is, in full:",[743,744,750],"pre",{"className":745,"code":747,"language":748,"meta":749},[746],"language-text","\u003Ctask>: this launch is sandboxed in \u002Fhome\u002Fyou\u002Fcode\u002Fmy-service with no `network:` policy, which leaves the worker's network unrestricted and gates not enforced; add a `network:` policy to the sandbox (https:\u002F\u002Fitsomidkarami.github.io\u002Fkraft\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fnetwork-policy), or, if you accept that, set `unrestricted_network: true` on it\n","text","",[542,751,752],{"__ignoreMap":749},[753,754,747],"span",{"className":755},[756],"line",[510,758,759,760,762,763,766,767,769,770,772,773,776,777,532],{},"Either add a ",[542,761,593],{}," policy to the repository's ",[542,764,765],{},"sandbox:"," in ",[542,768,292],{},", or set ",[542,771,737],{}," there to accept an unrestricted network and gates that are not enforced. The two keys cannot be set together. Then ",[542,774,775],{},"kraft item retry ID",". See ",[514,778,780],{"href":779},"\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fnetwork-policy#without-a-network-policy","Without a network policy",[726,782,669],{"id":783},"sandboxed-workspace-members",[510,785,786],{},"A member of the item's worktree is not the checkout Kraft made from its connected repository. A sandboxed worker may have swapped it, or the item started before Kraft checked members out this way. Kraft stops because host git there would read config the worker can write.",[510,788,789],{},"Abandon the item and file it again, which checks each member out afresh.",[726,791,686],{"id":792},"a-sandboxed-launch-would-not-mount-a-member",[510,794,795],{},"A sandboxed launch would have mounted a member Kraft could not check against its connected repository, or reach without a symlink, so it did not start. The reason is one of:",[797,798,799,804,809,814,819],"ul",{},[800,801,802],"li",{},[542,803,676],{},[800,805,806],{},[542,807,808],{},"this sandboxed launch was not given the checkout of workspace members ...",[800,810,811],{},[542,812,813],{},"setup command for \u003Cid> cannot run: its sandbox was not given the checkout ...",[800,815,816],{},[542,817,818],{},"\u003Cpath> is not a directory; the member under it is not mounted",[800,820,821],{},[542,822,823],{},"... cannot be made in the sandbox's ref store ...",[510,825,826],{},"Retry. If the member's checkout changed, the check before the next task names it. If it recurs, report it as a bug.",[726,828,705],{"id":829},"a-members-repository-cannot-be-checked-out",[510,831,832,833,835],{},"A workspace member's repository must be connected, at the path ",[542,834,292],{}," gives, for Kraft to check it out. Each reason below names the member and the item.",[554,837,838,848],{},[557,839,840],{},[560,841,842,844,846],{},[563,843,565],{},[563,845,568],{},[563,847,571],{},[573,849,850,867,891,912],{},[560,851,852,857,860],{},[578,853,854],{},[542,855,856],{},"\u003Cid> runs sandboxed, and no connected repository is known for \u003Cpaths> ...",[578,858,859],{},"A member's repository is not connected, so Kraft has nowhere safe to check it out from.",[578,861,862,863,866],{},"Connect it with ",[542,864,865],{},"kraft repo connect PATH",", then retry.",[560,868,869,874,880],{},[578,870,871],{},[542,872,873],{},"member \u003Cpath> of \u003Cid>: the connected repository \u003Cpath> for \u003Cpath> is missing ...",[578,875,876,877,879],{},"The member's repository is no longer at the path ",[542,878,292],{}," gives.",[578,881,882,883,885,886,766,889,866],{},"Reconnect it (",[542,884,865],{},"), or fix its ",[542,887,888],{},"path",[542,890,292],{},[560,892,893,898,904],{},[578,894,895],{},[542,896,897],{},"member \u003Cpath> of \u003Cid>: the connected repository \u003Cpath> for \u003Cpath> is not the top of a git repository ...",[578,899,900,901,903],{},"The path ",[542,902,292],{}," gives is a directory inside some other repository, so git there would act on that one.",[578,905,906,907,766,909,911],{},"Fix the member's ",[542,908,888],{},[542,910,292],{}," to the repository's own top directory, then retry.",[560,913,914,919,922],{},[578,915,916],{},[542,917,918],{},"member \u003Cpath> of \u003Cid>: \u003Crepo> already has a branch \u003Cbranch> at \u003Csha>, not at \u003Csha> ...",[578,920,921],{},"The repository already has a branch with the item's name, somewhere other than the commit the root points at. Kraft will not check it out and replace what the root records.",[578,923,924],{},"Look at that branch in the member repository. Move it to the named commit or delete it, then retry.",[726,926,721],{"id":927},"a-nested-repository-kraft-did-not-create",[510,929,930,931,934],{},"The reason starts ",[542,932,933],{},"work item \u003Cid> runs sandboxed, and its worktree holds git repositories Kraft did not create: \u003Cpaths>."," A sandboxed worker writes the config of any git repository it makes in its worktree, and git reads that config when it commits or rebases, so Kraft runs no git there until you look. Kraft checks before the walk, before each task launches, and before any other step that refreshes the worktree.",[510,936,937,938,941],{},"The stop names an untracked nested repository, a gitlink whose directory is populated, and a gitlink the branch added or moved since the base. A submodule the repository already had, left unpopulated, does not stop anything. A ",[514,939,940],{"href":668},"workspace member"," reason that says \"It also holds git repositories Kraft did not create\" names these paths too.",[510,943,944,945,948,949,952,953,955,956,960],{},"In the worktree (",[542,946,947],{},"cd \"$(kraft repo path ID)\"","), remove the named repositories, or run ",[542,950,951],{},"git rm --cached"," on the gitlinks. Then ",[542,954,775],{},", or abandon the item. ",[514,957,959],{"href":958},"\u002Freference\u002Fconfiguration\u002Fsandbox\u002Fgit-in-a-sandbox#when-a-nested-repository-stops-the-item","When a nested repository stops the item"," lists what counts.",[726,962,653],{"id":963},"a-kit-is-refused",[510,965,966,967,969],{},"An item whose sandbox is a ",[514,968,522],{"href":361}," reads\nthe Kit before its worktree is made. If that fails, the item stops needing\nyou, and the reason names the Kit and why. The same check runs again before\neach task; there a failure ends that task's launch as a configuration error,\nand nothing runs outside the sandbox. The rest of the reason says which:",[554,971,972,981],{},[557,973,974],{},[560,975,976,979],{},[563,977,978],{},"The reason goes on",[563,980,571],{},[573,982,983,1005,1019,1043,1063,1074],{},[560,984,985,998],{},[578,986,987,990,991,994,995],{},[542,988,989],{},"`manifest inspect \u003Cref>` failed: ...",", or under Podman ",[542,992,993],{},"`pull -q \u003Cref>` failed: ..."," or ",[542,996,997],{},"`image inspect \u003Cref>` failed: ...",[578,999,1000,1001,1004],{},"The CLI could not read the Kit: a wrong reference, a missing registry login, or a registry it does not trust. Check it with ",[542,1002,1003],{},"docker manifest inspect \u003Cref>"," as the user Kraft runs as.",[560,1006,1007,1012],{},[578,1008,1009],{},[542,1010,1011],{},"\u003Cref> is not a Kit: no vnd.docker.sandbox.kit.descriptor annotation",[578,1013,1014,1015,1018],{},"The image was not built with the Kit frontend (",[542,1016,1017],{},"# syntax=docker\u002Fsandbox-kit:3",").",[560,1020,1021,1033],{},[578,1022,1023,1026,1027,1026,1030],{},[542,1024,1025],{},"requires \u003Ctype>; Kraft does not enforce it",", ",[542,1028,1029],{},"is a kind: mixin ...",[542,1031,1032],{},"has a capability group ...",[578,1034,1035,1036,1039,1040,532],{},"The Kit needs something Kraft does not run. Mark the capability ",[542,1037,1038],{},"optional: true",", or remove it, and rebuild. Docker's published Kits are refused this way: ",[514,1041,1042],{"href":128},"build one for Kraft",[560,1044,1045,1050],{},[578,1046,1047],{},[542,1048,1049],{},"credential service '\u003Cservice>' has no binding ...",[578,1051,1052,1053,1056,1057,766,1060,1062],{},"Add ",[542,1054,1055],{},"\u003Cservice>: \u003CDAEMON_ENV_NAME>"," under ",[542,1058,1059],{},"credentials",[514,1061,364],{"href":365},", and set that variable in the server's environment.",[560,1064,1065,1071],{},[578,1066,1067,1068],{},"A dotted path and a message, such as ",[542,1069,1070],{},"capabilities.1.config.apiKey: ...",[578,1072,1073],{},"The descriptor does not decode: fix the Kit at that path.",[560,1075,1076,1081],{},[578,1077,1078],{},[542,1079,1080],{},"has not been fetched here yet",[578,1082,1083],{},"A review, gate review, escalation turn, or a read through the artifacts or diff API ran before any task fetched the Kit. Retry the item.",[510,1085,1086,1087,1089,1090,766,1093,1095],{},"Fix the Kit or the policy, then ",[542,1088,775],{},". A changed Kit is a new\ndigest: put it in ",[542,1091,1092],{},"kit:",[542,1094,292],{}," and file the item again, since its\nsandbox is fixed when it is filed.",[534,1097,1099],{"id":1098},"related","Related",[797,1101,1102,1107,1112],{},[800,1103,1104,1106],{},[514,1105,195],{"href":196},": every other stop reason, with its fix.",[800,1108,1109,1111],{},[514,1110,360],{"href":361},": what a Kit is and how Kraft runs one.",[800,1113,1114,1116,1117,1120],{},[514,1115,207],{"href":208},": a failing ",[542,1118,1119],{},"kraft admin doctor"," row, which often explains a stop.",{"title":749,"searchDepth":1122,"depth":1122,"links":1123},2,[1124,1125,1134],{"id":536,"depth":1122,"text":537},{"id":724,"depth":1122,"text":199,"children":1126},[1127,1129,1130,1131,1132,1133],{"id":728,"depth":1128,"text":604},3,{"id":783,"depth":1128,"text":669},{"id":792,"depth":1128,"text":686},{"id":829,"depth":1128,"text":705},{"id":927,"depth":1128,"text":721},{"id":963,"depth":1128,"text":653},{"id":1098,"depth":1122,"text":1099},"Find the reason a sandboxed work item stopped, whether a sandbox with no network policy, the sandbox's memory limit, a Kit Kraft will not run, a workspace member Kraft cannot check out, or a nested git repository Kraft did not create, and the fix for each.","md",null,{},true,{"title":211,"description":1135},"ile2I5OY3kXvkV4U-O0aPqApkBoyh2ZlwcaLKLcTe_c",[1143,1145],{"title":207,"path":208,"stem":209,"description":1144,"children":-1},"What each failing or warning row of `kraft admin doctor` means and how to clear it.",{"title":10,"path":216,"stem":220,"description":1146,"children":-1},"Look-up pages for the web UI, the CLI, configuration files, chain nodes, permissions, harnesses, triggers, the HTTP API, MCP tools, environment variables, and events.",1791801249383]