Setup wizard
snowclaw setup is the interactive wizard that scaffolds a new SnowClaw project. Run it once per project, in a fresh directory.
Usage
mkdir my-openclaw && cd my-openclaw
snowclaw setup
Bare snowclaw (with no subcommand) also defaults to setup.
Flags
| Flag | What it does |
|---|---|
--force | Re-runs setup, overwriting existing template files. Use this after upgrading the CLI if you want the latest templates. |
What the wizard collects
| Prompt | Used for |
|---|---|
| Snowflake account identifier | All REST API calls and the connections.toml |
| PAT (programmatic access token) | Authenticates the admin role for infra ops |
Admin role (default: SYSADMIN) | Creates databases, secrets, compute pools, network rules |
Service role (default: SNOWCLAW_SERVICE_ROLE) | Runs the container at runtime with minimal privileges |
| Channels | Slack, Telegram, and/or Discord credentials |
| Tools | Pre-registered tools (e.g. GitHub, Brave Search) that auto-configure credentials |
| Object provisioning | Whether to create Snowflake objects now via the REST API |
| Egress mode | Allowlist (default) or unrestricted outbound (opt-in behind a red-warning confirm) |
What the wizard creates
After setup finishes, your project directory looks like this:
my-openclaw/
├── .snowclaw/
│ ├── config.json # version, timestamp, prefix, tools
│ └── network-rules.json # approved egress hosts
├── .env # secrets (gitignored)
├── .gitignore
├── openclaw.json # providers, channels, agents, tool policy
├── connections.toml # Snowflake PAT connection (gitignored)
├── build-hooks/ # optional user .sh scripts
└── skills/
├── cortex-code/
└── snowclaw/
And, if you opted into provisioning, these Snowflake objects:
- Database and schema (
snowclaw_db.snowclaw_schemaby default) - Image repository (
snowclaw_repo) - Internal stage (
snowclaw_state_stage) — backs the container's persistent volume - Secrets (
snowclaw_sf_token+ per-channel, per-tool, per-custom) - Network rule (
snowclaw_egress_rule) - External access integration (
snowclaw_external_access) - Compute pool (
snowclaw_pool—CPU_X64_S, 1 node)
Next
- Deploy when you're ready to push to Snowflake.
- snowclaw dev to iterate locally first.