Automatic task success prediction and iterative refinement for OpenHands LLM Provider users
This feature is highly experimental and subject to change. The API, configuration, and behavior may evolve significantly based on feedback and testing.
If you’re using the OpenHands LLM Provider, an experimental critic feature is automatically enabled to predict task success in real-time.For detailed information about the critic feature, including programmatic access and advanced usage, see the SDK Critic Guide.
The critic is an LLM-based evaluator that analyzes agent actions and conversation history to predict the quality or success probability of agent decisions (see our technical report: A Rubric-Supervised Critic from Sparse Real-World Outcomes for detailed methodology).It provides:It provides:
Quality scores: Probability scores between 0.0 and 1.0 indicating predicted success
Real-time feedback: Scores computed during agent execution, not just at completion
Iterative refinement: Automatic follow-up prompts when the critic predicts incomplete work
When Iterative Refinement mode is enabled, the CLI automatically prompts the agent to review and improve its work if the critic predicts a low probability of task success, repeating up to a maximum number of iterations (configured in settings).
The agent completes a task (or calls FinishAction)
The critic evaluates the result and produces a success probability score (0–100%), along with per-issue probability scores
Refinement triggers if either condition is met:
The overall score falls below the refinement threshold (default: 60%), OR
Any specific issue has a probability above the issue threshold (default: 75%), even if the overall score exceeds the refinement threshold (e.g., insufficient testing at 82% triggers refinement even when the overall score is 70%)
A follow-up prompt is automatically sent to the agent with the score and any detected issues
The agent reviews its work, identifies remaining issues, and attempts to fix them
This process repeats until neither condition triggers or the max iterations limit is reached (default: 3)
Example with refinement threshold set to 80% — requires a higher score to pass, which may trigger additional refinement cycles if the agent’s performance is borderline:Example with refinement threshold set to 60% (default):
When refinement is triggered, the agent receives a message like:
The task appears incomplete (iteration 1/3, predicted success likelihood: 45.0%).Please review what you've done and verify each requirement is met.List what's working and what needs fixing, then complete the task.
If specific issues are detected, they are included in the prompt:
The task appears incomplete (iteration 1/3, predicted success likelihood: 52.0%).**Detected issues requiring attention:**- Insufficient Testing (82%)- Missing Error Handling (76%)Please review what you've done and verify each requirement is met.List what's working and what needs fixing, then complete the task.
If you prefer not to use the critic feature, you can disable it in your settings:
Open the command palette with Ctrl+P
Select Settings
Navigate to the Critic Settings tab
Toggle off Enable Critic (Experimental)
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OpenHands Docs","colors":{"primary":"#99873c","light":"#ffe165","dark":"#ffe165"},"logo":{"light":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/logo/light.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=49b636402b03f7279ca5e1afefeec1d2","dark":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/logo/dark.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=e0c4017631cebc3a289798438e2c0d7a"},"favicon":"https://mintcdn.com/allhandsai/DjhqLcIy_hW6pRTg/openhands/logo-square.png?fit=max\u0026auto=format\u0026n=DjhqLcIy_hW6pRTg\u0026q=85\u0026s=6ef1bab575660ae6e2d44fcc57bc675f","appearance":{"default":"light"},"background":{"color":{"light":"#f7f3ee","dark":"#0B0D0E"}},"navbar":{"links":[],"primary":{"type":"github","href":"https://github.com/OpenHands/OpenHands"}},"footer":{"socials":{"slack":"https://openhands.dev/joinslack","github":"https://github.com/OpenHands"},"links":[{"header":"Links","items":[{"label":"Company","href":"https://openhands.dev/"},{"label":"Blog","href":"https://openhands.dev/blog"},{"label":"Cloud","href":"https://app.all-hands.dev"},{"label":"Enterprise","href":"https://openhands.dev/enterprise"}]}]},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","download-spec","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"allhandsai","hasAudioNarration":false,"actualSubdomain":"allhandsai","customDomains":["docs.openhands.dev"],"gitSource":{"type":"github","owner":"openhands","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae41048c764d7391f5d913a","collectionId":"897c9bc3-97c8-4961-adf8-08dc2534c75b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae41048c764d7391f5d913a"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae41048c764d7391f5d913a","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Cloud","count":196},{"language":"default","tag":"Cloud API","count":187},{"language":"default","tag":"REST API Reference","count":185},{"language":"default","tag":"SDK","count":127},{"language":"default","tag":"Guides","count":104},{"language":"default","tag":"API Reference","count":95},{"language":"default","tag":"Enterprise","count":71},{"language":"default","tag":"Home","count":58},{"language":"default","tag":"Agent Canvas","count":55},{"language":"default","tag":"Remote Agent Server","count":55}]},"assistantConfig":{"deflection":{"enabled":true,"email":"contact@openhands.dev","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#banner *{color:#434240}"}],"page":{"pagePath":"openhands/usage/cli/critic","slug":"/openhands/usage/cli/critic","pageMetadata":{"title":"Critic (Experimental)","description":"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users","href":"/openhands/usage/cli/critic"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`This feature is highly experimental`}),` and subject to change. The API, configuration, and behavior may evolve significantly based on feedback and testing.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`If you’re using the `,_jsx(_components.a,{href:`/openhands/usage/llms/openhands-llms`,children:`OpenHands LLM Provider`}),`, an experimental `,_jsx(_components.strong,{children:`critic feature`}),` is automatically enabled to predict task success in real-time.`]}),`\n`,_jsxs(_components.p,{children:[`For detailed information about the critic feature, including programmatic access and advanced usage, see the `,_jsx(_components.a,{href:`/sdk/guides/critic`,children:`SDK Critic Guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-is-the-critic`,children:`What is the Critic?`}),`\n`,_jsxs(_components.p,{children:[`The critic is an LLM-based evaluator that analyzes agent actions and conversation history to predict the quality or success probability of agent decisions (see our technical report: `,_jsx(_components.a,{href:`https://arxiv.org/abs/2603.03800`,children:`A Rubric-Supervised Critic from Sparse Real-World Outcomes`}),` for detailed methodology).`]}),`\n`,_jsx(_components.p,{children:`It provides:`}),`\n`,_jsx(_components.p,{children:`It provides:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Quality scores`}),`: Probability scores between 0.0 and 1.0 indicating predicted success`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Real-time feedback`}),`: Scores computed during agent execution, not just at completion`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Iterative refinement`}),`: Automatic follow-up prompts when the critic predicts incomplete work`]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=ec32541066e443243e42ebcd33ae7171`,alt:`Critic output in CLI`,\"data-og-width\":`1546`,width:`1546`,\"data-og-height\":`1058`,height:`1058`,\"data-path\":`openhands/usage/cli/screenshots/critic-cli-output.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=280\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=59511830890062552da3e831ba95fbb2 280w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=560\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=57d4719af1840495ef992910cc7daf9c 560w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=840\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=ded23fd3c3ace6c3199356befbe0f0af 840w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=1100\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=9e72d84ac9fb905f59b9c6dab6cde5ea 1100w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=1650\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=85efc9d82d792085b4f2617005f669e7 1650w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-output.png?w=2500\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=7366e4566c0252235d87e53fa0323475 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`pricing`,children:`Pricing`}),`\n`,_jsxs(_components.p,{children:[`The critic feature is `,_jsx(_components.strong,{children:`free during the public beta phase`}),` for all OpenHands LLM Provider users.`]}),`\n`,_jsx(Heading,{level:`2`,id:`iterative-refinement`,children:`Iterative Refinement`}),`\n`,_jsxs(_components.p,{children:[`When `,_jsx(_components.strong,{children:`Iterative Refinement`}),` mode is enabled, the CLI automatically prompts the agent to review and improve its work if the critic predicts a low probability of task success, repeating up to a maximum number of iterations (configured in settings).`]}),`\n`,_jsx(Heading,{level:`3`,id:`how-it-works`,children:`How It Works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`The agent completes a task (or calls `,_jsx(_components.code,{children:`FinishAction`}),`)`]}),`\n`,_jsx(_components.li,{children:`The critic evaluates the result and produces a success probability score (0–100%), along with per-issue probability scores`}),`\n`,_jsxs(_components.li,{children:[`Refinement triggers if `,_jsx(_components.strong,{children:`either`}),` condition is met:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The overall score falls below the `,_jsx(_components.strong,{children:`refinement threshold`}),` (default: 60%), `,_jsx(_components.strong,{children:`OR`})]}),`\n`,_jsxs(_components.li,{children:[`Any specific issue has a probability above the `,_jsx(_components.strong,{children:`issue threshold`}),` (default: 75%), even if the overall score exceeds the refinement threshold (e.g., insufficient testing at 82% triggers refinement even when the overall score is 70%)`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.li,{children:`A follow-up prompt is automatically sent to the agent with the score and any detected issues`}),`\n`,_jsx(_components.li,{children:`The agent reviews its work, identifies remaining issues, and attempts to fix them`}),`\n`,_jsxs(_components.li,{children:[`This process repeats until neither condition triggers or the `,_jsx(_components.strong,{children:`max iterations`}),` limit is reached (default: 3)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`demo`,children:`Demo`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Example with refinement threshold set to 80%`}),` — requires a higher score to pass, which may trigger additional refinement cycles if the agent’s performance is borderline:`]}),`\n`,_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video`,src:`https://github.com/user-attachments/assets/4e955321-e627-4d2a-97d8-d9f0f710ab2e`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Example with refinement threshold set to 60% (default):`})}),`\n`,_jsx(`video`,{controls:true,className:`mint-w-full mint-aspect-video`,src:`https://github.com/user-attachments/assets/13237eec-2721-48a1-9ef9-666b57a7529e`}),`\n`,_jsx(Heading,{level:`3`,id:`enabling-iterative-refinement`,children:`Enabling Iterative Refinement`}),`\n`,_jsxs(_components.p,{children:[`Iterative refinement is `,_jsx(_components.strong,{children:`disabled by default`}),` and must be enabled via the Settings UI:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the command palette with `,_jsx(_components.code,{children:`Ctrl+P`})]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Settings`})]}),`\n`,_jsxs(_components.li,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Critic Settings`}),` tab`]}),`\n`,_jsxs(_components.li,{children:[`Toggle on `,_jsx(_components.strong,{children:`Iterative Refinement`})]}),`\n`,_jsxs(_components.li,{children:[`Optionally adjust the `,_jsx(_components.strong,{children:`Refinement Threshold`}),` (1–100%)`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`configuration-options`,children:`Configuration Options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Option`}),_jsx(_components.th,{children:`Default`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Refinement Threshold`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[`60% (`,_jsx(_components.code,{children:`0.6`}),`)`]}),_jsx(_components.td,{children:`Overall success score below which refinement is triggered`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Issue Threshold`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[`75% (`,_jsx(_components.code,{children:`0.75`}),`)`]}),_jsx(_components.td,{children:`Per-issue probability above which refinement is triggered, even if the overall score exceeds the refinement threshold`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Max Iterations`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`3`}),_jsx(_components.td,{children:`Maximum number of refinement attempts per user turn (1–10)`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`example-refinement-prompt`,children:`Example Refinement Prompt`}),`\n`,_jsx(_components.p,{children:`When refinement is triggered, the agent receives a message like:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`The task appears incomplete (iteration 1/3, predicted success likelihood: 45.0%).`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Please review what you've done and verify each requirement is met.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`List what's working and what needs fixing, then complete the task.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`If specific issues are detected, they are included in the prompt:`}),`\n`,_jsx(CodeBlock,{numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`The task appears incomplete (iteration 1/3, predicted success likelihood: 52.0%).`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`**Detected issues requiring attention:**`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Insufficient Testing (82%)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- Missing Error Handling (76%)`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Please review what you've done and verify each requirement is met.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`List what's working and what needs fixing, then complete the task.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`status-indicator`,children:`Status Indicator`}),`\n`,_jsx(_components.p,{children:`A visual indicator in the status bar shows the current refinement iteration when active (e.g., “Refining 1/3”):`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=dec906de2156c1e0f468bc305970688a`,alt:`Refinement status indicator in the status bar`,\"data-og-width\":`2126`,width:`2126`,\"data-og-height\":`592`,height:`592`,\"data-path\":`openhands/usage/cli/screenshots/critic-refinement-status.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=280\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=93467bb4a6593a6db9236b14db8b1da2 280w, https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=560\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=ed453b85f83ddae13e6b5456af7508fe 560w, https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=840\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=7b1e9d7d718e8187bcc1540728cf5dc8 840w, https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=1100\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=27b040b29d8c68bca910dc9210a5227c 1100w, https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=1650\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=5e02c79cd6b903fee31bd007b8ab0ab8 1650w, https://mintcdn.com/allhandsai/9CfDIBZrsdX6vdK7/openhands/usage/cli/screenshots/critic-refinement-status.png?w=2500\u0026fit=max\u0026auto=format\u0026n=9CfDIBZrsdX6vdK7\u0026q=85\u0026s=a90d70beed677aeb952cefcb6c1b9e77 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`disabling-the-critic`,children:`Disabling the Critic`}),`\n`,_jsx(_components.p,{children:`If you prefer not to use the critic feature, you can disable it in your settings:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the command palette with `,_jsx(_components.code,{children:`Ctrl+P`})]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Settings`})]}),`\n`,_jsxs(_components.li,{children:[`Navigate to the `,_jsx(_components.strong,{children:`Critic Settings`}),` tab`]}),`\n`,_jsxs(_components.li,{children:[`Toggle off `,_jsx(_components.strong,{children:`Enable Critic (Experimental)`})]}),`\n`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=2176443a46450120abcafabe0153fc2f`,alt:`Critic settings in CLI`,\"data-og-width\":`1756`,width:`1756`,\"data-og-height\":`1980`,height:`1980`,\"data-path\":`openhands/usage/cli/screenshots/critic-cli-settings.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=280\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=5f65f947d2cbd49ade22fcb28a922cb9 280w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=560\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=525eb167d33db08ea33e939bdf836d87 560w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=840\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=dbf8c510ea6148336f12762758716295 840w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=1100\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=277c35b75a1c90ade8dee4ff1b3e49c3 1100w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=1650\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=ce6108bcf4b8704c45bec76ce499a27e 1650w, https://mintcdn.com/allhandsai/qOAcUCxh5M0ty3jo/openhands/usage/cli/screenshots/critic-cli-settings.png?w=2500\u0026fit=max\u0026auto=format\u0026n=qOAcUCxh5M0ty3jo\u0026q=85\u0026s=13c7dadff5cfb052ff46be5b3c56eb55 2500w`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Critic (Experimental)","description":"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users","href":"/openhands/usage/cli/critic"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"What is the Critic?","slug":"what-is-the-critic","depth":2,"children":[]},{"title":"Pricing","slug":"pricing","depth":2,"children":[]},{"title":"Iterative Refinement","slug":"iterative-refinement","depth":2,"children":[{"title":"How It Works","slug":"how-it-works","depth":3,"children":[]},{"title":"Demo","slug":"demo","depth":3,"children":[]},{"title":"Enabling Iterative Refinement","slug":"enabling-iterative-refinement","depth":3,"children":[]},{"title":"Configuration Options","slug":"configuration-options","depth":3,"children":[]},{"title":"Example Refinement Prompt","slug":"example-refinement-prompt","depth":3,"children":[]},{"title":"Status Indicator","slug":"status-indicator","depth":3,"children":[]}]},{"title":"Disabling the Critic","slug":"disabling-the-critic","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/allhandsai/dddab338317a519d/openhands/reo-init.js","/_mintlify/custom/allhandsai/ae719f15d762e1fe/openhands/posthog-init.js","/_mintlify/custom/allhandsai/a9d394cdba761c3d/openhands/canvas-handoff.js","/_mintlify/custom/allhandsai/771d6371c43b73b7/openhands/linkedin-copy-tracking.js"],"dynamicCss":".mint-aspect-video {\n aspect-ratio: 16 / 9\n}\n.mint-w-full {\n width: 100%\n}","subdomain":"allhandsai","siteName":"OpenHands Docs","title":"Critic (Experimental) - OpenHands Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-05T18:12:34.084Z","originalFileLocation":"openhands/usage/cli/critic.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users\">\u003cmeta data-mint-head name=\"application-name\" content=\"OpenHands Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Critic (Experimental) - OpenHands Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OpenHands Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.openhands.dev/openhands/usage/cli/critic\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://allhandsai.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Critic+%28Experimental%29\u0026amp;description=Automatic+task+success+prediction+and+iterative+refinement+for+OpenHands+LLM+Provider+users\u0026amp;theme=d1346828d5653c6c432bc1fc\u0026amp;signature=0cc0ff441279bb3f1bf1f8a728269af5a00b38bb955fbc66b69db549099431de\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Critic (Experimental) - OpenHands Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Automatic task success prediction and iterative refinement for OpenHands LLM Provider users\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://allhandsai.mintlify.app/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Critic+%28Experimental%29\u0026amp;description=Automatic+task+success+prediction+and+iterative+refinement+for+OpenHands+LLM+Provider+users\u0026amp;theme=d1346828d5653c6c432bc1fc\u0026amp;signature=0cc0ff441279bb3f1bf1f8a728269af5a00b38bb955fbc66b69db549099431de\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/allhandsai/NJyVpY-OoVetrcKF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OpenHands Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#99873c\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.openhands.dev/openhands/usage/cli/critic\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/openhands/usage/cli/critic.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OpenHands Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OpenHands Docs","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/overview/introduction"},{"title":"Quick Start","href":"/overview/quickstart"},{"title":"Tutorial Library","href":"/openhands/usage/get-started/tutorials"}]},{"group":"Essential Guidelines","pages":[{"title":"When to Use OpenHands","href":"/openhands/usage/essential-guidelines/when-to-use-openhands"},{"title":"Prompting Best Practices","href":"/openhands/usage/tips/prompting-best-practices"},{"title":"Good vs. Bad Instructions","href":"/openhands/usage/essential-guidelines/good-vs-bad-instructions"},{"title":"OpenHands in Your SDLC","href":"/openhands/usage/essential-guidelines/sdlc-integration"}]},{"group":"Use Cases","pages":[{"title":"Use Cases Overview","href":"/openhands/usage/use-cases/overview"},{"title":"Vulnerability Remediation","href":"/openhands/usage/use-cases/vulnerability-remediation"},{"title":"Automated Code Review","href":"/openhands/usage/use-cases/code-review"},{"title":"Automated QA Testing","href":"/openhands/usage/use-cases/qa-changes"},{"title":"Incident Triage","href":"/openhands/usage/use-cases/incident-triage"},{"title":"COBOL Modernization","href":"/openhands/usage/use-cases/cobol-modernization"},{"title":"Dependency Upgrades","href":"/openhands/usage/use-cases/dependency-upgrades"},{"title":"Agent-Driven Daily Workflow","href":"/openhands/usage/use-cases/daily-workflow"},{"title":"Software Factory","href":"/openhands/usage/use-cases/software-factory"},{"title":"Spark Migrations","href":"/openhands/usage/use-cases/spark-migrations"}]},{"group":"Product Guides","pages":[{"title":"Key Features","href":"/openhands/usage/key-features"},{"title":"Hooks","href":"/openhands/usage/customization/hooks"},{"title":"Model Context Protocol (MCP)","href":"/overview/model-context-protocol"},{"group":"Skills","pages":[{"title":"Skills Overview","href":"/overview/skills"},{"title":"General Skills","href":"/overview/skills/repo"},{"title":"Keyword-Triggered Skills","href":"/overview/skills/keyword"},{"title":"Path-Triggered Rules","href":"/overview/skills/path"},{"title":"Organization and User Skills","href":"/overview/skills/org"},{"title":"Global Skills","href":"/overview/skills/public"},{"title":"Adding New Skills","href":"/overview/skills/adding"},{"title":"Creating New Skills","href":"/overview/skills/creating"},{"title":"Monitoring and Improving Skills","href":"/overview/skills/monitoring"}]},{"title":"Plugins","href":"/overview/plugins"},{"title":"Agent Plugins Packages","href":"/overview/agent-plugins"},{"group":"Automations","pages":[{"title":"Automations Overview","href":"/openhands/usage/automations/overview"},{"title":"Creating Automations","href":"/openhands/usage/automations/creating-automations"},{"title":"Event-Based Automations","href":"/openhands/usage/automations/event-automations"},{"title":"Managing Automations","href":"/openhands/usage/automations/managing-automations"}]},{"title":"Repository Customization","href":"/openhands/usage/customization/repository"},{"group":"Settings","pages":[{"title":"Application Settings","href":"/openhands/usage/settings/application-settings"},{"title":"Language Model (LLM) Settings","href":"/openhands/usage/settings/llm-settings"},{"title":"Secrets Management","href":"/openhands/usage/settings/secrets-settings"},{"title":"Model Context Protocol (MCP)","href":"/openhands/usage/settings/mcp-settings"}]}]},{"group":"Additional Documentation","pages":[{"group":"Sandbox Server","pages":[{"title":"REST API (V1)","href":"/openhands/usage/api/v1"}]},{"group":"LLM Configuration","pages":[{"title":"Overview","href":"/openhands/usage/llms/llms"},{"group":"LLM Providers","pages":[{"title":"OpenHands","href":"/openhands/usage/llms/openhands-llms"},{"title":"AWS Bedrock","href":"/openhands/usage/llms/aws-bedrock"},{"title":"Azure","href":"/openhands/usage/llms/azure-llms"},{"title":"Use DigitalOcean Inference with OpenHands","href":"/openhands/usage/llms/digitalocean"},{"title":"Google Gemini/Vertex","href":"/openhands/usage/llms/google-llms"},{"title":"Groq","href":"/openhands/usage/llms/groq"},{"title":"Run Local LLMs with OpenHands","href":"/openhands/usage/llms/local-llms"},{"title":"LiteLLM Proxy","href":"/openhands/usage/llms/litellm-proxy"},{"title":"Moonshot AI","href":"/openhands/usage/llms/moonshot"},{"title":"OpenAI","href":"/openhands/usage/llms/openai-llms"},{"title":"Use OpenRouter with OpenHands","href":"/openhands/usage/llms/openrouter"}]}]}]},{"group":"OpenHands Community","pages":[{"title":"Community","href":"/overview/community"},{"title":"Contributing","href":"/overview/contributing"},{"title":"Issue Triage and the ready-for-dev Gate","href":"/overview/issue-lifecycle"},{"title":"FAQs","href":"/overview/faqs"},{"title":null,"href":"/openhands/usage/troubleshooting/feedback"}]}]},{"tab":"Agent Canvas","pages":[{"title":"Agent Canvas Overview","href":"/openhands/usage/agent-canvas/overview"},{"title":"Agent Canvas Architecture","href":"/openhands/usage/agent-canvas/architecture"},{"group":"Install Canvas","pages":[{"title":"Install Agent Canvas","href":"/openhands/usage/agent-canvas/setup"},{"title":"First Time Setup","href":"/openhands/usage/agent-canvas/first-time-setup"}]},{"group":"Automations","pages":[{"title":"Managing automations","href":"/openhands/usage/agent-canvas/managing-automations"},{"title":"Sync Automations with Git","href":"/openhands/usage/agent-canvas/git-sync"},{"title":"Setup a Pre-built Automation","href":"/openhands/usage/agent-canvas/prebuilt-automations"},{"title":"Issue to Pull Request Automation","href":"/openhands/usage/agent-canvas/prebuilt/issue-to-pr"},{"title":"GitHub PR Review Assistant","href":"/openhands/usage/agent-canvas/prebuilt/github-pr-review"},{"title":"GitHub Repository Monitor","href":"/openhands/usage/agent-canvas/prebuilt/github-repo-monitor"},{"title":"Slack Channel Monitor","href":"/openhands/usage/agent-canvas/prebuilt/slack-channel-monitor"}]},{"group":"Use Canvas","pages":[{"title":"Conversations","href":"/openhands/usage/agent-canvas/conversations"},{"title":"Agent Profiles","href":"/openhands/usage/agent-canvas/agent-profiles"},{"title":"Manage LLM Profiles","href":"/openhands/usage/agent-canvas/llm-profiles"},{"title":"Configure a Model","href":"/openhands/usage/agent-canvas/model-configuration"},{"title":"ACP Agents","href":"/openhands/usage/agent-canvas/acp-agents"},{"title":"Plugins in Agent Canvas","href":"/openhands/usage/agent-canvas/plugins"},{"title":"Apps (Beta)","href":"/openhands/usage/agent-canvas/canvas-extensions"},{"title":"Critic","href":"/openhands/usage/agent-canvas/critic"},{"title":"Customize and Settings","href":"/openhands/usage/agent-canvas/customize-and-settings"},{"title":"Phone \u0026 Tablet Access","href":"/openhands/usage/agent-canvas/mobile-access"}]},{"group":"Connect Backends","pages":[{"title":"Backends","href":"/openhands/usage/agent-canvas/backends"},{"title":"Local Backend","href":"/openhands/usage/agent-canvas/backend-setup/local"},{"title":"Remote Backend","href":"/openhands/usage/agent-canvas/backend-setup/remote"},{"title":"Cloud Backend","href":"/openhands/usage/agent-canvas/backend-setup/cloud"},{"title":"DigitalOcean Managed Agents","href":"/openhands/usage/agent-canvas/backend-setup/digitalocean"}]},{"group":"Self-Host Backend Services","pages":[{"title":"VM / Self-Hosted Installation","href":"/openhands/usage/agent-canvas/backend-setup/vm"},{"title":"Use Docker with Agent Canvas","href":"/openhands/usage/agent-canvas/backend-setup/docker"},{"title":"Run Each Conversation in Its Own Docker Container","href":"/openhands/usage/agent-canvas/backend-setup/docker-execution"},{"title":"Kubernetes (Helm)","href":"/openhands/usage/agent-canvas/backend-setup/kubernetes"},{"title":"Modal Backend","href":"/openhands/usage/agent-canvas/backend-setup/modal"}]},{"group":"Contribute And Troubleshoot","pages":[{"title":"Contributing","href":"/openhands/usage/agent-canvas/development"},{"title":"Troubleshooting","href":"/openhands/usage/agent-canvas/troubleshooting"}]},{"group":"Release Notes","pages":[{"title":"Agent Canvas 1.31.0","href":"/openhands/usage/agent-canvas/release-notes/v1.31.0"},{"title":"Agent Canvas 1.30.0","href":"/openhands/usage/agent-canvas/release-notes/v1.30.0"},{"title":"Agent Canvas 1.29.0","href":"/openhands/usage/agent-canvas/release-notes/v1.29.0"},{"title":"Agent Canvas 1.28.0","href":"/openhands/usage/agent-canvas/release-notes/v1.28.0"},{"title":"Agent Canvas 1.27.0","href":"/openhands/usage/agent-canvas/release-notes/v1.27.0"},{"title":"Agent Canvas 1.26.0","href":"/openhands/usage/agent-canvas/release-notes/v1.26.0"},{"title":"Agent Canvas 1.25.0","href":"/openhands/usage/agent-canvas/release-notes/v1.25.0"},{"title":"Agent Canvas 1.24.0","href":"/openhands/usage/agent-canvas/release-notes/v1.24.0"},{"title":"Agent Canvas 1.23.0","href":"/openhands/usage/agent-canvas/release-notes/v1.23.0"},{"title":"Agent Canvas 1.22.0","href":"/openhands/usage/agent-canvas/release-notes/v1.22.0"},{"title":"Agent Canvas 1.21.0","href":"/openhands/usage/agent-canvas/release-notes/v1.21.0"},{"title":"Agent Canvas 1.20.0","href":"/openhands/usage/agent-canvas/release-notes/v1.20.0"},{"title":"Agent Canvas 1.19.0","href":"/openhands/usage/agent-canvas/release-notes/v1.19.0"},{"title":"Agent Canvas 1.18.0","href":"/openhands/usage/agent-canvas/release-notes/v1.18.0"},{"title":"Agent Canvas 1.17.0","href":"/openhands/usage/agent-canvas/release-notes/v1.17.0"},{"title":"Agent Canvas 1.16.0","href":"/openhands/usage/agent-canvas/release-notes/v1.16.0"},{"title":"Agent Canvas 1.15.0","href":"/openhands/usage/agent-canvas/release-notes/v1.15.0"},{"title":"Agent Canvas 1.14.0","href":"/openhands/usage/agent-canvas/release-notes/v1.14.0"},{"title":"Agent Canvas 1.13.0","href":"/openhands/usage/agent-canvas/release-notes/v1.13.0"},{"title":"Agent Canvas 1.12.0","href":"/openhands/usage/agent-canvas/release-notes/v1.12.0"},{"title":"Agent Canvas 1.11.0","href":"/openhands/usage/agent-canvas/release-notes/v1.11.0"},{"title":"Agent Canvas 1.10.0","href":"/openhands/usage/agent-canvas/release-notes/v1.10.0"}]}]},{"tab":"SDK","pages":[{"title":"Software Agent SDK","icon":"code","mode":"wide","href":"/sdk"},{"title":"Getting Started","icon":"rocket","href":"/sdk/getting-started"},{"title":"FAQ","icon":"question","href":"/sdk/faq"},{"group":"Guides","pages":[{"title":"Hello World","href":"/sdk/guides/hello-world"},{"title":"Custom Tools","href":"/sdk/guides/custom-tools"},{"title":"Structured Output","href":"/sdk/guides/structured-output"},{"title":"Model Context Protocol","href":"/sdk/guides/mcp"},{"title":"Agent Skills \u0026 Context","href":"/sdk/guides/skill"},{"title":"Plugins","href":"/sdk/guides/plugins"},{"title":"Persistence","href":"/sdk/guides/convo-persistence"},{"title":"Context Condenser","href":"/sdk/guides/context-condenser"},{"title":"Persistent Memory","href":"/sdk/guides/persistent-memory"},{"title":"Agent Settings","href":"/sdk/guides/agent-settings"},{"title":"Parallel Tool Execution","href":"/sdk/guides/parallel-tool-execution"},{"title":"Task Tool Set","href":"/sdk/guides/task-tool-set"},{"title":"Iterative Refinement","href":"/sdk/guides/iterative-refinement"},{"title":"Security \u0026 Action Confirmation","href":"/sdk/guides/security"},{"title":"Metrics Tracking","href":"/sdk/guides/metrics"},{"title":"Observability \u0026 Tracing","href":"/sdk/guides/observability"},{"title":"Secret Registry","href":"/sdk/guides/secrets"},{"group":"LLM Features","pages":[{"title":"LLM Subscriptions","href":"/sdk/guides/llm-subscriptions"},{"title":"LLM Registry","href":"/sdk/guides/llm-registry"},{"title":"Model Routing","href":"/sdk/guides/llm-routing"},{"title":"Reasoning","href":"/sdk/guides/llm-reasoning"},{"title":"GPT-5 Preset (ApplyPatchTool)","href":"/sdk/guides/llm-gpt5-preset"},{"title":"LLM Streaming","href":"/sdk/guides/llm-streaming"},{"title":"Image Input","href":"/sdk/guides/llm-image-input"},{"title":"Exception Handling","href":"/sdk/guides/llm-error-handling"},{"title":"LLM Fallback Strategy","href":"/sdk/guides/llm-fallback"},{"title":"LLM Profile Store","href":"/sdk/guides/llm-profile-store"},{"title":"Task-Based Model Routing","href":"/sdk/guides/llm-task-routing"}]},{"group":"Agent Features","pages":[{"title":"ACP Agent","href":"/sdk/guides/agent-acp"},{"title":"Interactive Terminal","href":"/sdk/guides/agent-interactive-terminal"},{"title":"Browser Use","href":"/sdk/guides/agent-browser-use"},{"title":"Browser Session Recording","href":"/sdk/guides/browser-session-recording"},{"title":"Creating Custom Agent","href":"/sdk/guides/agent-custom"},{"title":"File-Based Agents","href":"/sdk/guides/agent-file-based"},{"title":"Stuck Detector","href":"/sdk/guides/agent-stuck-detector"},{"title":"Ask Oracle","href":"/sdk/guides/agent-ask-oracle"},{"title":"Theory of Mind (TOM) Agent","href":"/sdk/guides/agent-tom-agent"},{"title":"Critic (Experimental)","href":"/sdk/guides/critic"}]},{"group":"Conversation Features","pages":[{"title":"Fork a Conversation","href":"/sdk/guides/convo-fork"},{"title":"Pause and Resume","href":"/sdk/guides/convo-pause-and-resume"},{"title":"Custom Visualizer","href":"/sdk/guides/convo-custom-visualizer"},{"title":"Send Message While Running","href":"/sdk/guides/convo-send-message-while-running"},{"title":"Conversation with Async","href":"/sdk/guides/convo-async"},{"title":"Ask Agent Questions","href":"/sdk/guides/convo-ask-agent"},{"title":"Goal Completion Loop","href":"/sdk/guides/convo-goal"},{"title":"Hooks","href":"/sdk/guides/hooks"}]},{"group":"Remote Agent Server","pages":[{"title":"Overview","href":"/sdk/guides/agent-server/overview"},{"title":"Local Agent Server","href":"/sdk/guides/agent-server/local-server"},{"title":"Agent Server Package","href":"/sdk/arch/agent-server"},{"title":"Conversation Goals","href":"/sdk/guides/agent-server/conversation-goals"},{"title":"Docker Sandbox","href":"/sdk/guides/agent-server/docker-sandbox"},{"title":"Apptainer Sandbox","href":"/sdk/guides/agent-server/apptainer-sandbox"},{"title":"API-based Sandbox","href":"/sdk/guides/agent-server/api-sandbox"},{"title":"OpenHands Cloud Workspace","href":"/sdk/guides/agent-server/cloud-workspace"},{"title":"Custom Tools with Remote Agent Server","href":"/sdk/guides/agent-server/custom-tools"},{"title":"OpenAI-Compatible Endpoint","href":"/sdk/guides/agent-server/openai-gateway"},{"title":"Deferred Init (Warm-Pool)","href":"/sdk/guides/agent-server/deferred-init"},{"group":"API Reference","pages":[{"group":"Server Details","pages":[{"title":"Alive","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /alive","href":"/sdk/guides/agent-server/api-reference/server-details/alive"},{"title":"Health","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /health","href":"/sdk/guides/agent-server/api-reference/server-details/health"},{"title":"Ready","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /ready","href":"/sdk/guides/agent-server/api-reference/server-details/ready"},{"title":"Get Server Info","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /server_info","href":"/sdk/guides/agent-server/api-reference/server-details/get-server-info"}]},{"group":"Events","pages":[{"title":"Search Conversation Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/{conversation_id}/events/search","href":"/sdk/guides/agent-server/api-reference/events/search-conversation-events"},{"title":"Count Conversation Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/{conversation_id}/events/count","href":"/sdk/guides/agent-server/api-reference/events/count-conversation-events"},{"title":"Get Conversation Event","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/{conversation_id}/events/{event_id}","href":"/sdk/guides/agent-server/api-reference/events/get-conversation-event"},{"title":"Batch Get Conversation Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/{conversation_id}/events","href":"/sdk/guides/agent-server/api-reference/events/batch-get-conversation-events"},{"title":"Send Message","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/events","href":"/sdk/guides/agent-server/api-reference/events/send-message"},{"title":"Respond To Confirmation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/events/respond_to_confirmation","href":"/sdk/guides/agent-server/api-reference/events/respond-to-confirmation"}]},{"group":"Conversations","pages":[{"title":"Search Conversations","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/search","href":"/sdk/guides/agent-server/api-reference/conversations/search-conversations"},{"title":"Count Conversations","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/count","href":"/sdk/guides/agent-server/api-reference/conversations/count-conversations"},{"title":"Get Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations/{conversation_id}","href":"/sdk/guides/agent-server/api-reference/conversations/get-conversation"},{"title":"Delete Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json delete /api/conversations/{conversation_id}","href":"/sdk/guides/agent-server/api-reference/conversations/delete-conversation"},{"title":"Update Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json patch /api/conversations/{conversation_id}","href":"/sdk/guides/agent-server/api-reference/conversations/update-conversation"},{"title":"Batch Get Conversations","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/conversations","href":"/sdk/guides/agent-server/api-reference/conversations/batch-get-conversations"},{"title":"Start Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations","href":"/sdk/guides/agent-server/api-reference/conversations/start-conversation"},{"title":"Pause Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/pause","href":"/sdk/guides/agent-server/api-reference/conversations/pause-conversation"},{"title":"Run Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/run","href":"/sdk/guides/agent-server/api-reference/conversations/run-conversation"},{"title":"Update Conversation Secrets","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/secrets","href":"/sdk/guides/agent-server/api-reference/conversations/update-conversation-secrets"},{"title":"Set Conversation Confirmation Policy","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/confirmation_policy","href":"/sdk/guides/agent-server/api-reference/conversations/set-conversation-confirmation-policy"},{"title":"Set Conversation Security Analyzer","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/security_analyzer","href":"/sdk/guides/agent-server/api-reference/conversations/set-conversation-security-analyzer"},{"title":"Generate Conversation Title","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/generate_title","href":"/sdk/guides/agent-server/api-reference/conversations/generate-conversation-title"},{"title":"Ask Agent","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/ask_agent","href":"/sdk/guides/agent-server/api-reference/conversations/ask-agent"},{"title":"Condense Conversation","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/conversations/{conversation_id}/condense","href":"/sdk/guides/agent-server/api-reference/conversations/condense-conversation"}]},{"group":"Tools","pages":[{"title":"List Available Tools","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/tools/","href":"/sdk/guides/agent-server/api-reference/tools/list-available-tools"}]},{"group":"Bash","pages":[{"title":"Search Bash Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/bash/bash_events/search","href":"/sdk/guides/agent-server/api-reference/bash/search-bash-events"},{"title":"Get Bash Event","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/bash/bash_events/{event_id}","href":"/sdk/guides/agent-server/api-reference/bash/get-bash-event"},{"title":"Batch Get Bash Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/bash/bash_events/","href":"/sdk/guides/agent-server/api-reference/bash/batch-get-bash-events"},{"title":"Start Bash Command","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/bash/start_bash_command","href":"/sdk/guides/agent-server/api-reference/bash/start-bash-command"},{"title":"Execute Bash Command","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/bash/execute_bash_command","href":"/sdk/guides/agent-server/api-reference/bash/execute-bash-command"},{"title":"Clear All Bash Events","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json delete /api/bash/bash_events","href":"/sdk/guides/agent-server/api-reference/bash/clear-all-bash-events"}]},{"group":"Git","pages":[{"title":"Git Changes","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/git/changes/{path}","href":"/sdk/guides/agent-server/api-reference/git/git-changes"},{"title":"Git Diff","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/git/diff/{path}","href":"/sdk/guides/agent-server/api-reference/git/git-diff"}]},{"group":"Files","pages":[{"title":"Upload File","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/file/upload/{path}","href":"/sdk/guides/agent-server/api-reference/files/upload-file"},{"title":"Download File","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/file/download/{path}","href":"/sdk/guides/agent-server/api-reference/files/download-file"},{"title":"Download Trajectory","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/file/download-trajectory/{conversation_id}","href":"/sdk/guides/agent-server/api-reference/files/download-trajectory"}]},{"group":"VSCode","pages":[{"title":"Get Vscode Url","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/vscode/url","href":"/sdk/guides/agent-server/api-reference/vscode/get-vscode-url"},{"title":"Get Vscode Status","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/vscode/status","href":"/sdk/guides/agent-server/api-reference/vscode/get-vscode-status"}]},{"group":"Desktop","pages":[{"title":"Get Desktop Url","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /api/desktop/url","href":"/sdk/guides/agent-server/api-reference/desktop/get-desktop-url"}]},{"group":"Skills","pages":[{"title":"Get Skills","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/skills","href":"/sdk/guides/agent-server/api-reference/skills/get-skills"},{"title":"Sync Skills","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/skills/sync","href":"/sdk/guides/agent-server/api-reference/skills/sync-skills"}]},{"group":"Hooks","pages":[{"title":"Get Hooks","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json post /api/hooks","href":"/sdk/guides/agent-server/api-reference/hooks/get-hooks"}]},{"group":"API Reference","pages":[{"title":"Get Server Info","deprecated":null,"version":null,"openapi":"/openapi/agent-sdk.json get /","href":"/sdk/guides/agent-server/api-reference/get-server-info"}]}]}]},{"group":"GitHub Workflows","pages":[{"title":"Assign Reviews","href":"/sdk/guides/github-workflows/assign-reviews"},{"title":"PR Review","href":"/sdk/guides/github-workflows/pr-review"},{"title":"TODO Management","href":"/sdk/guides/github-workflows/todo-management"}]}]},{"group":"Architecture","pages":[{"title":"Overview","href":"/sdk/arch/overview"},{"title":"Design Principles","href":"/sdk/arch/design"},{"group":"SDK Components","pages":[{"title":"Agent","href":"/sdk/arch/agent"},{"title":"Conversation","href":"/sdk/arch/conversation"},{"title":"Tool System \u0026 MCP","href":"/sdk/arch/tool-system"},{"title":"MCP Integration","href":"/sdk/arch/mcp"},{"title":"Events","href":"/sdk/arch/events"},{"title":"Workspace","href":"/sdk/arch/workspace"},{"title":"LLM","href":"/sdk/arch/llm"},{"title":"Skill","href":"/sdk/arch/skill"},{"title":"Condenser","href":"/sdk/arch/condenser"},{"title":"Security","href":"/sdk/arch/security"}]}]},{"group":"API Reference","pages":[{"title":"openhands.sdk.agent","href":"/sdk/api-reference/openhands.sdk.agent"},{"title":"openhands.sdk.conversation","href":"/sdk/api-reference/openhands.sdk.conversation"},{"title":"openhands.sdk.event","href":"/sdk/api-reference/openhands.sdk.event"},{"title":"openhands.sdk.llm","href":"/sdk/api-reference/openhands.sdk.llm"},{"title":"openhands.sdk.security","href":"/sdk/api-reference/openhands.sdk.security"},{"title":"openhands.sdk.tool","href":"/sdk/api-reference/openhands.sdk.tool"},{"title":"openhands.sdk.utils","href":"/sdk/api-reference/openhands.sdk.utils"},{"title":"openhands.sdk.workspace","href":"/sdk/api-reference/openhands.sdk.workspace"}]}]},{"tab":"Cloud","pages":[{"group":"OpenHands Cloud","pages":[{"title":"Getting Started","href":"/openhands/usage/cloud/openhands-cloud"},{"title":"Cloud UI","href":"/openhands/usage/cloud/cloud-ui"}]},{"group":"Settings","pages":[{"title":"API Keys Settings","href":"/openhands/usage/settings/api-keys-settings"}]},{"group":"Integrations","pages":[{"title":"Integrations Settings","href":"/openhands/usage/settings/integrations-settings"},{"title":"GitHub Integration","href":"/openhands/usage/cloud/github-installation"},{"title":"GitLab Integration","href":"/openhands/usage/cloud/gitlab-installation"},{"title":"Bitbucket Integration","href":"/openhands/usage/cloud/bitbucket-installation"},{"title":"Slack Integration","href":"/openhands/usage/cloud/slack-installation"},{"title":"Jira Cloud Integration","href":"/openhands/usage/cloud/project-management/jira-integration"}]},{"group":"Cloud API","pages":[{"title":"Cloud API Overview","href":"/openhands/usage/cloud/cloud-api"},{"title":"Plugin Launcher","href":"/openhands/usage/cloud/plugin-launcher"},{"group":"REST API Reference","expanded":false,"pages":[{"group":"Events","pages":[{"title":"Search Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events/search","href":"/openhands/usage/cloud/api-reference/events/search-events"},{"title":"Count Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events/count","href":"/openhands/usage/cloud/api-reference/events/count-events"},{"title":"Batch Get Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/conversation/{conversation_id}/events","href":"/openhands/usage/cloud/api-reference/events/batch-get-events"}]},{"group":"Conversations","pages":[{"title":"Search App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/search","href":"/openhands/usage/cloud/api-reference/conversations/search-app-conversations"},{"title":"Count App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/count","href":"/openhands/usage/cloud/api-reference/conversations/count-app-conversations"},{"title":"Batch Get App Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations","href":"/openhands/usage/cloud/api-reference/conversations/batch-get-app-conversations"},{"title":"Start App Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations","href":"/openhands/usage/cloud/api-reference/conversations/start-app-conversation"},{"title":"Delete App Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/app-conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/conversations/delete-app-conversation"},{"title":"Update App Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/v1/app-conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/conversations/update-app-conversation"},{"title":"Send Message To Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/send-message","href":"/openhands/usage/cloud/api-reference/conversations/send-message-to-conversation"},{"title":"Switch Conversation Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/switch_profile","href":"/openhands/usage/cloud/api-reference/conversations/switch-conversation-profile"},{"title":"Switch Conversation Acp Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/{conversation_id}/switch_acp_model","href":"/openhands/usage/cloud/api-reference/conversations/switch-conversation-acp-model"},{"title":"Stream App Conversation Start","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/app-conversations/stream-start","href":"/openhands/usage/cloud/api-reference/conversations/stream-app-conversation-start"},{"title":"Search App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks/search","href":"/openhands/usage/cloud/api-reference/conversations/search-app-conversation-start-tasks"},{"title":"Count App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks/count","href":"/openhands/usage/cloud/api-reference/conversations/count-app-conversation-start-tasks"},{"title":"Batch Get App Conversation Start Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/start-tasks","href":"/openhands/usage/cloud/api-reference/conversations/batch-get-app-conversation-start-tasks"},{"title":"Read Conversation File","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/file","href":"/openhands/usage/cloud/api-reference/conversations/read-conversation-file"},{"title":"Get Conversation Git Changes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/git/changes","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-git-changes"},{"title":"Get Conversation Git Diff","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/git/diff","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-git-diff"},{"title":"Get Conversation Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/skills","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-skills"},{"title":"Get Conversation Hooks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/hooks","href":"/openhands/usage/cloud/api-reference/conversations/get-conversation-hooks"},{"title":"Export Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/app-conversations/{conversation_id}/download","href":"/openhands/usage/cloud/api-reference/conversations/export-conversation"}]},{"group":"Pending Messages","pages":[{"title":"Queue Pending Message","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/conversations/{conversation_id}/pending-messages","href":"/openhands/usage/cloud/api-reference/pending-messages/queue-pending-message"}]},{"group":"Sandbox","pages":[{"title":"Search Sandboxes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/search","href":"/openhands/usage/cloud/api-reference/sandbox/search-sandboxes"},{"title":"Batch Get Sandboxes","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes","href":"/openhands/usage/cloud/api-reference/sandbox/batch-get-sandboxes"},{"title":"Start Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes","href":"/openhands/usage/cloud/api-reference/sandbox/start-sandbox"},{"title":"Pause Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes/{sandbox_id}/pause","href":"/openhands/usage/cloud/api-reference/sandbox/pause-sandbox"},{"title":"Resume Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/sandboxes/{sandbox_id}/resume","href":"/openhands/usage/cloud/api-reference/sandbox/resume-sandbox"},{"title":"Delete Sandbox","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/sandboxes/{id}","href":"/openhands/usage/cloud/api-reference/sandbox/delete-sandbox"},{"title":"List Secret Names","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/{sandbox_id}/settings/secrets","href":"/openhands/usage/cloud/api-reference/sandbox/list-secret-names"},{"title":"Get Secret Value","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandboxes/{sandbox_id}/settings/secrets/{secret_name}","href":"/openhands/usage/cloud/api-reference/sandbox/get-secret-value"},{"title":"Search Sandbox Specs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandbox-specs/search","href":"/openhands/usage/cloud/api-reference/sandbox/search-sandbox-specs"},{"title":"Batch Get Sandbox Specs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/sandbox-specs","href":"/openhands/usage/cloud/api-reference/sandbox/batch-get-sandbox-specs"}]},{"group":"Settings","pages":[{"title":"Load Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings","href":"/openhands/usage/cloud/api-reference/settings/load-settings"},{"title":"Store Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings","href":"/openhands/usage/cloud/api-reference/settings/store-settings"},{"title":"Load Settings Schema","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/agent-schema","href":"/openhands/usage/cloud/api-reference/settings/load-settings-schema"},{"title":"Load Conversation Settings Schema","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/conversation-schema","href":"/openhands/usage/cloud/api-reference/settings/load-conversation-settings-schema"},{"title":"List Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/profiles","href":"/openhands/usage/cloud/api-reference/settings/list-profiles"},{"title":"Get Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/get-profile"},{"title":"Save Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/save-profile"},{"title":"Delete Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/settings/profiles/{name}","href":"/openhands/usage/cloud/api-reference/settings/delete-profile"},{"title":"Activate Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}/activate","href":"/openhands/usage/cloud/api-reference/settings/activate-profile"},{"title":"Rename Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/settings/profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/settings/rename-profile"}]},{"group":"Secrets","pages":[{"title":"Store Provider Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/secrets/git-providers","href":"/openhands/usage/cloud/api-reference/secrets/store-provider-tokens"},{"title":"Unset Provider Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/secrets/git-providers","href":"/openhands/usage/cloud/api-reference/secrets/unset-provider-tokens"},{"title":"Search Custom Secrets","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/secrets/search","href":"/openhands/usage/cloud/api-reference/secrets/search-custom-secrets"},{"title":"Create Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/secrets","href":"/openhands/usage/cloud/api-reference/secrets/create-custom-secret"},{"title":"Update Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/v1/secrets/{secret_id}","href":"/openhands/usage/cloud/api-reference/secrets/update-custom-secret"},{"title":"Delete Custom Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/v1/secrets/{secret_id}","href":"/openhands/usage/cloud/api-reference/secrets/delete-custom-secret"}]},{"group":"User","pages":[{"title":"Get Current User Git Info","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/git-info","href":"/openhands/usage/cloud/api-reference/user/get-current-user-git-info"},{"title":"Get Current User Saas","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/me","href":"/openhands/usage/cloud/api-reference/user/get-current-user-saas"},{"title":"Get Current User Git Organizations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/users/git-organizations","href":"/openhands/usage/cloud/api-reference/user/get-current-user-git-organizations"}]},{"group":"Skills","pages":[{"title":"Search Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/skills/search","href":"/openhands/usage/cloud/api-reference/skills/search-skills"},{"title":"Get Marketplace Skills","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/skills/marketplace-skills","href":"/openhands/usage/cloud/api-reference/skills/get-marketplace-skills"}]},{"group":"Webhooks","pages":[{"title":"On Conversation Update","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/webhooks/conversations","href":"/openhands/usage/cloud/api-reference/webhooks/on-conversation-update"},{"title":"On Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/v1/webhooks/events/{conversation_id}","href":"/openhands/usage/cloud/api-reference/webhooks/on-event"},{"title":"Get Secret","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/webhooks/secrets","href":"/openhands/usage/cloud/api-reference/webhooks/get-secret"}]},{"group":"Config","pages":[{"title":"Get Web Client Config","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/web-client/config","href":"/openhands/usage/cloud/api-reference/config/get-web-client-config"},{"title":"Search Models","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/config/models/search","href":"/openhands/usage/cloud/api-reference/config/search-models"},{"title":"Search Providers","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/config/providers/search","href":"/openhands/usage/cloud/api-reference/config/search-providers"}]},{"group":"Git","pages":[{"title":"Search User Installations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/installations/search","href":"/openhands/usage/cloud/api-reference/git/search-user-installations"},{"title":"Search Repositories","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/repositories/search","href":"/openhands/usage/cloud/api-reference/git/search-repositories"},{"title":"Search Branches","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/branches/search","href":"/openhands/usage/cloud/api-reference/git/search-branches"},{"title":"Search Suggested Tasks","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/v1/git/suggested-tasks/search","href":"/openhands/usage/cloud/api-reference/git/search-suggested-tasks"}]},{"group":"Status","pages":[{"title":"Alive","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /alive","href":"/openhands/usage/cloud/api-reference/status/alive"},{"title":"Health","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /health","href":"/openhands/usage/cloud/api-reference/status/health"},{"title":"Get Server Info","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /server_info","href":"/openhands/usage/cloud/api-reference/status/get-server-info"}]},{"group":"API Reference","pages":[{"title":"Is Ready","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /ready","href":"/openhands/usage/cloud/api-reference/is-ready"},{"title":"Is Saas","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /saas","href":"/openhands/usage/cloud/api-reference/is-saas"},{"title":"Authenticate","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/authenticate","href":"/openhands/usage/cloud/api-reference/authenticate"},{"title":"Accept Tos","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/accept_tos","href":"/openhands/usage/cloud/api-reference/accept-tos"},{"title":"Onboarding Status","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/onboarding_status","href":"/openhands/usage/cloud/api-reference/onboarding-status"},{"title":"Complete Onboarding","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/complete_onboarding","href":"/openhands/usage/cloud/api-reference/complete-onboarding"},{"title":"Logout","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/logout","href":"/openhands/usage/cloud/api-reference/logout"},{"title":"Refresh Tokens","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/refresh-tokens","href":"/openhands/usage/cloud/api-reference/refresh-tokens"},{"title":"Keycloak Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/keycloak/callback","href":"/openhands/usage/cloud/api-reference/keycloak-callback"},{"title":"Keycloak Offline Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/keycloak/offline/callback","href":"/openhands/usage/cloud/api-reference/keycloak-offline-callback"},{"title":"Github Dummy Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /oauth/github/callback","href":"/openhands/usage/cloud/api-reference/github-dummy-callback"},{"title":"Device Authorization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/authorize","href":"/openhands/usage/cloud/api-reference/device-authorization"},{"title":"Device Token","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/token","href":"/openhands/usage/cloud/api-reference/device-token"},{"title":"Device Verification Authenticated","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /oauth/device/verify-authenticated","href":"/openhands/usage/cloud/api-reference/device-verification-authenticated"},{"title":"Get User App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/users/app","href":"/openhands/usage/cloud/api-reference/get-user-app-settings"},{"title":"Update User App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/users/app","href":"/openhands/usage/cloud/api-reference/update-user-app-settings"},{"title":"Github Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/github/events","href":"/openhands/usage/cloud/api-reference/github-events"},{"title":"Gitlab Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/gitlab/events","href":"/openhands/usage/cloud/api-reference/gitlab-events"},{"title":"Get Gitlab Resources","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/gitlab/resources","href":"/openhands/usage/cloud/api-reference/get-gitlab-resources"},{"title":"Reinstall Gitlab Webhook","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/gitlab/reinstall-webhook","href":"/openhands/usage/cloud/api-reference/reinstall-gitlab-webhook"},{"title":"Bitbucket Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/bitbucket/events","href":"/openhands/usage/cloud/api-reference/bitbucket-events"},{"title":"List Pending Invitations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/invite","href":"/openhands/usage/cloud/api-reference/list-pending-invitations"},{"title":"Create Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/members/invite","href":"/openhands/usage/cloud/api-reference/create-invitation"},{"title":"Revoke Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/members/invite/{invitation_id}","href":"/openhands/usage/cloud/api-reference/revoke-invitation"},{"title":"Accept Invitation Redirect","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/members/invite/accept","href":"/openhands/usage/cloud/api-reference/accept-invitation-redirect"},{"title":"Accept Invitation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/members/invite/accept","href":"/openhands/usage/cloud/api-reference/accept-invitation"},{"title":"Install","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/install","href":"/openhands/usage/cloud/api-reference/install"},{"title":"Install Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/install-callback","href":"/openhands/usage/cloud/api-reference/install-callback"},{"title":"Keycloak Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /slack/keycloak-callback","href":"/openhands/usage/cloud/api-reference/keycloak-callback-1"},{"title":"On Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-event","href":"/openhands/usage/cloud/api-reference/on-event"},{"title":"On Options Load","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-options-load","href":"/openhands/usage/cloud/api-reference/on-options-load"},{"title":"On Form Interaction","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /slack/on-form-interaction","href":"/openhands/usage/cloud/api-reference/on-form-interaction"},{"title":"Jira Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/events","href":"/openhands/usage/cloud/api-reference/jira-events"},{"title":"Create Jira Workspace","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces","href":"/openhands/usage/cloud/api-reference/create-jira-workspace"},{"title":"Get Current Workspace Link","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/workspaces/link","href":"/openhands/usage/cloud/api-reference/get-current-workspace-link"},{"title":"Create Workspace Link","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces/link","href":"/openhands/usage/cloud/api-reference/create-workspace-link"},{"title":"Jira Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/callback","href":"/openhands/usage/cloud/api-reference/jira-callback"},{"title":"Unlink Workspace","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /integration/jira/workspaces/unlink","href":"/openhands/usage/cloud/api-reference/unlink-workspace"},{"title":"Validate Workspace Integration","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /integration/jira/workspaces/validate/{workspace_name}","href":"/openhands/usage/cloud/api-reference/validate-workspace-integration"},{"title":"Update Email","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/email","href":"/openhands/usage/cloud/api-reference/update-email"},{"title":"Resend Email Verification","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/email/resend","href":"/openhands/usage/cloud/api-reference/resend-email-verification"},{"title":"Verified Email","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/email/verified","href":"/openhands/usage/cloud/api-reference/verified-email"}]},{"group":"Billing","pages":[{"title":"Get Credits","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/credits","href":"/openhands/usage/cloud/api-reference/billing/get-credits"},{"title":"Get Subscription Access","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/subscription-access","href":"/openhands/usage/cloud/api-reference/billing/get-subscription-access"},{"title":"Has Payment Method","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/has-payment-method","href":"/openhands/usage/cloud/api-reference/billing/has-payment-method"},{"title":"Create Customer Setup Session","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/create-customer-setup-session","href":"/openhands/usage/cloud/api-reference/billing/create-customer-setup-session"},{"title":"Create Checkout Session","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/billing/create-checkout-session","href":"/openhands/usage/cloud/api-reference/billing/create-checkout-session"},{"title":"Success Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/success","href":"/openhands/usage/cloud/api-reference/billing/success-callback"},{"title":"Cancel Callback","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/billing/cancel","href":"/openhands/usage/cloud/api-reference/billing/cancel-callback"}]},{"group":"Sharing","pages":[{"title":"Batch Get Shared Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-conversations","href":"/openhands/usage/cloud/api-reference/sharing/batch-get-shared-conversations"},{"title":"Search Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/search","href":"/openhands/usage/cloud/api-reference/sharing/search-shared-events"},{"title":"Count Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/count","href":"/openhands/usage/cloud/api-reference/sharing/count-shared-events"},{"title":"Batch Get Shared Events","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events","href":"/openhands/usage/cloud/api-reference/sharing/batch-get-shared-events"},{"title":"Get Shared Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/shared-events/{conversation_id}/{event_id}","href":"/openhands/usage/cloud/api-reference/sharing/get-shared-event"}]},{"group":"Keys","pages":[{"title":"Check Byor Permitted","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/llm/byor/permitted","href":"/openhands/usage/cloud/api-reference/keys/check-byor-permitted"},{"title":"List Api Keys","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys","href":"/openhands/usage/cloud/api-reference/keys/list-api-keys"},{"title":"Create Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys","href":"/openhands/usage/cloud/api-reference/keys/create-api-key"},{"title":"Delete Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/keys/{key_id}","href":"/openhands/usage/cloud/api-reference/keys/delete-api-key"},{"title":"Get Current Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/current","href":"/openhands/usage/cloud/api-reference/keys/get-current-api-key"},{"title":"Refresh Managed Llm Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys/llm/managed/refresh","href":"/openhands/usage/cloud/api-reference/keys/refresh-managed-llm-api-key"},{"title":"Get Llm Api Key For Byor","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/keys/llm/byor","href":"/openhands/usage/cloud/api-reference/keys/get-llm-api-key-for-byor"},{"title":"Refresh Llm Api Key For Byor","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/keys/llm/byor/refresh","href":"/openhands/usage/cloud/api-reference/keys/refresh-llm-api-key-for-byor"}]},{"group":"Service","pages":[{"title":"Service Health","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/service/health","href":"/openhands/usage/cloud/api-reference/service/service-health"},{"title":"Get Or Create Api Key For User","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/service/users/{user_id}/orgs/{org_id}/api-keys","href":"/openhands/usage/cloud/api-reference/service/get-or-create-api-key-for-user"},{"title":"Delete User Api Key","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/service/users/{user_id}/orgs/{org_id}/api-keys/{key_name}","href":"/openhands/usage/cloud/api-reference/service/delete-user-api-key"}]},{"group":"Orgs","pages":[{"title":"List User Orgs","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations","href":"/openhands/usage/cloud/api-reference/orgs/list-user-orgs"},{"title":"Create Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations","href":"/openhands/usage/cloud/api-reference/orgs/create-org"},{"title":"Get Org Defaults Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/settings","href":"/openhands/usage/cloud/api-reference/orgs/get-org-defaults-settings"},{"title":"Update Org Defaults Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/settings","href":"/openhands/usage/cloud/api-reference/orgs/update-org-defaults-settings"},{"title":"Get Legacy Org Defaults Settings","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/llm","href":"/openhands/usage/cloud/api-reference/orgs/get-legacy-org-defaults-settings"},{"title":"Update Legacy Org Defaults Settings","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/llm","href":"/openhands/usage/cloud/api-reference/orgs/update-legacy-org-defaults-settings"},{"title":"Get Org App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/app","href":"/openhands/usage/cloud/api-reference/orgs/get-org-app-settings"},{"title":"Update Org App Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/app","href":"/openhands/usage/cloud/api-reference/orgs/update-org-app-settings"},{"title":"Get Org","deprecated":true,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/get-org"},{"title":"Delete Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/delete-org"},{"title":"Update Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}","href":"/openhands/usage/cloud/api-reference/orgs/update-org"},{"title":"Get Me","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/me","href":"/openhands/usage/cloud/api-reference/orgs/get-me"},{"title":"Get Org Members","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members"},{"title":"Get Org Members Count","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/count","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members-count"},{"title":"Get Org Members Financial","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/members/financial","href":"/openhands/usage/cloud/api-reference/orgs/get-org-members-financial"},{"title":"Get Org Budget Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/budgets","href":"/openhands/usage/cloud/api-reference/orgs/get-org-budget-settings"},{"title":"Update Org Budget Settings","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/budgets","href":"/openhands/usage/cloud/api-reference/orgs/update-org-budget-settings"},{"title":"Upsert Org Budget Override","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/organizations/{org_id}/budgets/overrides/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/upsert-org-budget-override"},{"title":"Delete Org Budget Override","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/budgets/overrides/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/delete-org-budget-override"},{"title":"Remove Org Member","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/members/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/remove-org-member"},{"title":"Update Org Member","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json patch /api/organizations/{org_id}/members/{user_id}","href":"/openhands/usage/cloud/api-reference/orgs/update-org-member"},{"title":"Switch Org","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/switch","href":"/openhands/usage/cloud/api-reference/orgs/switch-org"},{"title":"Get Git Claims","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/git-claims","href":"/openhands/usage/cloud/api-reference/orgs/get-git-claims"},{"title":"Claim Git Organization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/git-claims","href":"/openhands/usage/cloud/api-reference/orgs/claim-git-organization"},{"title":"Disconnect Git Organization","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/git-claims/{claim_id}","href":"/openhands/usage/cloud/api-reference/orgs/disconnect-git-organization"},{"title":"List Org Conversations","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations","href":"/openhands/usage/cloud/api-reference/orgs/list-org-conversations"},{"title":"Get Org Conversation Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/stats","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-stats"},{"title":"Get Org Conversation Usage Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/usage-stats","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-usage-stats"},{"title":"Get Org Conversation User Usage Stats","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/user-usage","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation-user-usage-stats"},{"title":"Export Org Conversations Csv","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/export","href":"/openhands/usage/cloud/api-reference/orgs/export-org-conversations-csv"},{"title":"Get Org Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/conversations/{conversation_id}","href":"/openhands/usage/cloud/api-reference/orgs/get-org-conversation"},{"title":"Stop Org Conversation","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/conversations/{conversation_id}/stop","href":"/openhands/usage/cloud/api-reference/orgs/stop-org-conversation"}]},{"group":"Admin","pages":[{"title":"List Super Admins","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/admin/super-admins","href":"/openhands/usage/cloud/api-reference/admin/list-super-admins"},{"title":"Grant Super Admin","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/admin/super-admins","href":"/openhands/usage/cloud/api-reference/admin/grant-super-admin"},{"title":"Revoke Super Admin","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/admin/super-admins/{user_id}","href":"/openhands/usage/cloud/api-reference/admin/revoke-super-admin"}]},{"group":"Organization Profiles","pages":[{"title":"List Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/profiles","href":"/openhands/usage/cloud/api-reference/organization-profiles/list-profiles"},{"title":"Get Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/get-profile"},{"title":"Save Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/save-profile"},{"title":"Delete Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/organizations/{org_id}/profiles/{name}","href":"/openhands/usage/cloud/api-reference/organization-profiles/delete-profile"},{"title":"Activate Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}/activate","href":"/openhands/usage/cloud/api-reference/organization-profiles/activate-profile"},{"title":"Rename Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/organizations/{org_id}/profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/organization-profiles/rename-profile"}]},{"group":"Agent Profiles","pages":[{"title":"List Agent Profiles","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/agent-profiles","href":"/openhands/usage/cloud/api-reference/agent-profiles/list-agent-profiles"},{"title":"Get Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/get-agent-profile"},{"title":"Save Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/save-agent-profile"},{"title":"Delete Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/agent-profiles/{name}","href":"/openhands/usage/cloud/api-reference/agent-profiles/delete-agent-profile"},{"title":"Rename Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}/rename","href":"/openhands/usage/cloud/api-reference/agent-profiles/rename-agent-profile"},{"title":"Activate Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{profile_id}/activate","href":"/openhands/usage/cloud/api-reference/agent-profiles/activate-agent-profile"},{"title":"Materialize Agent Profile","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/agent-profiles/{name}/materialize","href":"/openhands/usage/cloud/api-reference/agent-profiles/materialize-agent-profile"}]},{"group":"Verified Models","pages":[{"title":"Search Verified Models","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json get /api/admin/verified-models","href":"/openhands/usage/cloud/api-reference/verified-models/search-verified-models"},{"title":"Create Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/admin/verified-models","href":"/openhands/usage/cloud/api-reference/verified-models/create-verified-model"},{"title":"Update Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json put /api/admin/verified-models/{provider}/{model_name}","href":"/openhands/usage/cloud/api-reference/verified-models/update-verified-model"},{"title":"Delete Verified Model","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json delete /api/admin/verified-models/{provider}/{model_name}","href":"/openhands/usage/cloud/api-reference/verified-models/delete-verified-model"}]},{"group":"Analytics","pages":[{"title":"Track Frontend Event","deprecated":null,"version":null,"openapi":"/openapi/openhands-cloud.json post /api/analytics/events","href":"/openhands/usage/cloud/api-reference/analytics/track-frontend-event"}]}]}]}]},{"tab":"Enterprise","pages":[{"group":"OpenHands Enterprise","pages":[{"title":"OpenHands Enterprise","icon":"building","href":"/enterprise"},{"title":"Enterprise vs. Open Source","icon":"scale-balanced","href":"/enterprise/enterprise-vs-oss"},{"title":"Architecture","icon":"sitemap","href":"/enterprise/architecture"},{"title":"Sizing Guide","icon":"ruler","href":"/enterprise/sizing-guide"},{"group":"Custom Sandbox Images","icon":"box","pages":[{"title":"Custom Sandbox Images","icon":"box","href":"/enterprise/custom-sandbox-images/index"},{"title":"Building a Custom Sandbox Image","icon":"docker","href":"/enterprise/custom-sandbox-images/building-custom-images"},{"title":"Configuring Custom Sandbox Images","icon":"layer-group","href":"/enterprise/custom-sandbox-images/multiple-images-warm-pools"},{"title":"Single Image via Admin Console","icon":"triangle-exclamation","href":"/enterprise/custom-sandbox-images/single-image-admin-console"},{"title":"Using Custom Images","icon":"play","href":"/enterprise/custom-sandbox-images/using-custom-images"}]},{"title":"Running Docker in the Agent Sandbox","icon":"docker","href":"/enterprise/docker-in-sandbox"},{"title":"External PostgreSQL","icon":"database","href":"/enterprise/external-postgres"},{"title":"Troubleshooting","icon":"life-ring","href":"/enterprise/troubleshooting"}]},{"group":"Feature Guides","pages":[{"title":"Conversations And Sandboxes","icon":"boxes-stacked","href":"/enterprise/conversations-and-sandboxes"},{"group":"Automations","icon":"bolt","root":{"title":"Automations","icon":"bolt","href":"/enterprise/automations"},"pages":[{"title":"GitHub Event Automations","icon":"github","href":"/enterprise/automations/github-events"}]},{"title":"Skills and Plugins","icon":"puzzle-piece","href":"/enterprise/skills-and-plugins"},{"title":"Plugin Marketplace","icon":"store","href":"/enterprise/plugin-marketplace"},{"title":"Analytics","icon":"rocket","href":"/enterprise/analytics"},{"group":"Organizations","icon":"building","pages":[{"title":"Organizations Overview","href":"/openhands/usage/cloud/organizations/overview"},{"title":"Configuring Organizations","href":"/openhands/usage/cloud/organizations/configuring-organizations"},{"title":"Managing Members","href":"/openhands/usage/cloud/organizations/managing-members"},{"title":"Roles and Permissions","href":"/openhands/usage/cloud/organizations/roles-permissions"},{"title":"Organization Settings","href":"/openhands/usage/cloud/organizations/settings"},{"title":"Budgets","href":"/openhands/usage/cloud/organizations/budgets"}]},{"group":"Release Notes","icon":"rocket","pages":[{"title":"OpenHands Enterprise 0.90.1","href":"/enterprise/release-notes/0.90.1"},{"title":"OpenHands Enterprise 0.81.0","href":"/enterprise/release-notes/0.81.0"},{"title":"OpenHands Enterprise 0.76.0","href":"/enterprise/release-notes/0.76.0"},{"title":"OpenHands Enterprise 0.74.0","href":"/enterprise/release-notes/0.74.0"},{"title":"OpenHands Enterprise 0.71.1","href":"/enterprise/release-notes/0.71.1"},{"title":"OpenHands Enterprise 0.70.0","href":"/enterprise/release-notes/0.70.0"},{"title":"OpenHands Enterprise 0.64.0","href":"/enterprise/release-notes/0.64.0"},{"title":"OpenHands Enterprise 0.55.0","href":"/enterprise/release-notes/0.55.0"},{"title":"OpenHands Enterprise 0.45.0","href":"/enterprise/release-notes/0.45.0"},{"title":"OpenHands Enterprise 0.41.0","href":"/enterprise/release-notes/0.41.0"},{"title":"OpenHands Enterprise 0.36.1","href":"/enterprise/release-notes/0.36.1"},{"title":"OpenHands Enterprise 0.36.0","href":"/enterprise/release-notes/0.36.0"},{"title":"OpenHands Enterprise 0.28.0","href":"/enterprise/release-notes/0.28.0"},{"title":"OpenHands Enterprise 0.24.0","href":"/enterprise/release-notes/0.24.0"}]}]},{"group":"Integrations","pages":[{"title":"Integrations Overview","icon":"puzzle-piece","href":"/enterprise/integrations/overview"},{"title":"GitHub","icon":"github","href":"/enterprise/integrations/github"},{"title":"GitLab","icon":"code-branch","href":"/enterprise/integrations/gitlab"},{"title":"Azure DevOps","icon":"code-branch","href":"/enterprise/integrations/azure-devops"},{"title":"Bitbucket Data Center","icon":"code-branch","href":"/enterprise/integrations/bitbucket-data-center"},{"title":"Jira Cloud","icon":"cloud","href":"/enterprise/integrations/jira-cloud"},{"title":"Jira Data Center","icon":"building","href":"/enterprise/integrations/jira-data-center"},{"group":"SAML SSO","icon":"shield-check","pages":[{"title":"SAML SSO","icon":"user-shield","href":"/enterprise/integrations/saml-sso"},{"title":"Authentik","icon":"key","href":"/enterprise/integrations/saml-providers/authentik"}]},{"title":"Slack","icon":"slack","href":"/enterprise/integrations/slack"},{"title":"External LLM Gateways","icon":"network-wired","href":"/enterprise/integrations/external-llm-gateways"},{"title":"Azure LLM Gateway","icon":"https://mintlify.s3.us-west-1.amazonaws.com/allhandsai/enterprise/images/azure-logo.svg","href":"/enterprise/integrations/azure-llm-gateway"},{"title":"AWS Bedrock LLM Gateway","icon":"cloud","href":"/enterprise/integrations/aws-bedrock-llm-gateway"},{"title":"Google LLM Gateway","icon":"google","href":"/enterprise/integrations/google-llm-gateway"},{"title":"External Observability Platforms","icon":"chart-line","href":"/enterprise/integrations/observability-platforms"}]},{"group":"VM Install","pages":[{"title":"Generic VM Quick Start","icon":"server","href":"/enterprise/vm-install/generic-vm"},{"title":"AWS Quick Start","icon":"aws","href":"/enterprise/vm-install/aws"},{"title":"Google Cloud Quick Start","icon":"google","href":"/enterprise/vm-install/google"},{"title":"Azure Quick Start","icon":"microsoft","href":"/enterprise/vm-install/azure"},{"title":"Admin Console Configuration","icon":"sliders","href":"/enterprise/vm-install/admin-console-configuration"},{"title":"Log Collection","icon":"file-lines","href":"/enterprise/vm-install/log-collection"},{"title":"Scaling the Cluster","icon":"server","href":"/enterprise/vm-install/scaling"}]},{"group":"K8s Install","pages":[{"title":"Kubernetes Installation","icon":"dharmachakra","href":"/enterprise/k8s-install/index"},{"title":"Install with Helm","icon":"ship","href":"/enterprise/k8s-install/installation"},{"title":"Enable Automations with Helm","icon":"clock","href":"/enterprise/k8s-install/automations"},{"title":"Installing Sysbox","icon":"cube","href":"/enterprise/k8s-install/sysbox"},{"title":"DNS and TLS","icon":"lock","href":"/enterprise/k8s-install/dns-and-tls"},{"title":"Resource Limits","icon":"gauge-high","href":"/enterprise/k8s-install/resource-limits"},{"title":"Upgrade Guidance","icon":"circle-up","href":"/enterprise/k8s-install/upgrade-guidance"},{"title":"Amazon EKS","icon":"aws","href":"/enterprise/k8s-install/eks"},{"title":"Azure AKS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/allhandsai/enterprise/images/azure-logo.svg","href":"/enterprise/k8s-install/aks"},{"title":"Google GKE","icon":"cloud","href":"/enterprise/k8s-install/gke"}]},{"group":"Experimental","pages":[{"group":"Docker Compose","icon":"docker","root":{"title":"Docker Compose","icon":"docker","href":"/enterprise/docker-compose"},"pages":[{"title":"Run on a VM with HTTPS","sidebarTitle":"VM with HTTPS","icon":"lock","href":"/enterprise/docker-compose/https"},{"title":"Serve with ngrok","sidebarTitle":"ngrok","icon":"globe","href":"/enterprise/docker-compose/ngrok"}]}]}]},{"tab":"Enterprise Cookbook","groups":[{"group":"Overview","pages":[{"title":"Enterprise Cookbook","href":"/cookbook"}]},{"group":"Sandbox lifecycle","pages":[{"title":"Archive Sandbox","icon":"box-archive","href":"/cookbook/archive-sandbox"},{"title":"Clone and Attach","icon":"code-branch","href":"/cookbook/clone-and-attach"},{"title":"Start Sandbox","icon":"play","href":"/cookbook/start-sandbox"},{"title":"Warm Sandbox Pool","icon":"fire","href":"/cookbook/warm-sandbox-pool"}]},{"group":"Conversation monitoring \u0026 reacting","pages":[{"title":"Conversation Metrics","icon":"chart-line","href":"/cookbook/conversation-metrics"},{"title":"Conversation Tags","icon":"tags","href":"/cookbook/conversation-tags"},{"title":"Finish Callback","icon":"bell","href":"/cookbook/finish-callback"},{"title":"React to State WebSocket","icon":"bolt","href":"/cookbook/react-to-state-websocket"},{"title":"Server Info Idle","icon":"clock","href":"/cookbook/server-info-idle"},{"title":"Watch Terminal State","icon":"terminal","href":"/cookbook/watch-terminal-state"}]},{"group":"Secrets \u0026 authentication","pages":[{"title":"AWS Secrets Sync","icon":"key","href":"/cookbook/aws-secrets-sync"},{"title":"GPG Commit Signing","icon":"file-signature","href":"/cookbook/gpg-commit-signing"},{"title":"Per-Conversation Secrets","icon":"user-secret","href":"/cookbook/per-conversation-secrets"},{"title":"Service Account GitHub PAT","icon":"id-card","href":"/cookbook/service-account-github-pat"}]},{"group":"Onboarding \u0026 org admin","pages":[{"title":"Super Admins and Organizations","icon":"user-shield","href":"/cookbook/org-admin"},{"title":"Provision Users","icon":"users-gear","href":"/cookbook/provision-users"}]},{"group":"Plugins, skills \u0026 MCP","pages":[{"title":"Launch Plugin Badge","icon":"rocket","href":"/cookbook/launch-plugin-badge"},{"title":"Load Plugin","icon":"plug","href":"/cookbook/load-plugin"},{"title":"Plugin With Script","icon":"file-code","href":"/cookbook/plugin-with-script"},{"title":"Test MCP Config","icon":"vial","href":"/cookbook/test-mcp-config"},{"title":"Upload Skills","icon":"upload","href":"/cookbook/upload-skills"}]},{"group":"Custom agents \u0026 tools","pages":[{"title":"Custom Agent No Browser","icon":"sliders","href":"/cookbook/custom-agent-no-browser"},{"title":"Custom Pip Tool Agent","icon":"box","href":"/cookbook/custom-agent-with-pip-tool"},{"title":"Custom Agent With Tool","icon":"wrench","href":"/cookbook/custom-agent-with-tool"},{"title":"Custom System Prompt","icon":"message","href":"/cookbook/custom-system-prompt"},{"title":"Disabled Skills","icon":"ban","href":"/cookbook/disabled-skills"}]},{"group":"Guardrails","pages":[{"title":"Command Blacklist","icon":"shield-halved","href":"/cookbook/command-blacklist"},{"title":"Command Whitelist","icon":"user-shield","href":"/cookbook/command-whitelist"},{"title":"Workspace Isolation","icon":"folder-tree","href":"/cookbook/workspace-isolation"}]}]}]},"title":"Critic (Experimental) - OpenHands Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CVZVK4hN.js","lightbox-handle-r17bVUz3.js"]}