Setup

Choose the install path that matches your comfort level.

SafeClaw can be installed as a quick terminal command, a guided terminal flow, or a double-click Mac setup wizard. The global safeclaw command is opt-in so the installer does not silently modify a user’s shell environment.

Quick install

This installs SafeClaw into ~/safeclaw, creates a virtual environment, installs dependencies, copies .env.example, and runs a local CLI check.

curl -fsSL https://raw.githubusercontent.com/amahmood561/SafeClaw/main/install.sh | bash

Guided terminal setup

Use this for non-dev users who want SafeClaw to ask for the install folder, model provider, workspace, permission profile, shell setting, and optional WhatsApp details.

bash <(curl -fsSL https://raw.githubusercontent.com/amahmood561/SafeClaw/main/guided-install.sh)

Mac double-click wizard

For a setup flow that feels closer to an app installer, clone or download the repo, open mac-setup, and double-click SafeClaw Setup.command. If macOS blocks it, right-click the file, choose Open, then confirm.

1

Pick install settings

The wizard asks where SafeClaw should live and whether to add the global command.

2

Choose model and safety defaults

Enter OpenAI-compatible settings, workspace path, permission profile, approval mode, and shell behavior.

3

Optional WhatsApp walkthrough

The wizard explains Twilio, public webhook URLs, sender allowlists, and persistent service mode.

Use Ollama locally

SafeClaw can use Ollama through its OpenAI-compatible API. Start Ollama, pull a model, then point SafeClaw at the local base URL.

brew install ollama
ollama serve
ollama pull llama3.2:3b

OPENAI_API_KEY=ollama
OPENAI_BASE_URL=http://localhost:11434/v1
OPENAI_MODEL=llama3.2:3b

WhatsApp setup

WhatsApp mode uses Twilio. You need a Twilio Account SID, Auth Token, WhatsApp sender, public HTTPS URL, and allowed sender list. Run:

safeclaw whatsapp-setup https://your-public-url
safeclaw whatsapp --host 0.0.0.0 --port 8080

For persistent Mac mode, use the service commands after your webhook works locally.

safeclaw service-install
safeclaw service-start
safeclaw service-status

Verify your setup

Run doctor before debugging individual symptoms. It checks Python, environment config, model settings, workspace permissions, safety profile, Twilio config, port availability, and macOS service status.

safeclaw doctor
safeclaw run "write a one paragraph setup summary"
safeclaw chat