Install, update, pin, remove, search, and list nono packs
Packs are signed bundles of profiles, hooks, plugins, and other artifacts distributed through the nono registry. This page covers the consumer side — installing and managing packs on your machine.For the producer side (creating and publishing packs), see Publishing Packs.
When you run nono run --profile <name>, nono checks whether any pack in the active profile’s extends chain has a newer version available and prints a one-line hint if so:
update available nolabs-ai/claude 0.0.12 → 0.0.13 run: nono update
Results are cached for 24 hours so the check never blocks startup. Stale entries refresh in a detached helper process for the next run. To suppress only pack update hints, set NONO_NO_PACK_UPDATE_HINTS=1. The hint also respects the global CLI update-check opt-out: set NONO_NO_UPDATE_CHECK=1 or [updates] check = false in ~/.config/nono/config.toml.
Update all installed packs to their latest versions:
nono update
Or update a specific pack:
nono update nolabs-ai/claude
The update checks the registry for newer versions, verifies signatures, and replaces local artifacts. Signer identity changes trigger a confirmation prompt (use --force to skip).Preview what would change without making updates:
nono update --dry-run
Pinned packs are skipped by default. Pass --force to update them:
This removes all artifacts installed by the pack (profiles, plugins, hooks, wiring) and cleans up the lockfile entry.If the pack applied wiring directives (e.g. injected hook entries into hooks.json), removal reverses them. If reversal partially fails, the lockfile entry is kept so you can retry. Use --force to proceed anyway:
Installed packs live under ~/.config/nono/packages/<namespace>/<name>/. Each pack directory contains the verified artifacts and a lockfile entry tracking the installed version and signer identity.Public profiles from packs are available by their fully-qualified package name, such as nolabs-ai/claude. Use nono profile list to see all available built-in, package, and user profiles and their source.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Nono Docs","colors":{"primary":"#6366F1"},"logo":{"light":"https://mintcdn.com/alwaysfurther/71kSBDbFPA0L6KZR/logo/light.svg?fit=max\u0026auto=format\u0026n=71kSBDbFPA0L6KZR\u0026q=85\u0026s=d0fc9f445cb401df9fd639ea0d7ee3ee","dark":"https://mintcdn.com/alwaysfurther/71kSBDbFPA0L6KZR/logo/dark.svg?fit=max\u0026auto=format\u0026n=71kSBDbFPA0L6KZR\u0026q=85\u0026s=c2456934c3433624f21c4ab54b3a6f21","href":"https://nono.sh"},"favicon":"https://mintcdn.com/alwaysfurther/eb5LFCI-HsnFqnG3/logo/favicon.png?fit=max\u0026auto=format\u0026n=eb5LFCI-HsnFqnG3\u0026q=85\u0026s=455272883302adb7550829a60ef2dd2e","appearance":{"default":"system"},"navbar":{"links":[{"href":"https://github.com/nolabs-ai/nono","label":"GitHub"}],"primary":{"type":"button","label":"Discord","href":"https://discord.gg/pPcjYzGvbS"}},"footer":{"socials":{"github":"https://github.com/nolabs-ai/nono","website":"https://nono.sh"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"alwaysfurther","hasAudioNarration":false,"actualSubdomain":"alwaysfurther","customDomains":["nono.sh"],"gitSource":{"type":"github","owner":"nolabs-ai","repo":"nono-docs","deployBranch":"docs","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6aed9fc114aa97ea22430ed0","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"CLI","count":44},{"language":"default","tag":"API Reference","count":19},{"language":"default","tag":"Getting Started","count":15},{"language":"default","tag":"Python","count":14},{"language":"default","tag":"Architecture","count":11},{"language":"default","tag":"TypeScript","count":9},{"language":"default","tag":"Go","count":7},{"language":"default","tag":"Policy","count":6},{"language":"default","tag":"Reference","count":5},{"language":"default","tag":"Development","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"/docs","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":"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":"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":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cli/features/managing-packs","slug":"/cli/features/managing-packs","pageMetadata":{"title":"Managing Packs","description":"Install, update, pin, remove, search, and list nono packs","href":"/cli/features/managing-packs"},"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: \"Install, update, pin, remove, search, and list nono packs\"\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`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Packs are signed bundles of profiles, hooks, plugins, and other artifacts distributed through the nono registry. This page covers the consumer side — installing and managing packs on your machine.`}),`\n`,_jsxs(_components.p,{children:[`For the producer side (creating and publishing packs), see `,_jsx(_components.a,{href:`/cli/features/package-publishing`,children:`Publishing Packs`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`installing-a-pack`,children:`Installing a Pack`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`nono pull`}),` to install a pack from the registry:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`On install, the CLI:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Fetches the pull manifest from the registry.`}),`\n`,_jsxs(_components.li,{children:[`Downloads artifacts and matching `,_jsx(_components.code,{children:`.bundle`}),` signature files.`]}),`\n`,_jsx(_components.li,{children:`Verifies Sigstore bundles locally.`}),`\n`,_jsx(_components.li,{children:`Checks that the signer repository org matches the pack namespace.`}),`\n`,_jsx(_components.li,{children:`Pins the signer identity in a local lockfile.`}),`\n`,_jsxs(_components.li,{children:[`Installs verified artifacts into the pack store (`,_jsx(_components.code,{children:`~/.config/nono/packages/`}),`).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`pinning-a-version`,children:`Pinning a Version`}),`\n`,_jsxs(_components.p,{children:[`By default `,_jsx(_components.code,{children:`nono pull`}),` installs the latest version. Pin to a specific version with `,_jsx(_components.code,{children:`@`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude@1.2.0`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`initializing-project-files`,children:`Initializing Project Files`}),`\n`,_jsxs(_components.p,{children:[`Some packs include project-level instructions (e.g. a `,_jsx(_components.code,{children:`CLAUDE.md`}),` context file). Use `,_jsx(_components.code,{children:`--init`}),` to copy them into the current directory:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --init`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Without `,_jsx(_components.code,{children:`--init`}),`, project-level instructions are installed into the pack store but not copied into your working directory.`]}),`\n`,_jsx(Heading,{level:`3`,id:`force-reinstall`,children:`Force Reinstall`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`--force`}),` to overwrite conflicts and accept signer changes:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --force`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`--force`}),` bypasses the signer-change prompt. Only use this when you trust the new signer identity.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`inline-update-hints`,children:`Inline Update Hints`}),`\n`,_jsxs(_components.p,{children:[`When you run `,_jsx(_components.code,{children:`nono run --profile \u003cname>`}),`, nono checks whether any pack in the active profile’s extends chain has a newer version available and prints a one-line hint if so:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`2`,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:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` update available nolabs-ai/claude 0.0.12 → 0.0.13 run: nono update`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`Results are cached for 24 hours so the check never blocks startup. Stale entries refresh in a detached helper process for the next run. To suppress only pack update hints, set `,_jsx(_components.code,{children:`NONO_NO_PACK_UPDATE_HINTS=1`}),`. The hint also respects the global CLI update-check opt-out: set `,_jsx(_components.code,{children:`NONO_NO_UPDATE_CHECK=1`}),` or `,_jsx(_components.code,{children:`[updates] check = false`}),` in `,_jsx(_components.code,{children:`~/.config/nono/config.toml`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`checking-for-updates`,children:`Checking for Updates`}),`\n`,_jsx(_components.p,{children:`See which installed packs have newer versions available:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` outdated`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Machine-readable output:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` outdated`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Each entry reports the installed version, the latest available version, and the status (`,_jsx(_components.code,{children:`outdated`}),`, `,_jsx(_components.code,{children:`yanked`}),`, `,_jsx(_components.code,{children:`current`}),`, `,_jsx(_components.code,{children:`ahead`}),`).`]}),`\n`,_jsx(Heading,{level:`2`,id:`updating-packs`,children:`Updating Packs`}),`\n`,_jsx(_components.p,{children:`Update all installed packs to their latest versions:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Or update a specific pack:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The update checks the registry for newer versions, verifies signatures, and replaces local artifacts. Signer identity changes trigger a confirmation prompt (use `,_jsx(_components.code,{children:`--force`}),` to skip).`]}),`\n`,_jsx(_components.p,{children:`Preview what would change without making updates:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --dry-run`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Pinned packs are skipped by default. Pass `,_jsx(_components.code,{children:`--force`}),` to update them:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` update`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --force`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`pinning-packs`,children:`Pinning Packs`}),`\n`,_jsxs(_components.p,{children:[`Pin a pack to prevent it from being updated by `,_jsx(_components.code,{children:`nono update`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Unpin to allow updates again:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` unpin`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Pinned packs are still shown by `,_jsx(_components.code,{children:`nono outdated`}),`. The pin state is local — it does not affect other users or the registry.`]}),`\n`,_jsx(Heading,{level:`2`,id:`removing-a-pack`,children:`Removing a Pack`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` remove`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This removes all artifacts installed by the pack (profiles, plugins, hooks, wiring) and cleans up the lockfile entry.`}),`\n`,_jsxs(_components.p,{children:[`If the pack applied wiring directives (e.g. injected hook entries into `,_jsx(_components.code,{children:`hooks.json`}),`), removal reverses them. If reversal partially fails, the lockfile entry is kept so you can retry. Use `,_jsx(_components.code,{children:`--force`}),` to proceed anyway:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` remove`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` nolabs-ai/claude`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --force`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`searching-the-registry`,children:`Searching the Registry`}),`\n`,_jsx(_components.p,{children:`Find packs by keyword:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` search`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` claude`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Machine-readable output:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` search`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sandbox`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`listing-installed-packs`,children:`Listing Installed Packs`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --installed`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Machine-readable output:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` list`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --installed`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`custom-registry`,children:`Custom Registry`}),`\n`,_jsxs(_components.p,{children:[`All pack commands accept `,_jsx(_components.code,{children:`--registry`}),` to target a different registry (useful for development or enterprise registries):`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --registry`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http://localhost:3001/api/v1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` acme-corp/internal-agent`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` search`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --registry`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http://localhost:3001/api/v1`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` agent`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Or set it globally via environment variable:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` NONO_REGISTRY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`https`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`://`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`registry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`example`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`com`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`api`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`/`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`v1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`nono`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pull`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` acme-corp/internal-agent`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`pack-store-layout`,children:`Pack Store Layout`}),`\n`,_jsxs(_components.p,{children:[`Installed packs live under `,_jsx(_components.code,{children:`~/.config/nono/packages/\u003cnamespace>/\u003cname>/`}),`. Each pack directory contains the verified artifacts and a lockfile entry tracking the installed version and signer identity.`]}),`\n`,_jsxs(_components.p,{children:[`Public profiles from packs are available by their fully-qualified package name, such as `,_jsx(_components.code,{children:`nolabs-ai/claude`}),`. Use `,_jsx(_components.code,{children:`nono profile list`}),` to see all available built-in, package, and user profiles and their source.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/features/package-publishing`,children:`Publishing Packs`}),` — Create and publish your own packs`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/features/profiles-groups`,children:`Profiles \u0026 Groups`}),` — Understand profile resolution order`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/features/trust`,children:`Supply Chain Security`}),` — How signature verification works`]}),`\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":{"config":{},"pageMetadata":{"title":"Managing Packs","description":"Install, update, pin, remove, search, and list nono packs","href":"/cli/features/managing-packs"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Installing a Pack","slug":"installing-a-pack","depth":2,"children":[{"title":"Pinning a Version","slug":"pinning-a-version","depth":3,"children":[]},{"title":"Initializing Project Files","slug":"initializing-project-files","depth":3,"children":[]},{"title":"Force Reinstall","slug":"force-reinstall","depth":3,"children":[]}]},{"title":"Inline Update Hints","slug":"inline-update-hints","depth":2,"children":[]},{"title":"Checking for Updates","slug":"checking-for-updates","depth":2,"children":[]},{"title":"Updating Packs","slug":"updating-packs","depth":2,"children":[]},{"title":"Pinning Packs","slug":"pinning-packs","depth":2,"children":[]},{"title":"Removing a Pack","slug":"removing-a-pack","depth":2,"children":[]},{"title":"Searching the Registry","slug":"searching-the-registry","depth":2,"children":[]},{"title":"Listing Installed Packs","slug":"listing-installed-packs","depth":2,"children":[]},{"title":"Custom Registry","slug":"custom-registry","depth":2,"children":[]},{"title":"Pack Store Layout","slug":"pack-store-layout","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"alwaysfurther","siteName":"Nono Docs","title":"Managing Packs - Nono Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T12:37:21.319Z","originalFileLocation":"cli/features/managing-packs.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=\"Install, update, pin, remove, search, and list nono packs\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nono Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_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=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Managing Packs - Nono Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Install, update, pin, remove, search, and list nono packs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nono Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://nono.sh/docs/cli/features/managing-packs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://alwaysfurther.mintlify.site/docs/_mintlify/api/og/v2?division=Packaging\u0026amp;title=Managing+Packs\u0026amp;description=Install%2C+update%2C+pin%2C+remove%2C+search%2C+and+list+nono+packs\u0026amp;theme=1882629c28e80b737eec87d1\u0026amp;signature=9758f119714bd9b8d3e3f6336948b468d4a8f816c2d2441847b62d116fdaf55c\">\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=\"Managing Packs - Nono Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Install, update, pin, remove, search, and list nono packs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://alwaysfurther.mintlify.site/docs/_mintlify/api/og/v2?division=Packaging\u0026amp;title=Managing+Packs\u0026amp;description=Install%2C+update%2C+pin%2C+remove%2C+search%2C+and+list+nono+packs\u0026amp;theme=1882629c28e80b737eec87d1\u0026amp;signature=9758f119714bd9b8d3e3f6336948b468d4a8f816c2d2441847b62d116fdaf55c\">\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=\"/docs/mintlify-assets/_mintlify/favicons/alwaysfurther/6Y04mCh8GPP-ZtUt/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nono Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://nono.sh/docs/cli/features/managing-packs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/cli/features/managing-packs.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://nono.sh/#organization\",\"name\":\"Nono Docs\",\"url\":\"https://nono.sh\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/alwaysfurther/71kSBDbFPA0L6KZR/logo/light.svg?fit=max\u0026auto=format\u0026n=71kSBDbFPA0L6KZR\u0026q=85\u0026s=d0fc9f445cb401df9fd639ea0d7ee3ee\"}},{\"@type\":\"WebSite\",\"@id\":\"https://nono.sh/docs#website\",\"name\":\"Nono Docs\",\"url\":\"https://nono.sh/docs\",\"publisher\":{\"@id\":\"https://nono.sh/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://nono.sh/docs/cli/features/managing-packs#webpage\",\"url\":\"https://nono.sh/docs/cli/features/managing-packs\",\"name\":\"Managing Packs\",\"description\":\"Install, update, pin, remove, search, and list nono packs\",\"dateModified\":\"2026-10-22T12:37:21.319Z\",\"isPartOf\":{\"@id\":\"https://nono.sh/docs#website\"},\"breadcrumb\":{\"@id\":\"https://nono.sh/docs/cli/features/managing-packs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://nono.sh/docs/cli/features/managing-packs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Nono Docs\",\"item\":\"https://nono.sh/docs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Managing Packs\",\"item\":\"https://nono.sh/docs/cli/features/managing-packs\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://nono.sh/docs/cli/features/managing-packs#article\",\"headline\":\"Managing Packs\",\"name\":\"Managing Packs\",\"description\":\"Install, update, pin, remove, search, and list nono packs\",\"url\":\"https://nono.sh/docs/cli/features/managing-packs\",\"mainEntityOfPage\":{\"@id\":\"https://nono.sh/docs/cli/features/managing-packs#webpage\"},\"dateModified\":\"2026-10-22T12:37:21.319Z\",\"publisher\":{\"@id\":\"https://nono.sh/#organization\"},\"isPartOf\":{\"@id\":\"https://nono.sh/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nono Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nono Docs","nav":{"global":null,"tabs":[{"tab":"Overview","icon":"house","pages":[{"title":"Overview","href":"/introduction"}]},{"tab":"CLI","icon":"terminal","groups":[{"group":"Getting Started","pages":[{"title":"Installation","href":"/cli/getting_started/installation"},{"title":"Quickstart","href":"/cli/getting_started/quickstart"},{"title":"Agent Setup Guide","href":"/cli/clients/quickstart"},{"title":"Developer Workflows","href":"/cli/usage/developer-workflows"},{"title":"Examples","href":"/cli/usage/examples"},{"title":"Troubleshooting","href":"/cli/usage/troubleshooting"}]},{"group":"Policy","pages":[{"title":"Profiles \u0026 Groups","href":"/cli/features/profiles-groups"},{"title":"Profile Authoring","href":"/cli/features/profile-authoring"},{"title":"Sandboxed Tool Execution","href":"/cli/features/tool-sandbox"},{"title":"Dangerous Command Blocking","href":"/cli/features/dangerous-command-blocking"},{"title":"Profile Introspection","href":"/cli/features/profile-introspection"},{"title":"Environment Variable Filtering","href":"/cli/features/environment"}]},{"group":"Sessions","pages":[{"title":"Session Lifecycle","description":"Manage live sandbox sessions with ps, attach, detach, stop, inspect, and session cleanup","href":"/cli/features/session-lifecycle"}]},{"group":"Packaging","pages":[{"title":"Managing Packs","href":"/cli/features/managing-packs"},{"title":"Publishing Packs","description":"End-to-end setup for nono packs, trusted publishing, and the GitHub Action","href":"/cli/features/package-publishing"}]},{"group":"Networking","pages":[{"title":"Networking","href":"/cli/features/networking"},{"title":"Namespace Isolation (Linux)","href":"/cli/features/namespace-isolation"}]},{"group":"Secrets","pages":[{"title":"Credential Injection","href":"/cli/features/credential-injection"},{"title":"Sandboxed OAuth Logins","href":"/cli/features/sandboxed-oauth-logins"},{"title":"SPIFFE / SPIRE Workload Identity","href":"/cli/features/spiffe"}]},{"group":"Audit","pages":[{"title":"Audit Trail","href":"/cli/features/audit"}]},{"group":"Supply Chain Security","pages":[{"title":"Trust \u0026 Attestation","href":"/cli/features/trust"},{"title":"Attestation Internals","href":"/cli/internals/signing"}]},{"group":"Rollback","pages":[{"title":"Atomic Rollbacks","href":"/cli/features/atomic-rollbacks"}]},{"group":"Resource Limits","pages":[{"title":"Resource Limits","href":"/cli/features/resource-limits"}]},{"group":"Architecture","pages":[{"title":"Architecture Overview","href":"/cli/internals/overview"},{"title":"Execution Modes","href":"/cli/features/execution-modes"},{"title":"Supervisor Mode","href":"/cli/features/supervisor"},{"title":"Security Model","href":"/cli/internals/security-model"},{"title":"Linux Landlock","href":"/cli/internals/landlock"},{"title":"macOS Seatbelt","href":"/cli/internals/seatbelt"},{"title":"WSL2 Support","href":"/cli/internals/wsl2"},{"title":"WSL2 Feature Matrix","href":"/cli/internals/wsl2-feature-matrix"},{"title":"Why OS-Level Controls","href":"/cli/internals/application"},{"title":"Capability Manifest","href":"/cli/internals/capability-manifest"},{"title":"nono and containers","href":"/cli/internals/containers"}]},{"group":"Reference","pages":[{"title":"CLI Reference","href":"/cli/usage/flags"},{"title":"Claude Code","href":"/cli/clients/claude"},{"title":"Codex","href":"/cli/clients/codex"},{"title":"OpenCode","href":"/cli/clients/opencode"},{"title":"OpenClaw","href":"/cli/clients/openclaw"}]},{"group":"Development","pages":[{"title":"Contributing","href":"/cli/development/index"},{"title":"Testing","href":"/cli/development/testing"},{"title":"OAuth Capture Manual QA","href":"/cli/development/oauth-capture-manual-qa"}]}]},{"tab":"Core","icon":"rust","pages":[{"title":"Core","href":"/core/overview"}]},{"tab":"Go","icon":"code","pages":[{"title":"Go","href":"/go/overview"}]},{"tab":"TypeScript","icon":"js","pages":[{"title":"TypeScript","href":"/typescript/overview"}]},{"tab":"Python","icon":"python","pages":[{"title":"Python","href":"/python/overview"}]}]},"basePath":"","title":"Managing Packs - Nono Docs","buildId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","deploymentId":"dpl_BSPUBxEoKhhK7HzXVDPxdPvWx4xc","dynamics":[],"chunks":[]}