Command-line tools installed into the sandbox snapshot, so agents find them ready.
Agents that work at a terminal usually need more than the base image gives them: a cloud provider’s CLI, a database client, a deployment tool.An environment can carry a list of CLIs, picked from a catalogue. Devic installs them into the snapshot, so every sandbox that starts from it already has them — no waiting for an install on each run, and no init script that reinstalls the same thing every time.
How installing works
Changing the CLI list rebakes the snapshot: Devic starts a temporary sandbox, runs the install scripts, and re-snapshots if everything succeeded.
1
Adding a CLI
Installed as a delta on top of the current snapshot — quick, and it keeps everything already there.
2
Removing a CLI
Rebuilt from the base image with the remaining CLIs. The catalogue has install scripts, not uninstall scripts, so a clean rebuild is the only way to guarantee the snapshot holds exactly what the list says.
3
Watching it happen
Progress streams step by step — the command running, its output, its exit code. A failed install tells you which step failed and why, rather than leaving a spinner and a summary.
CLIs are only changed through this flow. Editing the rest of the environment never triggers a rebake, so a name change does not cost you a snapshot rebuild.
Versions
A CLI can be updated to a newer version from the same screen, which rebakes the snapshot with the new one. The environment records what is actually installed, so the list you see is the state of the machine rather than an intention.
Access
For an account with guest users, the CLIs of an environment follow the environment’s project. A guest with access to that project can use them; the catalogue itself is administered centrally.
When the CLI catalogue is not configured for your deployment, this section is hidden entirely rather than shown empty.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Devic Documentation","description":"Turn your SaaS AI-native with Devic. Build, deploy, and operate agents, assistants, MCP tools, RAG, and AI workflows from one platform.","colors":{"primary":"#4764E6","light":"#6F8EFF","dark":"#2C3A8C"},"logo":{"light":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-light.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=ec3c30fed45bb07177168ad49854c2c5","dark":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-dark.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=2b637f4060c2001b87f21305b19a4b9c","href":"https://app.devic.ai/"},"favicon":{"light":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/favicon.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=78aacd249630ae953a05222ef3ca5b69","dark":"https://mintcdn.com/devic/gabzi_FqrplBFOjV/favicon.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=78aacd249630ae953a05222ef3ca5b69"},"navbar":{"links":[{"href":"mailto:info@devic.ai","label":"Support"}],"primary":{"type":"button","label":"Login","href":"https://app.devic.ai/"}},"footer":{"socials":{"x":"https://x.com/devic_ai","github":"https://github.com/devicai","linkedin":"https://www.linkedin.com/company/devicai"}},"integrations":{"ga4":{"measurementId":"G-8K836ZN854"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"background":"https://mintcdn.com/devic/w7qYRbVpXOedcE7E/images/5e60580e-c9b6-41ae-a6e5-984cf4648873.png?fit=max\u0026auto=format\u0026n=w7qYRbVpXOedcE7E\u0026q=85\u0026s=4f2220729f821080ee1ca120071a72a7"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"devic","hasAudioNarration":false,"actualSubdomain":"devic","customDomains":["docs.devic.ai"],"gitSource":{"type":"github","owner":"devicai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af8c608541a7d21b873fb64","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API reference","count":186},{"language":"default","tag":"Devic","count":89},{"language":"default","tag":"Agents","count":48},{"language":"default","tag":"Assistants","count":31},{"language":"default","tag":"Knowledge","count":25},{"language":"default","tag":"Environments","count":18},{"language":"default","tag":"Integrations","count":15},{"language":"default","tag":"Tool Servers","count":14},{"language":"default","tag":"MCPs","count":13},{"language":"default","tag":"Guardrails","count":12}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"devic/environments/clis","slug":"/devic/environments/clis","pageMetadata":{"title":"CLIs in an environment","description":"Command-line tools installed into the sandbox snapshot, so agents find them ready.","href":"/devic/environments/clis"},"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: \"Command-line tools installed into the sandbox snapshot, so agents find them ready.\"\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={hr:`hr`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,OptimizedImage,Step,Steps,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Agents that work at a terminal usually need more than the base image gives them: a cloud provider’s CLI, a database client, a deployment tool.`}),`\n`,_jsxs(_components.p,{children:[`An environment can carry a list of CLIs, picked from a catalogue. Devic installs them `,_jsx(_components.strong,{children:`into the snapshot`}),`, so every sandbox that starts from it already has them — no waiting for an install on each run, and no init script that reinstalls the same thing every time.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=f43253e44dd37853b5fac566bac3dd50`,alt:`CLIs of an environment`,\"data-og-width\":`495`,width:`495`,\"data-og-height\":`364`,height:`364`,\"data-path\":`images/environments/clis.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=280\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=070608d56e96ba9215e8e7d1869c5f6f 280w, https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=560\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=e99c6c4efffc7f3a2bcaf5da452aaf4c 560w, https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=840\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=6e0a2f5486fb16b7c5982ae7a01e04ec 840w, https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=1100\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=9c3dce4cfadc3513f72214bd8c5dd9af 1100w, https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=1650\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=51a60ce5fa6a365a8f87177b8842436d 1650w, https://mintcdn.com/devic/DKyKkxiOLW4okLYC/images/environments/clis.png?w=2500\u0026fit=max\u0026auto=format\u0026n=DKyKkxiOLW4okLYC\u0026q=85\u0026s=c35ec225d49a39a9debdbfa1adab896a 2500w`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`how-installing-works`,children:`How installing works`}),`\n`,_jsx(_components.p,{children:`Changing the CLI list rebakes the snapshot: Devic starts a temporary sandbox, runs the install scripts, and re-snapshots if everything succeeded.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Adding a CLI`,children:_jsx(_components.p,{children:`Installed as a delta on top of the current snapshot — quick, and it keeps everything already there.`})}),_jsx(Step,{title:`Removing a CLI`,children:_jsx(_components.p,{children:`Rebuilt from the base image with the remaining CLIs. The catalogue has install scripts, not uninstall scripts, so a clean rebuild is the only way to guarantee the snapshot holds exactly what the list says.`})}),_jsx(Step,{title:`Watching it happen`,children:_jsx(_components.p,{children:`Progress streams step by step — the command running, its output, its exit code. A failed install tells you which step failed and why, rather than leaving a spinner and a summary.`})})]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`CLIs are only changed through this flow. Editing the rest of the environment never triggers a rebake, so a name change does not cost you a snapshot rebuild.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`versions`,children:`Versions`}),`\n`,_jsx(_components.p,{children:`A CLI can be updated to a newer version from the same screen, which rebakes the snapshot with the new one. The environment records what is actually installed, so the list you see is the state of the machine rather than an intention.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`access`,children:`Access`}),`\n`,_jsx(_components.p,{children:`For an account with guest users, the CLIs of an environment follow the environment’s project. A guest with access to that project can use them; the catalogue itself is administered centrally.`}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`When the CLI catalogue is not configured for your deployment, this section is hidden entirely rather than shown empty.`})})]})}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":"CLIs in an environment","description":"Command-line tools installed into the sandbox snapshot, so agents find them ready.","href":"/devic/environments/clis"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How installing works","slug":"how-installing-works","depth":2,"children":[]},{"title":"Versions","slug":"versions","depth":2,"children":[]},{"title":"Access","slug":"access","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"devic","siteName":"Devic Documentation","title":"CLIs in an environment - Devic Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-18T14:11:06.714Z","originalFileLocation":"devic/environments/clis.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=\"system\"}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=\"Command-line tools installed into the sandbox snapshot, so agents find them ready.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Devic Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_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/devic/oZEAyyhd9yq0DCvd/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CLIs in an environment - Devic Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Command-line tools installed into the sandbox snapshot, so agents find them ready.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Devic Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.devic.ai/devic/environments/clis\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://devic.mintlify.site/_mintlify/api/og/v2?division=Environments\u0026amp;title=CLIs+in+an+environment\u0026amp;description=Command-line+tools+installed+into+the+sandbox+snapshot%2C+so+agents+find+them+ready.\u0026amp;theme=95b260005b3b0c5cfb2d00ae\u0026amp;signature=ece0eb615a54a0ce909e49aee67a5b9ccda6dde9babc24980c4aceee9ce11708\">\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=\"CLIs in an environment - Devic Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Command-line tools installed into the sandbox snapshot, so agents find them ready.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://devic.mintlify.site/_mintlify/api/og/v2?division=Environments\u0026amp;title=CLIs+in+an+environment\u0026amp;description=Command-line+tools+installed+into+the+sandbox+snapshot%2C+so+agents+find+them+ready.\u0026amp;theme=95b260005b3b0c5cfb2d00ae\u0026amp;signature=ece0eb615a54a0ce909e49aee67a5b9ccda6dde9babc24980c4aceee9ce11708\">\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/devic/oZEAyyhd9yq0DCvd/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Devic Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4764E6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.devic.ai/devic/environments/clis\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/devic/environments/clis.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.devic.ai/#organization\",\"name\":\"Devic Documentation\",\"url\":\"https://docs.devic.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/devic/gabzi_FqrplBFOjV/logo/devic-light.svg?fit=max\u0026auto=format\u0026n=gabzi_FqrplBFOjV\u0026q=85\u0026s=ec3c30fed45bb07177168ad49854c2c5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.devic.ai#website\",\"name\":\"Devic Documentation\",\"url\":\"https://docs.devic.ai\",\"publisher\":{\"@id\":\"https://docs.devic.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.devic.ai/devic/environments/clis#webpage\",\"url\":\"https://docs.devic.ai/devic/environments/clis\",\"name\":\"CLIs in an environment\",\"description\":\"Command-line tools installed into the sandbox snapshot, so agents find them ready.\",\"dateModified\":\"2026-08-18T14:11:06.714Z\",\"isPartOf\":{\"@id\":\"https://docs.devic.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.devic.ai/devic/environments/clis#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.devic.ai/devic/environments/clis#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Environments\",\"item\":\"https://docs.devic.ai/devic/environments\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CLIs in an environment\",\"item\":\"https://docs.devic.ai/devic/environments/clis\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.devic.ai/devic/environments/clis#article\",\"headline\":\"CLIs in an environment\",\"name\":\"CLIs in an environment\",\"description\":\"Command-line tools installed into the sandbox snapshot, so agents find them ready.\",\"url\":\"https://docs.devic.ai/devic/environments/clis\",\"mainEntityOfPage\":{\"@id\":\"https://docs.devic.ai/devic/environments/clis#webpage\"},\"dateModified\":\"2026-08-18T14:11:06.714Z\",\"publisher\":{\"@id\":\"https://docs.devic.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.devic.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Devic Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Devic Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/devic/environments/clis.md","siteName":"Devic Documentation","nav":{"global":null,"tabs":[{"tab":"Devic","groups":[{"group":"Get Started","icon":"rocket","expanded":true,"pages":[{"title":"Introduction","href":"/devic/introduction"},{"title":"Getting Started","href":"/devic/quickstart"},{"title":"Core concepts","href":"/devic/core-concepts"}]},{"group":"Projects","icon":"folder","pages":[{"title":"Projects","href":"/devic/projects/index"}]},{"group":"MCPs","icon":"server","expanded":true,"pages":[{"title":"What They Are","href":"/devic/mcps/index"},{"group":"My MCPs","expanded":false,"pages":[{"title":"What My MCPs Are","href":"/devic/mcps/my-mcps/what-it-is"},{"title":"Import tool","href":"/devic/mcps/my-mcps/import-tool"},{"title":"Tools Menu","href":"/devic/mcps/my-mcps/tools-menu"},{"title":"Configure the tools","href":"/devic/mcps/my-mcps/configure-tools"},{"title":"Publish MCP","href":"/devic/mcps/my-mcps/publish"},{"title":"MCP Sessions and Activity","href":"/devic/mcps/my-mcps/sessions"},{"title":"SDKs and Widgets","href":"/devic/mcps/my-mcps/sdks-and-widgets"},{"title":"Integration with LLMs","href":"/devic/mcps/my-mcps/integration-with-llms"}]},{"title":"Connected MCPs","href":"/devic/mcps/connected-mcps"},{"group":"Built-in Tools","expanded":false,"pages":[{"title":"What It Is","href":"/devic/mcps/built-in-tools/index"},{"title":"List of Built-in Tools","href":"/devic/mcps/built-in-tools/tools-list"}]},{"title":"MCP Gateway","href":"/devic/mcps/mcp-gateway"}]},{"group":"Agents","icon":"robot","expanded":true,"pages":[{"title":"What It Is","href":"/devic/agents/index"},{"title":"Launch Your First Agent","href":"/devic/agents/deploy-your-first-agent"},{"title":"Agent Prompt","href":"/devic/agents/prompt"},{"title":"Tools","href":"/devic/agents/tools"},{"title":"RAG","href":"/devic/agents/rag"},{"group":"Continuous Optimization","expanded":false,"pages":[{"title":"Overview","href":"/devic/agents/continuous-optimization/index"},{"title":"Logs","href":"/devic/agents/continuous-optimization/logs"},{"title":"Human in the Loop","href":"/devic/agents/continuous-optimization/human-in-the-loop"},{"title":"Tasks","href":"/devic/agents/continuous-optimization/tasks"},{"title":"Automatic Evaluations","href":"/devic/agents/continuous-optimization/evaluations"},{"title":"Costs","href":"/devic/agents/continuous-optimization/costs"}]},{"title":"Environment, memory and subagents","href":"/devic/agents/environment-and-subagents"},{"title":"Other Options","href":"/devic/agents/other-options"},{"group":"Guardrails","expanded":false,"pages":[{"title":"What It Is","href":"/devic/agents/guardrails/index"},{"title":"Mask PII","href":"/devic/agents/guardrails/pii"},{"title":"Moderation","href":"/devic/agents/guardrails/moderation"},{"title":"Jailbreak","href":"/devic/agents/guardrails/jailbreak"},{"title":"Off Topic Prompts","href":"/devic/agents/guardrails/off_topic_prompts"},{"title":"Custom Prompt Check","href":"/devic/agents/guardrails/custom_prompt_check"}]},{"title":"API Execution","href":"/devic/agents/api-execution"}]},{"group":"Assistants","icon":"comments","expanded":true,"pages":[{"title":"What It Is","href":"/devic/assistants/index"},{"title":"Deploy Your First Assistant","href":"/devic/assistants/deploy-your-first-assistant"},{"title":"Assistant Prompt","href":"/devic/assistants/prompt"},{"title":"Tools","href":"/devic/assistants/tools"},{"title":"RAG","href":"/devic/assistants/rag"},{"title":"Conversation Console","href":"/devic/assistants/conversation-console"},{"title":"Other Options","href":"/devic/assistants/other-options"},{"title":"Reasoning effort","href":"/devic/assistants/reasoning-effort"},{"group":"Guardrails","expanded":false,"pages":[{"title":"What It Is","href":"/devic/assistants/guardrails/index"},{"title":"Mask PII","href":"/devic/assistants/guardrails/pii"},{"title":"Moderation","href":"/devic/assistants/guardrails/moderation"},{"title":"Jailbreak","href":"/devic/assistants/guardrails/jailbreak"},{"title":"Off Topic Prompts","href":"/devic/assistants/guardrails/off_topic_prompts"},{"title":"Custom Prompt Check","href":"/devic/assistants/guardrails/custom_prompt_check"}]},{"title":"Execution via API","href":"/devic/assistants/api-execution"}]},{"group":"Knowledge","icon":"book","expanded":false,"pages":[{"title":"Knowledge","href":"/devic/knowledge/index"},{"title":"Writing documents","href":"/devic/knowledge/documents"},{"title":"Organising knowledge","href":"/devic/knowledge/organising"},{"title":"Versions and usage","href":"/devic/knowledge/versions"},{"title":"Skills","href":"/devic/knowledge/skills"},{"title":"Skills from GitHub","href":"/devic/knowledge/skills-from-github"}]},{"group":"Memory","icon":"brain","expanded":false,"pages":[{"title":"Memory","href":"/devic/memory/index"},{"title":"Core memory","href":"/devic/memory/core-memory"},{"title":"Buckets and scope","href":"/devic/memory/buckets"}]},{"group":"Databases","icon":"database","expanded":true,"pages":[{"title":"What It Is","href":"/devic/databases/index"},{"title":"Create a New Database","href":"/devic/databases/create-new-database"},{"title":"View and Edit Database","href":"/devic/databases/view-and-edit-database"}]},{"group":"Environments","icon":"layer-group","expanded":false,"pages":[{"title":"Environments","href":"/devic/environments/index"},{"title":"Configuring an environment","href":"/devic/environments/configuration"},{"title":"Sandbox and snapshots","description":"A real Linux machine your agents can work on, and the snapshot that gives it a memory of its own.","href":"/devic/environments/sandbox"},{"title":"CLIs in an environment","href":"/devic/environments/clis"}]},{"group":"Integrations","icon":"plug","expanded":false,"pages":[{"title":"Integrations","description":"Connect Gmail, HubSpot, Drive and hundreds of other apps in two clicks, and turn them into tools your agents can use.","href":"/devic/integrations/index"},{"title":"Triggers","href":"/devic/integrations/triggers"},{"title":"Integrations for your end users","href":"/devic/integrations/for-end-users"}]},{"group":"Multi-tenant","icon":"building","expanded":false,"pages":[{"title":"Multi-tenant","href":"/devic/multi-tenant/index"},{"title":"Usage limits and plans","href":"/devic/multi-tenant/usage-limits"},{"title":"Tenant sessions","href":"/devic/multi-tenant/tenant-sessions"}]},{"group":"Embed in your product","icon":"window-maximize","expanded":false,"pages":[{"title":"Embedding Devic in your product","href":"/devic/embed/index"},{"title":"The chat drawer","href":"/devic/embed/chat-widget"}]},{"group":"Skills for coding assistants","icon":"clipboard-list-check","pages":[{"title":"Overview","href":"/devic/skills/overview"},{"title":"Agents API","href":"/devic/skills/agents"},{"title":"Assistants API","href":"/devic/skills/assistants"},{"title":"Tool Servers API","href":"/devic/skills/tool-servers"}]},{"group":"CLI \u0026 SDK","icon":"rectangle-terminal","pages":[{"title":"Devic CLI","href":"/devic/cli/index"},{"title":"Server-side SDK","href":"/devic/cli/sdk"}]},{"group":"Operate","icon":"chart-line","expanded":false,"pages":[{"title":"Conversations console","href":"/devic/chats"},{"title":"AI Governance","href":"/devic/ai-governance"}]},{"group":"Administration","icon":"gear","expanded":false,"pages":[{"title":"Users and roles","href":"/devic/administration/users-and-roles"},{"title":"API keys","href":"/devic/administration/api-keys"},{"title":"Model providers","href":"/devic/administration/model-providers"},{"title":"Secrets and vaults","href":"/devic/administration/vault"},{"title":"Email channels","href":"/devic/administration/channels"},{"title":"Notifications","href":"/devic/administration/notifications"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"CLIs in an environment - Devic Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-BbK2OBGL.js","lightbox-handle-r17bVUz3.js"]}