if cosign is present in your system, in addition to the checksum check, a signature verification will be performed. This behavior can be enforced via the —force-verification flag.
Two things have to be true before the CLI can talk to your instance: the binary is installed, and it points at your instance’s endpoints. Installing from your own instance’s domain does both in a single command.
1
Download and configure the CLI
Install from your own instance’s domain and the CLI is automatically configured to talk to it — there is nothing else to set up. Copy the exact command from the Chainloop web UI — click the terminal (>_) icon in the top-right corner — or replace YOUR_INSTANCE_DOMAIN below with your own.
if cosign is present in your system, in addition to the checksum check, a signature verification will be performed. This behavior can be enforced via the —force-verification flag.
Point the CLI at your instance — only if you installed it another way
Skip this if you used the command above. Run it when the CLI came from somewhere else — dl.chainloop.dev, a package manager, or a Manual Download — or when you want to switch an existing install to a different instance.
Confirm which instance the CLI is talking to with chainloop config view.
Download the CLI binary directly and verify its SHA256 against the published checksums.txt. Use this when piping a script into bash is not an option, or when binaries need to be validated out-of-band.
Full manifest: checksums.txt · signature bundle · Release notesDownload, verify, and install (linux/amd64 shown — swap chainloop-linux-amd64 for another row from the table above):
VERSION=v1.141.0BASE=https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/$VERSION# Download the linux/amd64 binary and the checksum manifestcurl -fsSLO "$BASE/chainloop-linux-amd64"curl -fsSLO "$BASE/checksums.txt"# Download the signature bundle and confirm the manifest itself came from Chainloop's release pipelinecurl -fsSLO "$BASE/checksums.txt.sigstore.json"cosign verify-blob \ --bundle=checksums.txt.sigstore.json \ --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \ --certificate-identity-regexp="^https://github.com/chainloop-dev/platform/\.github/workflows/release_backend\.yml@" \ checksums.txt# Verify the binary against the manifestsha256sum --ignore-missing -c checksums.txt# on macOS: shasum -a 256 --ignore-missing -c checksums.txt# Install it onto your PATHchmod +x chainloop-linux-amd64sudo mv chainloop-linux-amd64 /usr/local/bin/chainloop
Unlike the install script, a manually downloaded binary isn’t automatically configured for your instance. If you’re on an on-prem or dedicated instance, point the CLI at your instance’s endpoints (Chainloop SaaS users can skip this):
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Chainloop Documentation","description":"Chainloop is the trust infrastructure for AI-driven software delivery. It collects signed, tamper-evident evidence from every build, release and AI coding session, enforces policies as code inside your CI/CD pipelines, and turns that evidence into continuous compliance. The core is open source.","colors":{"primary":"#2D1BD2","light":"#FF5C4D","dark":"#9F8951"},"logo":{"light":"https://mintcdn.com/chainloop/piBVJM34fSFTGk0R/images/logo/light.svg?fit=max\u0026auto=format\u0026n=piBVJM34fSFTGk0R\u0026q=85\u0026s=4bc355683f7e78c629ece2e28db71dff","dark":"https://mintcdn.com/chainloop/xJ5hNAgMrS6U1u_m/images/logo/dark.png?fit=max\u0026auto=format\u0026n=xJ5hNAgMrS6U1u_m\u0026q=85\u0026s=9e6be3ff192adebcb1f8fda40d07f9e4","href":"https://chainloop.dev/"},"favicon":"https://mintcdn.com/chainloop/yJa2Iopv98OPg1FZ/images/favicon/favicon-32x32.png?fit=max\u0026auto=format\u0026n=yJa2Iopv98OPg1FZ\u0026q=85\u0026s=1a0b74dcba7ec787f8ed05421f617d11","navbar":{"primary":{"type":"button","label":"Get a demo","href":"https://chainloop.dev/book-a-demo"}},"footer":{"socials":{"slack":"https://join.slack.com/t/chainloop-community/shared_invite/zt-2k34dvx3r-u85uGP_KiLC6ic5Wy4aRnQ","github":"https://github.com/chainloop-dev","x":"https://x.com/chainloop_dev","linkedin":"https://www.linkedin.com/company/chainloop-dev","youtube":"https://www.youtube.com/@chainloop-dev"}},"icons":{"library":"fontawesome"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":false},"integrations":{"intercom":{"appId":"t3644vit"},"posthog":{"apiKey":"phc_rCvU7fL4Ndr4GpzH54RNdyNUWNgTpuHX7ApDxFW6G9FS","apiHost":"https://t.chainloop.dev"},"cookies":{"key":"chainloop_analytics_consent","value":"granted"}},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://chainloop.dev/"},{"anchor":"Blog","icon":"newspaper","href":"https://chainloop.dev/blog"},{"anchor":"Get Help","icon":"headset","href":"https://help.chainloop.dev"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"chainloop","hasAudioNarration":false,"actualSubdomain":"chainloop","customDomains":["docs.chainloop.dev"],"gitSource":{"type":"github","owner":"chainloop-dev","repo":"platform-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4dc1ec4742bc089cd8fc2","collectionId":"43d4bff7-613a-4fb3-9d44-7d84c8d4b041","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4dc1ec4742bc089cd8fc2"},"feedback":{"thumbs":false,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae4dc1ec4742bc089cd8fc2","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Documentation","count":90},{"language":"default","tag":"Reference","count":65},{"language":"default","tag":"API Reference","count":62},{"language":"default","tag":"Platform Endpoints","count":59},{"language":"default","tag":"Guides","count":40},{"language":"default","tag":"Concepts","count":23},{"language":"default","tag":"References","count":17},{"language":"default","tag":"Deployment","count":15},{"language":"default","tag":"Configuration Guides","count":12},{"language":"default","tag":"AssessmentService","count":11}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cli/installation","slug":"/cli/installation","pageMetadata":{"title":"CLI Installation","description":null,"href":"/cli/installation"},"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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,CodeBlock,Frame,OptimizedImage,Step,Steps,Tab,Table,Tabs}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`You can install the Chainloop CLI using one of the following methods:`}),`\n`,_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Chainloop SaaS`,id:`chainloop-saas`,children:[_jsx(_components.p,{children:`The install script comes pre-configured for Chainloop Cloud.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`})]}),`\n`]})})}),_jsxs(Accordion,{title:`Advanced Options`,id:`advanced-options`,children:[_jsx(_components.p,{children:`you can install a specific version with`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --version`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` vx.x.x`})]}),`\n`]})})}),_jsx(_components.p,{children:`and customize the install path (defaults to /usr/local/bin)`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --path`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` /my-path`})]}),`\n`]})})}),_jsx(_components.p,{children:`To install without sudo, provide a user-accessible path:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --path`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ~/.local/bin`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`if `,_jsx(_components.a,{href:`https://docs.sigstore.dev/quickstart/quickstart-cosign/`,children:`cosign`}),` is present in your system, in addition to the checksum check, a signature verification will be performed. This behavior can be enforced via the —force-verification flag.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --force-verification`})]}),`\n`]})})}),_jsx(_components.p,{children:`To install the open-source edition instead:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://dl.chainloop.dev/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --oss`})]}),`\n`]})})})]})]}),_jsxs(Tab,{title:`On-Prem`,id:`on-prem`,children:[_jsx(_components.p,{children:`Two things have to be true before the CLI can talk to your instance: the binary is installed, and it points at your instance’s endpoints. Installing from your own instance’s domain does both in a single command.`}),_jsxs(Steps,{children:[_jsxs(Step,{title:`Download and configure the CLI`,children:[_jsxs(_components.p,{children:[`Install from your own instance’s domain and the CLI is automatically configured to talk to it — there is nothing else to set up. Copy the exact command from the Chainloop web UI — click the terminal (`,_jsx(_components.code,{children:`>_`}),`) icon in the top-right corner — or replace `,_jsx(_components.code,{children:`YOUR_INSTANCE_DOMAIN`}),` below with your own.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`})]}),`\n`]})})}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=efda7dc904d93986d5d73b3c556c4ced`,alt:`Terminal icon in the top-right corner of the Chainloop web UI that opens the CLI installation dialog`,\"data-og-width\":`1089`,width:`1089`,\"data-og-height\":`171`,height:`171`,\"data-path\":`img/setup-cli-install.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=280\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=f699ef18dac4804e80e3c3356cf07148 280w, https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=560\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=d400c5c4cfbb25d103d3fe544bb8b820 560w, https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=840\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=a001ec1645b32a379d97f31654a4ff5f 840w, https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=1100\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=5faddd9f932b9fd33fc744b5fc105ba8 1100w, https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=1650\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=f8e3d09f34e6a45fa64ba213722e5590 1650w, https://mintcdn.com/chainloop/JFPirGFumFqtajI8/img/setup-cli-install.png?w=2500\u0026fit=max\u0026auto=format\u0026n=JFPirGFumFqtajI8\u0026q=85\u0026s=cd0c4076bcbbe789f6f235698e79fa69 2500w`})}),_jsxs(Accordion,{title:`Advanced Options`,id:`advanced-options-1`,children:[_jsx(_components.p,{children:`you can install a specific version with`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --version`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` vx.x.x`})]}),`\n`]})})}),_jsx(_components.p,{children:`and customize the install path (defaults to /usr/local/bin)`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --path`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` /my-path`})]}),`\n`]})})}),_jsx(_components.p,{children:`To install without sudo, provide a user-accessible path:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --path`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ~/.local/bin`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`if `,_jsx(_components.a,{href:`https://docs.sigstore.dev/quickstart/quickstart-cosign/`,children:`cosign`}),` is present in your system, in addition to the checksum check, a signature verification will be performed. This behavior can be enforced via the —force-verification flag.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --force-verification`})]}),`\n`]})})}),_jsx(_components.p,{children:`To install the open-source edition instead:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -sfL`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` https://YOUR_INSTANCE_DOMAIN/cli/install.sh`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` | `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`bash`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --oss`})]}),`\n`]})})})]})]}),_jsxs(Step,{title:`Point the CLI at your instance — only if you installed it another way`,children:[_jsxs(_components.p,{children:[`Skip this if you used the command above. Run it when the CLI came from somewhere else — `,_jsx(_components.code,{children:`dl.chainloop.dev`}),`, a package manager, or a `,_jsx(_components.strong,{children:`Manual Download`}),` — or when you want to switch an existing install to a different instance.`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`chainloop`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` config`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` save`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --control-plane`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` my-controlplane.acme.com:443`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --artifact-cas`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` cas.acme.com:443`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --platform`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` my-platform.acme.com:443`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Confirm which instance the CLI is talking to with `,_jsx(_components.code,{children:`chainloop config view`}),`.`]})]})]})]}),_jsxs(Tab,{title:`Manual Download`,id:`manual-download`,children:[_jsxs(_components.p,{children:[`Download the CLI binary directly and verify its SHA256 against the published `,_jsx(_components.code,{children:`checksums.txt`}),`. Use this when piping a script into `,_jsx(_components.code,{children:`bash`}),` is not an option, or when binaries need to be validated out-of-band.`]}),_jsx(AccordionGroup,{id:`cli-versions`,children:_jsxs(Accordion,{title:`v1.141.0`,defaultOpen:true,id:`v1-141-0`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`OS`}),_jsx(_components.th,{children:`Architecture`}),_jsx(_components.th,{children:`Download`}),_jsx(_components.th,{children:`SHA256`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Linux`}),_jsx(_components.td,{children:`Intel (amd64)`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-linux-amd64`,children:`chainloop-linux-amd64`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`29c106f0f0aab5bb2c2ecf614105daa9975e3cfcc0be01f3a32d059acbbcfb0c`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Linux`}),_jsx(_components.td,{children:`ARM64`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-linux-arm64`,children:`chainloop-linux-arm64`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`fee123ee097d85e1a9fb34ce7639b1e25e6d10b8d8935c4a3a57ad4907cc086b`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`macOS`}),_jsx(_components.td,{children:`Intel (amd64)`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-darwin-amd64`,children:`chainloop-darwin-amd64`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`0bc95d872bf6ec7202a7dd78ec3254f32246b5c867e0bb137a56e41c79ddd10a`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`macOS`}),_jsx(_components.td,{children:`Apple Silicon`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-darwin-arm64`,children:`chainloop-darwin-arm64`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`0181b81153c5ac1411ed88613d71dc92ec58ee5ce7e602576e18a4db680839c7`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Windows`}),_jsx(_components.td,{children:`Intel (amd64)`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-windows-amd64.exe`,children:`chainloop-windows-amd64.exe`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`9342a7e389e573039c951bf121d663838a8a9696f1450fdeaa2d342adb48d03e`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Windows`}),_jsx(_components.td,{children:`ARM64`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/chainloop-windows-arm64.exe`,children:`chainloop-windows-arm64.exe`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`61f7ddf59350e320bb9c7c9a1b2902459e15d68bed3f2fbaa7e3b81ed96a4996`})})]})]})]}),_jsxs(_components.p,{children:[`Full manifest: `,_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/checksums.txt`,children:_jsx(_components.code,{children:`checksums.txt`})}),` · `,_jsx(_components.a,{href:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/v1.141.0/checksums.txt.sigstore.json`,children:`signature bundle`}),` · `,_jsx(_components.a,{href:`/changelog`,children:`Release notes`})]}),_jsxs(_components.p,{children:[`Download, verify, and install (linux/amd64 shown — swap `,_jsx(_components.code,{children:`chainloop-linux-amd64`}),` for another row from the table above):`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`22`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`22`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`VERSION`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`v1.141.0`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`BASE`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`https://chainloop-baafegchfnekdcde.z02.azurefd.net/public/chainloop-platform-cli/`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$VERSION`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`# Download the linux/amd64 binary and the checksum manifest`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -fsSLO`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$BASE`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/chainloop-linux-amd64\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -fsSLO`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$BASE`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/checksums.txt\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`# Download the signature bundle and confirm the manifest itself came from Chainloop's release pipeline`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -fsSLO`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`$BASE`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`/checksums.txt.sigstore.json\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`cosign`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` verify-blob`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --bundle=checksums.txt.sigstore.json`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --certificate-oidc-issuer=`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"https://token.actions.githubusercontent.com\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --certificate-identity-regexp=`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"^https://github.com/chainloop-dev/platform/\\\\.github/workflows/release_backend\\\\.yml@\"`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` checksums.txt`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`# Verify the binary against the manifest`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`sha256sum`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --ignore-missing`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` -c`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` checksums.txt`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`# on macOS: shasum -a 256 --ignore-missing -c checksums.txt`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`# Install it onto your PATH`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`chmod`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` +x`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` chainloop-linux-amd64`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`sudo`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` mv`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` chainloop-linux-amd64`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` /usr/local/bin/chainloop`})]}),`\n`]})})})]})}),_jsxs(_components.p,{children:[`Unlike the install script, a manually downloaded binary isn’t automatically configured for your instance. If you’re on an `,_jsx(_components.strong,{children:`on-prem or dedicated instance`}),`, point the CLI at your instance’s endpoints (Chainloop SaaS users can skip this):`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`chainloop`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` config`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` save`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --control-plane`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` my-controlplane.acme.com:443`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --artifact-cas`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` cas.acme.com:443`}),_jsx(_components.span,{style:{color:`#D7BA7D`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` --platform`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` my-platform.acme.com:443`})]}),`\n`]})})})]})]})]})}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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"CLI Installation","description":null,"href":"/cli/installation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/chainloop/253f77efa74d603b/cioanalytics.js","/_mintlify/custom/chainloop/86afb8ad5e3e2752/banner-expiry.js","/_mintlify/custom/chainloop/6873c2c42265ece7/hubspot.js","/_mintlify/custom/chainloop/f6648ff7bc1812af/termly.js"],"subdomain":"chainloop","siteName":"Chainloop Documentation","title":"CLI Installation - Chainloop Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T12:35:25.844Z","originalFileLocation":"cli/installation.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=\"application-name\" content=\"Chainloop 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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_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/chainloop/mw3ai7qmEaYOPNu0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CLI Installation - Chainloop Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Chainloop Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.chainloop.dev/cli/installation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://chainloop.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=CLI+Installation\u0026amp;theme=61c93c80cca4eee0101862fb\u0026amp;signature=7a6fd26e1ba624c0b8472a892b28cb70c8d90e23625d2f06a3244345b81307d3\">\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=\"CLI Installation - Chainloop Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://chainloop.mintlify.app/_mintlify/api/og/v2?division=+\u0026amp;title=CLI+Installation\u0026amp;theme=61c93c80cca4eee0101862fb\u0026amp;signature=7a6fd26e1ba624c0b8472a892b28cb70c8d90e23625d2f06a3244345b81307d3\">\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/chainloop/mw3ai7qmEaYOPNu0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Chainloop Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2D1BD2\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.chainloop.dev/cli/installation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cli/installation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.chainloop.dev/#organization\",\"name\":\"Chainloop Documentation\",\"url\":\"https://docs.chainloop.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/chainloop/piBVJM34fSFTGk0R/images/logo/light.svg?fit=max\u0026auto=format\u0026n=piBVJM34fSFTGk0R\u0026q=85\u0026s=4bc355683f7e78c629ece2e28db71dff\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.chainloop.dev#website\",\"name\":\"Chainloop Documentation\",\"url\":\"https://docs.chainloop.dev\",\"publisher\":{\"@id\":\"https://docs.chainloop.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.chainloop.dev/cli/installation#webpage\",\"url\":\"https://docs.chainloop.dev/cli/installation\",\"name\":\"CLI Installation\",\"dateModified\":\"2026-10-29T12:35:25.844Z\",\"isPartOf\":{\"@id\":\"https://docs.chainloop.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.chainloop.dev/cli/installation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.chainloop.dev/cli/installation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Chainloop Documentation\",\"item\":\"https://docs.chainloop.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CLI Installation\",\"item\":\"https://docs.chainloop.dev/cli/installation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.chainloop.dev/cli/installation#article\",\"headline\":\"CLI Installation\",\"name\":\"CLI Installation\",\"url\":\"https://docs.chainloop.dev/cli/installation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.chainloop.dev/cli/installation#webpage\"},\"dateModified\":\"2026-10-29T12:35:25.844Z\",\"publisher\":{\"@id\":\"https://docs.chainloop.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.chainloop.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Chainloop Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Chainloop Documentation","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://chainloop.dev/"},{"anchor":"Blog","icon":"newspaper","href":"https://chainloop.dev/blog"},{"anchor":"Get Help","icon":"headset","href":"https://help.chainloop.dev"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/welcome"}]},{"tab":"Reference","menu":[{"item":"CLI Reference","icon":"terminal","groups":[{"group":" ","pages":[{"title":"CLI Installation","href":"/cli/installation"},{"title":"CLI Reference","description":null,"href":"/cli/reference"},{"title":"CLI Telemetry","href":"/cli/telemetry"}]}]},{"item":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/overview"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"CLI Installation - Chainloop Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bpq2Z6jK.js","DynamicMarkdown-D5M2At0B.js","zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}