Documentation index (all topics, EN + 中文): docs/README.md
This guide is for end users installing from GitHub Releases. CLI documentation in this repository, plus finclaw --help on your machine, is the authoritative surface for the command-line tool. Deeper topics (policies, profiles, skills) live in the linked guides in this repo.
Chinese version: getting-started.zh.md
curl -fsSL "https://raw.githubusercontent.com/finogeeks/finclaw-cli/main/install.sh?$(date +%s)" | shThe ?$(date +%s) query avoids stale CDN cache for install.sh. You can omit it; if the script behaves oddly, retry with the query.
Pin a version:
curl -fsSL https://raw.githubusercontent.com/finogeeks/finclaw-cli/main/install.sh | sh -s -- --version 0.1.0Environment variables (see install.sh --help):
FINCLAW_VERSION— version without or withvprefixFINCLAW_INSTALL_DIR— default$HOME/.local/bin
After install, ensure the install dir is on PATH (e.g. $HOME/.local/bin):
finclaw --version- Open Releases, pick a tag (e.g.
v0.1.0-rc). - Download one archive for your platform (see the table in README.md) and
SHA256SUMS.
Checksum note: SHA256SUMS lists all platform archives. You only have one file on disk, so do not run shasum -a 256 -c SHA256SUMS on the full file (it will try to verify missing siblings). Instead verify the single file you downloaded, for example:
VER=0.1.0-rc
FILE="finclaw-v${VER}-aarch64-apple-darwin.tar.zst" # adjust triple to your platform
grep -F "$FILE" SHA256SUMS | shasum -a 256 -c -Or compute the hash of FILE and compare the hex digest to the first field on the matching line in SHA256SUMS.
finclaw initThis creates the default profile layout under your Finclaw home (usually ~/.finclaw) and a valid config.yaml with the mock LLM provider so the CLI is safe to run before you add real API keys.
If stdin is interactive, finclaw init prompts for template and related choices. Typical non-interactive patterns:
finclaw init --non-interactive # CI: seeds coder-style defaults unless you steer with flags
finclaw init --non-interactive --template researcher --tool-bundle basic
finclaw init --non-interactive --no-template # scaffold config only; skip profile.yaml / IDENTITY seedingSee finclaw init --help for --force, template names (general, coder, researcher), and tool_bundle values (basic, standard, workspace, full).
Once the tree exists, you can reseed the on-disk agent profile from built-in templates without editing YAML by hand:
finclaw setup agent-profileNon-interactive flags include --seed-profile-template, --seed-profile-tool-bundle, --seed-profile-force, and --seed-profile-no-template — see finclaw setup agent-profile --help. The guided LLM wizard is still finclaw setup or explicit finclaw setup llm.
The embedded mock provider is for smoke tests. For real models you set provider, model, and API key (or base URL for compatible endpoints).
finclaw setupThis guides you through:
- picking a provider (
openai,anthropic,deepseek,openrouter,ollama,lmstudio, or a custom OpenAI-compatible endpoint) - choosing a default model
- optionally storing an API key in
config.yaml - setting a local/custom
base_urlwhen needed
For scripts and CI, you can skip prompts:
finclaw setup --non-interactive --provider openai --model gpt-4o-minifinclaw config path # where config.yaml lives
finclaw config set llm.provider openai
finclaw config set llm.model gpt-4.1
finclaw config set llm.api_key sk-... # or use env for the key (see below)| Variable | Maps to |
|---|---|
FINCLAW_LLM_PROVIDER or LLM_PROVIDER |
llm.provider |
FINCLAW_LLM_MODEL or LLM_MODEL |
llm.model |
FINCLAW_LLM_BASE_URL or LLM_BASE_URL |
llm.base_url |
FINCLAW_LLM_API_KEY |
llm.api_key |
OPENAI_API_KEY, ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, LLM_API_KEY |
used as llm.api_key if FINCLAW_LLM_API_KEY is unset |
Precedence (highest first): shell env → dotenv from .env files → config.yaml → built-in defaults.
- Current working directory:
./.env(only if your shell’s cwd is that directory when you startfinclaw) - Profile root:
<profile_root>/.env - Finclaw home:
~/.finclaw/.env(or$FINCLAW_HOME/.env)
For keys that should load regardless of cwd, use ~/.finclaw/.env or the profile’s .env, not only a file inside a random git clone.
finclaw config show
finclaw config check
finclaw doctordoctor and config check surface missing keys, bad paths, and provider issues.
Suggested first-run loop:
finclaw init
finclaw setup
finclaw doctor
finclaw chat -m "Hello from finclaw"Claw HTTP/API behavior depends on your deployment; day-to-day CLI flags are in finclaw --help.
Interactive REPL (multiline, slash commands, good for exploration):
finclaw chatFull-screen TUI (experimental; same agent as line chat, ratatui UI — needs a TTY; ignored with -m):
finclaw chat --tuiSupervised tool approvals that need a stdin prompt may auto-reject in --tui; prefer line chat for approval-heavy sessions — see security-and-policies.md. Details: chat-and-operations.md.
One shot (script / CI, exits after the reply):
finclaw chat -m "Hello from finclaw"Policy & approvals: published binaries run as a normal process by default. Use profile policies and supervised prompts (or ACP in the IDE) to gate destructive tools. See security-and-policies.md and acp.md.
Scripted user id: pass --user <id> or set FINCLAW_USER_ID so multi-account tests attribute turns consistently; when empty, finclaw normally derives from your OS username.
Per-session tool governance hints: --auto-approve-all-tools and --confirm-all-tools adjust how guarded tools behave for one invocation — mutually exclusive; see security-and-policies.md and finclaw chat --help.
Long-lived process (when you want a daemon on the machine):
finclaw serveThat boots the active profile. For a profile-less supervisor that starts workers on demand (finclaw serve --lazy), see chat-and-operations.md.
Use finclaw model / finclaw model <id> to change the model id when your provider supports it. Interactive finclaw model (no id, TTY) uses the same catalog picker as finclaw setup; have llm.provider set in config or pass --provider for that flow. Print the bundled catalogue without mutating config: finclaw model --list (--json).
CLI language: pass --locale en or --locale zh once on any command when you want help text or shared prompts in that language regardless of shell locale.
| Location | Role |
|---|---|
~/.finclaw (or FINCLAW_HOME) |
Default data root |
~/.finclaw/profiles/<name>/ |
Per-profile config, skills, policy, etc. |
finclaw config path |
Active config.yaml for the current profile |
Use finclaw profile --help for copy/backup flows.
Skills: configure hubs with finclaw skills list / check / hubs / install, or drop packs into ~/.finclaw/profiles/<name>/skills/<id>/. Use finclaw skills --help for all flags.
| Goal | Guide |
|---|---|
| Use finclaw inside Zed (ACP) | acp.md |
| Let the agent learn memory & skills after turns | learning.md · finclaw learning status |
| Talk to other agents (A2A) | a2a.md |
| Tighten policies / approvals | security-and-policies.md |
New builds appear on Releases. Re-run the one-liner or download the new archive, re-verify checksums, and replace the binary. The finclaw update command documents the channel; behavior depends on your edition—read the on-screen help.
- Install / download / checksum / extract: open an issue with the release tag, file name, and OS + CPU (e.g. macOS 15, arm64).
- Product / agent behavior (private deployments): use your org’s support channel if applicable; this repo focuses on shipping and installing the public binary.
Overview and links: root README.md · full index docs/README.md