1Claw CLI
The @1claw/cli package provides a full-featured command-line interface for 1Claw. It is designed for CI/CD pipelines, DevOps workflows, local development, and server environments.
Installation
Homebrew (macOS / Linux)
brew install 1clawAI/tap/oneclaw
npm
npm install -g @1claw/cli
Or run with npx:
npx @1claw/cli login
Quick start
Configure your existing AI clients (Claude Desktop, Cursor, VS Code, …):
1claw setup # Login, create agent + vault + policy, configure AI clients
That single command provisions everything: an agent (with Shroud + Intents API enabled), a vault, an access policy, and MCP config for all detected AI clients (Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Continue.dev, Zed).
Or spin up a self-contained agent in Docker — one command gives you a running, vault-connected agent with a chat UI, where the container never sees your API key:
1claw init --docker --local # Fully offline; no cloud account needed
1claw spawn langchain # Scaffold project folder + build + run from template
Open http://localhost:3000 and you have a live agent. Your source files are in ./langchain/ — edit and rebuild anytime. See Containerized agent runtime and Agent templates below for the full walkthrough.
Authentication
Browser-based login (recommended)
1claw login
This opens your browser to 1claw.co where you approve the login. The CLI polls until you confirm. Your token is stored in ~/.config/1claw/.
Email/password
1claw login --email
Supports MFA if enabled on your account.
CI/CD (non-interactive)
Set environment variables — no login needed:
export ONECLAW_TOKEN="your-jwt"
# or
export ONECLAW_API_KEY="1ck_..."
export ONECLAW_VAULT_ID="your-vault-uuid" # optional; required for vault-scoped commands
Password management
1claw forgot-password # Request password reset email
1claw reset-password # Set new password from email token
1claw set-password # Set a password (platform OIDC users)
1claw change-email # Change email (sends verification code)
Main commands
| Area | Commands |
|---|---|
| Setup | setup — auto-configure AI clients with agent, vault, and policy provisioning |
| Containers | init --docker, spawn <template>, containers list/info/stop/rm/logs, publish, eject, deploy --google-cloud |
| Auth | login, logout, whoami, forgot-password, reset-password, set-password, change-email |
| Vaults | vault list, vault create, vault get, vault link, vault unlink, vault delete |
| Secrets | secret list, secret get, secret set, secret delete, secret rotate, secret describe, secret versions |
| Import | import .env — import secrets from .env files into a vault |
| CI/CD | env pull, env push, env run, env cache, env cache-status, env cache-clear |
| Agents | agent list, agent create, agent get, agent update, agent delete, agent token, agent enroll |
| Signing keys | agent keys list, agent keys create, agent keys rotate, agent keys delete, agent export-signing-key |
| Unified signing | agent sign — EIP-191, EIP-712, or raw transaction signing |
| Transactions | agent tx submit, agent tx sign, agent tx list, agent tx get |
| Execution Intents | agent binding create, agent binding list, agent binding get, agent binding update, agent binding delete, agent binding test, agent binding rotate-credential, agent binding execute, agent binding executions, agent binding proxy |
| Bankr keys | agent bankr-key lease, agent bankr-key list, agent bankr-key revoke |
| Treasury | treasury generate, treasury list, treasury get, treasury balance, treasury send, treasury swap, treasury export, treasury rotate, treasury deactivate |
| Proposals | treasury proposal create, treasury proposal list, treasury proposal get, treasury proposal sign, treasury proposal execute, treasury proposal cancel |
| Policies | policy list, policy create, policy delete |
| Sharing | share create, share list, share accept, share decline, share revoke |
| Webhooks | webhook create, webhook list, webhook get, webhook update, webhook delete |
| Platform | platform create, platform list, platform get, platform update, platform delete, platform rotate-key, platform templates, platform users, platform connected-apps, platform reissue-claim |
| Approvals | approval list, approval get, approval decide |
| Billing | billing status, billing credits, billing usage, billing ledger |
| Audit | audit list |
| MFA | mfa status, mfa enable, mfa disable |
| Devices | device list, device revoke |
| Config | config list, config set, config get |
| Proxy | proxy — local OpenAI-compatible proxy that routes through Shroud |
| Local vault | local init, local add, local list, local get, local rm, local import, local export, local sync, local status, local destroy |
| Local daemon | daemon start, daemon stop, daemon status, daemon policy add/list/remove |
| OIDC | auth federated-token — mint short-lived RS256 JWT for external relying parties |
Setup (AI client auto-configuration)
Auto-detect and configure AI clients to use the 1Claw MCP server for runtime secret access.
1claw setup # Interactive: login, create agent + vault + policy, configure clients
1claw setup --client cursor # Configure only Cursor
1claw setup --agent-key ocv_... # Use a specific agent API key (skips provisioning)
1claw setup --local # Configure for local daemon mode (no cloud)
When you choose "Create a new agent", setup provisions everything end-to-end:
- Creates an agent with Shroud LLM proxy and Intents API enabled
- Lists your existing vaults or auto-creates a "default" vault
- Creates a read + write access policy on
secrets/*for the agent - Binds the agent to the vault
- Configures each selected AI client's MCP config
Import (.env files)
1claw import .env # Import all keys from .env
1claw import .env.production --prefix prod/ # Add a path prefix
1claw import .env --dry-run # Preview what would be imported
1claw import .env --force # Overwrite existing secrets
1claw import .env --vault <id> # Import to a specific vault
Agents
1claw agent list
1claw agent create my-agent
1claw agent create my-agent \
--shroud \ # Enable Shroud LLM proxy
--tx-to-allowlist 0x... \ # Transaction guardrails
--tx-max-value 0.1 \
--tx-daily-limit 1.0 \
--tx-allowed-chains sepolia,base \
--environment preview \ # Tag agent with named environment (v0.52)
--environment-locked \ # Lock tag after creation
--env-auto-resolve # Auto-fill env on resolve endpoint
1claw agent get <id>
1claw agent update <id> --shroud true --intents-api true
1claw agent update <id> \
--environment production \
--environment-locked true \
--env-auto-resolve true \
--per-environment-guardrails '{"production":{"tx_max_value":"1.0"}}'
1claw agent update <id> --execution-intents true \
--execution-guardrails '{"max_requests_per_minute":30,"allowed_binding_types":["http","graphql"]}'
1claw agent delete <id>
1claw agent token <id> # Generate agent JWT
1claw agent enroll my-agent --email human@example.com # Self-enroll (no auth)
1claw agent smart-account-import <id> --chain ethereum --chain-id 1 --safe 0x... # Import Safe
Transactions (Intents API)
Submit, sign, and inspect on-chain transactions for agents with Intents API enabled.
1claw agent tx submit <agent-id> \
--to 0xRecipient --value 0.01 --chain sepolia
1claw agent tx submit <agent-id> \
--to 0xRecipient --value 0.01 --chain sepolia --simulate
1claw agent tx sign <agent-id> \
--to 0xRecipient --value 0.01 --chain sepolia # Sign only (no broadcast)
1claw agent tx list <agent-id>
1claw agent tx get <agent-id> <tx-id>
Signing keys (multi-chain)
Manage per-agent signing keys. Keys are generated server-side and stored in the vault.
1claw agent keys list <agent-id>
1claw agent keys create <agent-id> --chain ethereum
1claw agent keys create <agent-id> --chain solana
1claw agent keys rotate <agent-id> --chain ethereum
1claw agent keys delete <agent-id> --chain ethereum
1claw agent export-signing-key <agent-id> --chain ethereum # Requires password
1claw agent keys import <agent-id> <chain> --key <key> --format hex # BYOK import
Supported chains: ethereum, bitcoin, solana, xrp, cardano, tron.
Import supports --format hex (default), base64, or wif (Bitcoin only). Human-only, requires password re-authentication.
Unified signing (agent sign)
Sign messages, typed data, or raw transactions.
# EIP-191 personal_sign
1claw agent sign <agent-id> \
--intent-type personal_sign --message 0x48656c6c6f
# EIP-712 typed data
1claw agent sign <agent-id> \
--intent-type typed_data --typed-data ./permit.json
# Transaction (all EIP-2718 types: legacy, EIP-1559, EIP-4844, EIP-7702)
1claw agent sign <agent-id> \
--intent-type transaction --to 0xRecipient --value 0.01 --chain base --tx-type 2
Treasury wallets
Multi-chain wallet generation for human users.
1claw treasury generate # Generate wallets for all chains
1claw treasury generate --chains ethereum,solana
1claw treasury list
1claw treasury get <chain>
1claw treasury balance <chain>
1claw treasury balance ethereum --tokens 0xA0b8...eB48
1claw treasury send <chain> --to 0xRecipient --amount 0.01
1claw treasury swap <chain> \
--sell-token native --buy-token 0xA0b8... --amount 0.1 --slippage 1
1claw treasury export <chain> --password <pw> # Audit-logged
1claw treasury rotate <chain>
1claw treasury deactivate <chain>
Supported chains: ethereum, bitcoin, solana, xrp, cardano, tron. Available on all tiers (counts toward wallet quota).
Treasury proposals (multisig)
1claw treasury proposal create <treasury-id> \
--to 0xRecipient --value 1000000000000000 --chain ethereum
1claw treasury proposal list <treasury-id>
1claw treasury proposal get <treasury-id> <id>
1claw treasury proposal sign <treasury-id> <id> --signature 0x... --decision approve
1claw treasury proposal execute <treasury-id> <id>
1claw treasury proposal cancel <treasury-id> <id>
Webhooks
1claw webhook create --url https://example.com/hook \
--events wallet.transfer.sent,proposal.created
1claw webhook create --url https://example.com/hook \
--events agent.transaction.broadcast --secret my-hmac-secret
1claw webhook list
1claw webhook get <id>
1claw webhook update <id> --active false
1claw webhook delete <id>
Supported events: wallet.transfer.sent, wallet.transfer.received, proposal.created, proposal.signed, proposal.executed, proposal.cancelled, agent.transaction.broadcast, agent.transaction.signed, signing_key.rotated, policy.created, policy.updated, policy.deleted.
Platform API
Manage platform apps for developers building multi-tenant applications on top of 1Claw.
1claw platform create my-app my-slug
1claw platform list
1claw platform get <app-id>
1claw platform update <app-id> --name new-name
1claw platform delete <app-id>
1claw platform rotate-key <app-id>
1claw platform reissue-claim <connection-id>
# Templates
1claw platform templates list <app-id>
1claw platform templates create <app-id> <name> --spec ./template.json
# Connected users
1claw platform users list <app-id>
1claw platform connected-apps
Approvals
Human-in-the-loop approval workflow for agent actions.
1claw approval list
1claw approval list --status approved
1claw approval get <id>
1claw approval decide <id> approve
1claw approval decide <id> reject --reason "Not needed"
Guardrail governance (v0.56)
1claw guardrails shadow-report
1claw guardrails revisions
1claw guardrails replay <agent-id> --days 7 --draft-guardrails '{"tx_max_value_eth":"0.1"}'
Widening agent or binding guardrails may return 202 with pending_approval_id. Approve via 1claw approval decide, then resubmit with --approval-id.
See Guardrail governance.
Agent Safe accounts (v0.56)
1claw agent accounts list <agent-id>
1claw agent accounts migrate <agent-id> --chain ethereum [--deprecate-eoa]
1claw agent accounts deprecate-eoa <agent-id> --chain ethereum
1claw safe module-registry ethereum
1claw safe sync-allowances
See Agent Safe accounts.
Execution Intents (bindings)
HTTP and GraphQL calls through named bindings — credentials stay server-side. Requires Pro+ tier and execution_intents_enabled on the agent.
1claw agent binding create <agent-id> \
--name stripe-api --type http \
--config '{"base_url":"https://api.stripe.com","auth_type":"bearer","allowed_hosts":["api.stripe.com"],"allowed_paths":["/v1/*"]}' \
--credential sk_live_...
1claw agent binding list <agent-id>
1claw agent binding get <agent-id> <binding-id>
1claw agent binding update <agent-id> <binding-id> --active false
1claw agent binding test <agent-id> <binding-id>
1claw agent binding rotate-credential <agent-id> <binding-id> --credential sk_live_new_...
# Local proxy: a vendor CLI/SDK with a base-URL override runs through the binding, no key on this machine
1claw agent binding proxy bankr --agent-key "$AGENT_ID:$AGENT_KEY" --port 8787
# export BANKR_API_URL=http://127.0.0.1:8787; export BANKR_API_KEY=managed-by-1claw
# Same, against the local daemon and local vault (policy from `1claw daemon policy add`)
1claw daemon proxy bankr-api-key --base-url https://api.bankr.bot --port 8787
1claw agent binding execute <agent-id> \
--binding stripe-api --intent-type http \
--params '{"method":"GET","path":"/v1/customers?limit=5"}'
1claw agent binding executions <agent-id> --limit 20
1claw agent binding delete <agent-id> <binding-id>
See Intents API — Execution Intents for tier gating, guardrails, and TEE mode.
Bankr dynamic key vending
Lease short-lived Bankr wallet API keys. Agents need explicit policy on agents/{id}/bankr/* in __agent-keys.
1claw agent bankr-key lease <agent-id>
1claw agent bankr-key lease <agent-id> --ttl 600 --wallet wlt_abc123
1claw agent bankr-key list <agent-id>
1claw agent bankr-key revoke <agent-id> <lease-id>
OIDC federation
Mint short-lived RS256 JWTs for external relying parties (Anthropic WIF, GCP/AWS STS).
1claw auth federated-token --audience https://api.anthropic.com
1claw auth federated-token -a https://api.anthropic.com --raw # Raw token for pipes
The agent must have federation_enabled = true and the audience on its allowlist.