Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper
@axon402/init is a one-shot runtime bootstrap helper. It provisions a wallet, mints a wallet-scoped runtime key for that wallet, and wires Claude Code to AXON’s hosted runtime MCP surface. This page is the canonical reference for all flags and behaviors of the bootstrap command.
@axon402/init lives on the runtime side of the runtime / control-plane split. The credential it issues is a runtime key — it is for an agent to use a prepared wallet, not an operator or org-admin credential. For durable operator work (additional wallets, key rotation, deposits, vault allocations) use @axon402/cli (axon-op) or the dashboard; both are documented on the CLI installation page. This reference covers @axon402/init only.
@axon402/init writes ~/.claude.json; it does not configure Cursor, VSCode, OpenClaw, or raw REST clients for you. Those integrations should still use the generated wallet_id and api_key from ~/.axon/config.json with the manual hosted setup in IDE Setup, OpenClaw Plugin, or REST API Integration.
Machine-readable JSON output (no prompts). Suitable for scripting. The api_key is intentionally NOT included in the JSON output — it’s persisted to ~/.axon/config.json only.
--email <email>
Email address for headless / --json mode.
--endpoint <url>
Override the Decision API endpoint. Default: https://api.axon402.com
--raw-qr
Encode the bare 0x… address in the QR instead of an EIP-681 URI
--no-open
Do not open the dashboard URL in a browser after success
--force
Overwrite an existing ~/.axon/config.json. The prior file is copied to ~/.axon/config.json.bak-<ISO8601> first. Without this flag, the CLI refuses to overwrite and exits non-zero.
# Default interactive flow against productionnpx @axon402/init# Emit machine-readable outputnpx @axon402/init --json --email you@example.com# Local Decision API for developmentnpx @axon402/init --endpoint http://localhost:3030# Raw 0x QR code for wallets that don't parse EIP-681npx @axon402/init --raw-qr# Skip the browser auto-open at the endnpx @axon402/init --no-open
When invoked with --json, the CLI emits a single JSON object to stdout on success and exits 0. No interactive prompts; provide the email with --email or AXON_EMAIL.
config_backup_path is non-null only when --force replaced an existing ~/.axon/config.json. claude_backup_path is non-null only when ~/.claude.json already existed and was backed up before the merge.
The api_key is intentionally absent from the JSON output. It is written only to ~/.axon/config.json (chmod 0600). This avoids leaking the plaintext key into shell pipelines, CI logs, or terminal scrollback.
You’re on a CLI build older than v0.1.0 where the API key was bound to the vault wallet by mistake. Vault wallets have no mandate by design, so every governed_fetch call against a vault-bound key fails with this error.Fix: upgrade to ≥ v0.1.0:
npm install -g @axon402/init@latestaxon
This generates a new wallet bound correctly to the agent (HD index 1).
409 CONFLICT — An account already exists for this email
Self-explanatory — @axon402/init is a one-shot runtime bootstrap and it has already run for this email. It is not for ongoing operations and it is not an operator CLI; to manage the existing account from the terminal, install @axon402/cli (axon-op) instead, or sign in to the dashboard via the printed dashboard_url.
{ "code": "CONFLICT", "message": "An account already exists for this email.", "details": { "dashboard_url": "https://axon402.com", "login_hint": "Sign in to the dashboard to retrieve or rotate your API key." }}
The endpoint is limited to 10 requests per hour per IP to prevent spam signups. The CLI prints a retry_after_seconds value — wait that long and try again.If you’re hitting this in legitimate dev (e.g., scripted CI), use --endpoint to point at a local Decision API instead.
NETWORK_ERROR — Could not reach https://api.axon402.com
Outbound HTTPS to api.axon402.com is blocked or the public Decision API is down. Check:
Status: curl -i https://api.axon402.com/ready should return a structured HTTP response if the service is reachable. 200 means ready; 503 still proves the network path works and the backend is just not ready.
Network: corporate firewalls sometimes block npm-installed binaries from making HTTPS calls. Try from a different network.
Local fallback: for development, run a Decision API locally and use --endpoint http://localhost:3030.
The CLI merges new MCP entries into your existing ~/.claude.json — it does not overwrite. Before writing, it backs up the original to ~/.claude.json.bak-<unix-timestamp>. If something looks wrong after running the CLI, restore from the backup:
ls -lt ~/.claude.json.bak-* | head -1cp ~/.claude.json.bak-<ts> ~/.claude.json
rm -rf ~/.axon/# Optional: revert ~/.claude.json from a backupls -lt ~/.claude.json.bak-* | head -1npx @axon402/init
Note: this does NOT delete the Supabase auth user, the organization, or the wallets on the server. You’ll get a 409 CONFLICT next time unless you use a different email. The dashboard at https://axon402.com is the place to manage server-side state.
@axon402/init does not write a local stdio launch command. It merges a hosted HTTP MCP entry into ~/.claude.json that points Claude Code at the Decision API directly:
If you want to run the local MCP server over stdio instead, use the advanced self-hosted patterns in IDE Setup and MCP Server. Those are separate from the hosted HTTP config that @axon402/init writes automatically.
{"docsConfig":{"theme":"palm","$schema":"https://mintlify.com/docs.json","name":"AXON","colors":{"primary":"#00cc82","light":"#00ffa3","dark":"#00cc82"},"logo":{"light":"https://mintcdn.com/axon-8480709b/tKAx9a5x4ya04K6w/logo/light.svg?fit=max\u0026auto=format\u0026n=tKAx9a5x4ya04K6w\u0026q=85\u0026s=3504839d71d408ab1ec7a74331616485","dark":"https://mintcdn.com/axon-8480709b/tKAx9a5x4ya04K6w/logo/dark.svg?fit=max\u0026auto=format\u0026n=tKAx9a5x4ya04K6w\u0026q=85\u0026s=11e6333a3121d952cbafed9f85b3a76d"},"favicon":"https://mintcdn.com/axon-8480709b/D8YCSWQYlWZ0AV_P/favicon.png?fit=max\u0026auto=format\u0026n=D8YCSWQYlWZ0AV_P\u0026q=85\u0026s=7ad532ec4a8be58cbe9bd7ce5f721dc8","navbar":{"links":[{"href":"https://axon402.com","label":"Dashboard"}]},"footer":{"socials":{}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","href":"https://axon402.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"axon-8480709b","hasAudioNarration":false,"actualSubdomain":"axon-8480709b","customDomains":["docs.axon402.com"],"gitSource":{"type":"github","owner":"alex-reysa","repo":"axon","deployBranch":"main","contentDirectory":"mintlify-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a6681eb46a9de7af621dba3","collectionId":"5cc9bf66-a6fc-43af-8d1f-aeac4c036311","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a6681eb46a9de7af621dba3"},"entitlements":{},"buildId":"6a6681eb46a9de7af621dba3:success","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":37},{"language":"default","tag":"Documentation","count":22},{"language":"default","tag":"Organizations","count":6},{"language":"default","tag":"Treasury","count":6},{"language":"default","tag":"Operations","count":6},{"language":"default","tag":"MCP Tools","count":5},{"language":"default","tag":"Providers","count":5},{"language":"default","tag":"Core Concepts","count":5},{"language":"default","tag":"Integrations","count":5},{"language":"default","tag":"Core Spend","count":4}]},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"cli/reference","slug":"/cli/reference","pageMetadata":{"title":"CLI Reference: @axon402/init","description":"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper","href":"/cli/reference"},"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: \"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Info,Note,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`@axon402/init`}),` is a `,_jsx(_components.strong,{children:`one-shot runtime bootstrap helper`}),`. It provisions a wallet, mints a wallet-scoped runtime key for that wallet, and wires `,_jsx(_components.strong,{children:`Claude Code`}),` to AXON’s hosted runtime MCP surface. This page is the canonical reference for all flags and behaviors of the bootstrap command.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`@axon402/init`}),` lives on the `,_jsx(_components.strong,{children:`runtime side`}),` of the runtime / control-plane split. The credential it issues is a runtime key — it is for an agent to use a prepared wallet, not an operator or org-admin credential. For durable operator work (additional wallets, key rotation, deposits, vault allocations) use `,_jsx(_components.code,{children:`@axon402/cli`}),` (`,_jsx(_components.code,{children:`axon-op`}),`) or the dashboard; both are documented on the `,_jsx(_components.a,{href:`/cli/installation`,children:`CLI installation`}),` page. This reference covers `,_jsx(_components.code,{children:`@axon402/init`}),` only.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`@axon402/init`}),` writes `,_jsx(_components.code,{children:`~/.claude.json`}),`; it does not configure Cursor, VSCode, OpenClaw, or raw REST clients for you. Those integrations should still use the generated `,_jsx(_components.code,{children:`wallet_id`}),` and `,_jsx(_components.code,{children:`api_key`}),` from `,_jsx(_components.code,{children:`~/.axon/config.json`}),` with the manual hosted setup in `,_jsx(_components.a,{href:`/integrations/ide-setup`,children:`IDE Setup`}),`, `,_jsx(_components.a,{href:`/integrations/openclaw-plugin`,children:`OpenClaw Plugin`}),`, or `,_jsx(_components.a,{href:`/integrations/rest-api`,children:`REST API Integration`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`synopsis`,children:`Synopsis`}),`\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:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [options]`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`options`,children:`Options`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Flag`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--version`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Print version and exit`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`--help`}),`, `,_jsx(_components.code,{children:`-h`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:`Print help and exit`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--json`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Machine-readable JSON output (no prompts). Suitable for scripting. The `,_jsx(_components.code,{children:`api_key`}),` is intentionally NOT included in the JSON output — it’s persisted to `,_jsx(_components.code,{children:`~/.axon/config.json`}),` only.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--email \u003cemail>`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Email address for headless / `,_jsx(_components.code,{children:`--json`}),` mode.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--endpoint \u003curl>`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Override the Decision API endpoint. Default: `,_jsx(_components.code,{children:`https://api.axon402.com`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--raw-qr`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Encode the bare `,_jsx(_components.code,{children:`0x…`}),` address in the QR instead of an EIP-681 URI`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--no-open`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Do not open the dashboard URL in a browser after success`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`--force`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Overwrite an existing `,_jsx(_components.code,{children:`~/.axon/config.json`}),`. The prior file is copied to `,_jsx(_components.code,{children:`~/.axon/config.json.bak-\u003cISO8601>`}),` first. Without this flag, the CLI refuses to overwrite and exits non-zero.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`examples`,children:`Examples`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,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:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Default interactive flow against production`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Emit machine-readable output`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --json`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --email`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` you@example.com`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Local Decision API for development`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --endpoint`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http://localhost:3030`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Raw 0x QR code for wallets that don't parse EIP-681`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --raw-qr`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Skip the browser auto-open at the end`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --no-open`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`environment-variables`,children:`Environment variables`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Variable`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`AXON_ENDPOINT`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Equivalent to `,_jsx(_components.code,{children:`--endpoint`}),`. Overridden by the flag if both are set.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`AXON_CLI_DEFAULT_ENDPOINT`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Same as `,_jsx(_components.code,{children:`AXON_ENDPOINT`}),`, kept for legacy reasons.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`AXON_EMAIL`})}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Email address for headless / `,_jsx(_components.code,{children:`--json`}),` mode. Overridden by `,_jsx(_components.code,{children:`--email`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`files-written`,children:`Files written`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Path`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permissions`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Contents`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`~/.axon/config.json`})}),_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:_jsx(_components.code,{children:`0600`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`{ organization_id, wallet_id, api_key, funding_address, dashboard_url, created_at }`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`~/.axon/config.json.bak-\u003cISO8601>`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`inherits source file`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Backup of the previous config when `,_jsx(_components.code,{children:`--force`}),` replaces an existing file`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`~/.claude.json`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`unchanged`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Claude Code only. New `,_jsx(_components.code,{children:`mcpServers.axon`}),` entry merged in with `,_jsx(_components.code,{children:`url: \u003cendpoint>/v1/mcp`}),` and `,_jsx(_components.code,{children:`Authorization: Bearer \u003cruntime-key>`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`~/.claude.json.bak-\u003cts>`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`unchanged`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`Backup of `,_jsx(_components.code,{children:`~/.claude.json`}),` from before the merge`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`exit-codes`,children:`Exit codes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Code`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:_jsx(_components.code,{children:`0`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Success`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:_jsx(_components.code,{children:`1`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Unexpected error (network failure, server 5xx, validation crash)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,style:{textAlign:`left`},children:_jsx(_components.code,{children:`130`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`SIGINT (Ctrl+C aborted the prompt)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`json-output-mode`,children:`JSON output mode`}),`\n`,_jsxs(_components.p,{children:[`When invoked with `,_jsx(_components.code,{children:`--json`}),`, the CLI emits a single JSON object to stdout on success and exits 0. No interactive prompts; provide the email with `,_jsx(_components.code,{children:`--email`}),` or `,_jsx(_components.code,{children:`AXON_EMAIL`}),`.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ok\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"organization_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uuid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"wallet_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"uuid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"funding_address\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"0x…\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"dashboard_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://axon402.com\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"config_path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"~/.axon/config.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"config_backup_path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"claude_config_path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"~/.claude.json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"claude_backup_path\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`null`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`config_backup_path`}),` is non-null only when `,_jsx(_components.code,{children:`--force`}),` replaced an existing `,_jsx(_components.code,{children:`~/.axon/config.json`}),`. `,_jsx(_components.code,{children:`claude_backup_path`}),` is non-null only when `,_jsx(_components.code,{children:`~/.claude.json`}),` already existed and was backed up before the merge.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`api_key`}),` is intentionally absent from the JSON output. It is written only to `,_jsx(_components.code,{children:`~/.axon/config.json`}),` (chmod 0600). This avoids leaking the plaintext key into shell pipelines, CI logs, or terminal scrollback.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsx(Heading,{level:`3`,id:`mandate-missing-for-wallet`,children:_jsx(_components.code,{children:`Mandate missing for wallet`})}),`\n`,_jsxs(_components.p,{children:[`You’re on a CLI build older than v0.1.0 where the API key was bound to the vault wallet by mistake. Vault wallets have no mandate by design, so every `,_jsx(_components.code,{children:`governed_fetch`}),` call against a vault-bound key fails with this error.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Fix`}),`: upgrade to ≥ v0.1.0:`]}),`\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:`npm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -g`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init@latest`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`axon`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This generates a new wallet bound correctly to the agent (HD index 1).`}),`\n`,_jsx(Heading,{level:`3`,id:`409-conflict-—-an-account-already-exists-for-this-email`,children:_jsx(_components.code,{children:`409 CONFLICT — An account already exists for this email`})}),`\n`,_jsxs(_components.p,{children:[`Self-explanatory — `,_jsx(_components.code,{children:`@axon402/init`}),` is a `,_jsx(_components.strong,{children:`one-shot runtime bootstrap`}),` and it has already run for this email. It is not for ongoing operations and it is not an operator CLI; to manage the existing account from the terminal, install `,_jsx(_components.code,{children:`@axon402/cli`}),` (`,_jsx(_components.code,{children:`axon-op`}),`) instead, or sign in to the dashboard via the printed `,_jsx(_components.code,{children:`dashboard_url`}),`.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`9`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`9`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`{`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"code\": \"CONFLICT\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"message\": \"An account already exists for this email.\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"details\": {`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"dashboard_url\": \"https://axon402.com\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` \"login_hint\": \"Sign in to the dashboard to retrieve or rotate your API key.\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Heading,{level:`3`,id:`429-rate_limited`,children:_jsx(_components.code,{children:`429 RATE_LIMITED`})}),`\n`,_jsxs(_components.p,{children:[`The endpoint is limited to 10 requests per hour per IP to prevent spam signups. The CLI prints a `,_jsx(_components.code,{children:`retry_after_seconds`}),` value — wait that long and try again.`]}),`\n`,_jsxs(_components.p,{children:[`If you’re hitting this in legitimate dev (e.g., scripted CI), use `,_jsx(_components.code,{children:`--endpoint`}),` to point at a local Decision API instead.`]}),`\n`,_jsx(Heading,{level:`3`,id:`network_error-—-could-not-reach-https//api-axon402-com`,children:_jsx(_components.code,{children:`NETWORK_ERROR — Could not reach https://api.axon402.com`})}),`\n`,_jsxs(_components.p,{children:[`Outbound HTTPS to `,_jsx(_components.code,{children:`api.axon402.com`}),` is blocked or the public Decision API is down. Check:`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Status`}),`: `,_jsx(_components.code,{children:`curl -i https://api.axon402.com/ready`}),` should return a structured HTTP response if the service is reachable. `,_jsx(_components.code,{children:`200`}),` means ready; `,_jsx(_components.code,{children:`503`}),` still proves the network path works and the backend is just not ready.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Network`}),`: corporate firewalls sometimes block npm-installed binaries from making HTTPS calls. Try from a different network.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Local fallback`}),`: for development, run a Decision API locally and use `,_jsx(_components.code,{children:`--endpoint http://localhost:3030`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`/-claude-json-already-exists`,children:_jsx(_components.code,{children:`~/.claude.json already exists`})}),`\n`,_jsxs(_components.p,{children:[`The CLI merges new MCP entries into your existing `,_jsx(_components.code,{children:`~/.claude.json`}),` — it does not overwrite. Before writing, it backs up the original to `,_jsx(_components.code,{children:`~/.claude.json.bak-\u003cunix-timestamp>`}),`. If something looks wrong after running the CLI, restore from the backup:`]}),`\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:`ls`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -lt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ~/.claude.json.bak-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`*`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` head`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`cp`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ~/.claude.json.bak-`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`t`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`s`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ~/.claude.json`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`“i-want-to-reset-and-start-over”`,children:`“I want to reset and start over”`}),`\n`,_jsx(_components.p,{children:`Delete the CLI’s local state and re-run:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,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:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`rm`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -rf`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ~/.axon/`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Optional: revert ~/.claude.json from a backup`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`ls`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -lt`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ~/.claude.json.bak-`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`*`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` head`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @axon402/init`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Note: this does NOT delete the Supabase auth user, the organization, or the wallets on the server. You’ll get a `,_jsx(_components.code,{children:`409 CONFLICT`}),` next time unless you use a different email. The dashboard at `,_jsx(_components.code,{children:`https://axon402.com`}),` is the place to manage server-side state.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-gets-written-to-claude-code`,children:`What gets written to Claude Code`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`@axon402/init`}),` does `,_jsx(_components.strong,{children:`not`}),` write a local stdio launch command. It merges a hosted HTTP MCP entry into `,_jsx(_components.code,{children:`~/.claude.json`}),` that points Claude Code at the Decision API directly:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mcpServers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"axon\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.axon402.com/v1/mcp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"headers\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Authorization\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bearer axon_sk_...\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`If you want to run the local MCP server over stdio instead, use the advanced self-hosted patterns in `,_jsx(_components.a,{href:`/integrations/ide-setup`,children:`IDE Setup`}),` and `,_jsx(_components.a,{href:`/integrations/mcp-server`,children:`MCP Server`}),`. Those are separate from the hosted HTTP config that `,_jsx(_components.code,{children:`@axon402/init`}),` writes automatically.`]}),`\n`,_jsx(Heading,{level:`2`,id:`see-also`,children:`See also`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/installation`,children:`Install the CLI`}),` — side-by-side overview of `,_jsx(_components.code,{children:`@axon402/init`}),` (runtime bootstrap) and `,_jsx(_components.code,{children:`@axon402/cli`}),` (control-plane operator CLI)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/cli/installation#step-2-the-operator-cli`,children:_jsx(_components.code,{children:`@axon402/cli`})}),` — the durable operator CLI for wallets, keys, deposits, and vault allocations (control plane)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/integrations/mcp-server`,children:`MCP Server`}),` — the runtime-plane surface the issued runtime key is for`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/cli-init`,children:`POST /v1/cli/init`}),` — the underlying server endpoint for `,_jsx(_components.code,{children:`@axon402/init`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/organizations/create-api-key`,children:`POST /v1/api-keys`}),` — mint org-wide operator keys for `,_jsx(_components.code,{children:`@axon402/cli`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/organizations/me`,children:`GET /v1/me`}),` — the auth introspection endpoint `,_jsx(_components.code,{children:`@axon402/cli`}),` uses at login`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/getting-started/quickstart`,children:`Quickstart`}),` — the higher-level get-started page`]}),`\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":"CLI Reference: @axon402/init","description":"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper","href":"/cli/reference"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Synopsis","slug":"synopsis","depth":2,"children":[]},{"title":"Options","slug":"options","depth":2,"children":[{"title":"Examples","slug":"examples","depth":3,"children":[]}]},{"title":"Environment variables","slug":"environment-variables","depth":2,"children":[]},{"title":"Files written","slug":"files-written","depth":2,"children":[]},{"title":"Exit codes","slug":"exit-codes","depth":2,"children":[]},{"title":"JSON output mode","slug":"json-output-mode","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[{"title":"Mandate missing for wallet","slug":"mandate-missing-for-wallet","depth":3,"children":[]},{"title":"409 CONFLICT — An account already exists for this email","slug":"409-conflict-—-an-account-already-exists-for-this-email","depth":3,"children":[]},{"title":"429 RATE_LIMITED","slug":"429-rate_limited","depth":3,"children":[]},{"title":"NETWORK_ERROR — Could not reach https://api.axon402.com","slug":"network_error-—-could-not-reach-https//api-axon402-com","depth":3,"children":[]},{"title":"~/.claude.json already exists","slug":"/-claude-json-already-exists","depth":3,"children":[]},{"title":"“I want to reset and start over”","slug":"“i-want-to-reset-and-start-over”","depth":3,"children":[]}]},{"title":"What gets written to Claude Code","slug":"what-gets-written-to-claude-code","depth":2,"children":[]},{"title":"See also","slug":"see-also","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"axon-8480709b","siteName":"AXON","title":"CLI Reference: @axon402/init - AXON","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-25T17:13:06.038Z","originalFileLocation":"cli/reference.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=\"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\">\u003cmeta data-mint-head name=\"application-name\" content=\"AXON\">\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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_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/axon-8480709b/doW6vlhtvzlF8oaH/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CLI Reference: @axon402/init - AXON\">\u003cmeta data-mint-head property=\"og:description\" content=\"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"AXON\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.axon402.com/docs/cli/reference\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://axon-8480709b.mintlify.app/_mintlify/api/og/v2?division=CLI\u0026amp;title=CLI+Reference%3A+%40axon402%2Finit\u0026amp;description=Flags%2C+environment+variables%2C+exit+codes%2C+and+troubleshooting+for+the+%40axon402%2Finit+runtime+bootstrap+helper\u0026amp;theme=ffd8e7c71bd698a364e3373a\u0026amp;signature=473972365a0f48acec75b50c2c73763290432df33377eebe6a645ff5ed0beb1f\">\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 Reference: @axon402/init - AXON\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://axon-8480709b.mintlify.app/_mintlify/api/og/v2?division=CLI\u0026amp;title=CLI+Reference%3A+%40axon402%2Finit\u0026amp;description=Flags%2C+environment+variables%2C+exit+codes%2C+and+troubleshooting+for+the+%40axon402%2Finit+runtime+bootstrap+helper\u0026amp;theme=ffd8e7c71bd698a364e3373a\u0026amp;signature=473972365a0f48acec75b50c2c73763290432df33377eebe6a645ff5ed0beb1f\">\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/axon-8480709b/doW6vlhtvzlF8oaH/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"AXON\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00cc82\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.axon402.com/docs/cli/reference\">\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/reference.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.axon402.com/#organization\",\"name\":\"AXON\",\"url\":\"https://docs.axon402.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/axon-8480709b/tKAx9a5x4ya04K6w/logo/light.svg?fit=max\u0026auto=format\u0026n=tKAx9a5x4ya04K6w\u0026q=85\u0026s=3504839d71d408ab1ec7a74331616485\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.axon402.com/docs#website\",\"name\":\"AXON\",\"url\":\"https://docs.axon402.com/docs\",\"publisher\":{\"@id\":\"https://docs.axon402.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.axon402.com/docs/cli/reference#webpage\",\"url\":\"https://docs.axon402.com/docs/cli/reference\",\"name\":\"CLI Reference: @axon402/init\",\"description\":\"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\",\"dateModified\":\"2026-07-25T17:13:06.038Z\",\"isPartOf\":{\"@id\":\"https://docs.axon402.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://docs.axon402.com/docs/cli/reference#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.axon402.com/docs/cli/reference#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"CLI\",\"item\":\"https://docs.axon402.com/docs/cli/installation\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CLI Reference: @axon402/init\",\"item\":\"https://docs.axon402.com/docs/cli/reference\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.axon402.com/docs/cli/reference#article\",\"headline\":\"CLI Reference: @axon402/init\",\"name\":\"CLI Reference: @axon402/init\",\"description\":\"Flags, environment variables, exit codes, and troubleshooting for the @axon402/init runtime bootstrap helper\",\"url\":\"https://docs.axon402.com/docs/cli/reference\",\"mainEntityOfPage\":{\"@id\":\"https://docs.axon402.com/docs/cli/reference#webpage\"},\"dateModified\":\"2026-07-25T17:13:06.038Z\",\"publisher\":{\"@id\":\"https://docs.axon402.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.axon402.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"AXON\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"AXON","nav":{"global":{"anchors":[{"anchor":"Dashboard","href":"https://axon402.com"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Getting Started","pages":[{"title":"AXON Docs","href":""},{"title":"Quickstart","href":"/getting-started/quickstart"},{"title":"Live Operator Onboarding","href":"/getting-started/live-onboarding"},{"title":"Launch Profile","href":"/getting-started/launch-profile"}]},{"group":"CLI","pages":[{"title":"Install the CLI","description":"Runtime bootstrap with @axon402/init and control-plane operations with @axon402/cli","href":"/cli/installation"},{"title":"CLI Reference: @axon402/init","href":"/cli/reference"}]},{"group":"Core Concepts","pages":[{"title":"Core Concepts","description":"Runtime entities and architecture overview","href":"/concepts/overview"},{"title":"Organizations \u0026 Wallets","href":"/concepts/organizations-and-wallets"},{"title":"Mandates","href":"/concepts/mandates"},{"title":"Spend Lifecycle","href":"/concepts/spend-lifecycle"},{"title":"x402 Protocol","href":"/concepts/x402-protocol"}]},{"group":"Integrations","pages":[{"title":"MCP Server","href":"/integrations/mcp-server"},{"title":"IDE Setup","href":"/integrations/ide-setup"},{"title":"Two-Surface Migration","href":"/integrations/two-surface-migration"},{"title":"OpenClaw Plugin","href":"/integrations/openclaw-plugin"},{"title":"REST API Integration","href":"/integrations/rest-api"}]},{"group":"Operations","pages":[{"title":"Authentication","href":"/operations/authentication"},{"title":"Deployment","href":"/operations/deployment"},{"title":"Security","href":"/operations/security"},{"title":"Dashboard","href":"/operations/dashboard"},{"title":"Operator Runbook","href":"/operations/operator-runbook"},{"title":"Webhooks","href":"/operations/webhooks"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]}]},"title":"CLI Reference: @axon402/init - AXON","buildId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","deploymentId":"dpl_GvhK4qVXq51DpfYJLCtPpYNN4YHN","dynamics":[],"chunks":[]}