Nanoclaw claw
Install the claw CLI tool — run NanoClaw agent containers from the command line without opening a chat app.
install
source · Clone the upstream repo
git clone https://github.com/qwibitai/nanoclaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/qwibitai/nanoclaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/claw" ~/.claude/skills/qwibitai-nanoclaw-claw && rm -rf "$T"
manifest:
.claude/skills/claw/SKILL.mdsource content
claw — NanoClaw CLI
claw is a Python CLI that sends prompts directly to a NanoClaw agent container from the terminal. It reads registered groups from the NanoClaw database, picks up secrets from .env, and pipes a JSON payload into a container run — no chat app required.
What it does
- Send a prompt to any registered group by name, folder, or JID
- Default target is the main group (no
needed for most use)-g - Resume a previous session with
-s <session-id> - Read prompts from stdin (
) for scripting and piping--pipe - List all registered groups with
--list-groups - Auto-detects
orcontainer
runtime (or override withdocker
)--runtime - Prints the agent's response to stdout; session ID to stderr
- Verbose mode (
) shows the command, redacted payload, and exit code-v
Prerequisites
- Python 3.8 or later
- NanoClaw installed with a built and tagged container image (
)nanoclaw-agent:latest - Either
(Apple Container, macOS 15+) orcontainer
available indockerPATH
Install
Run this skill from within the NanoClaw directory. The script auto-detects its location, so the symlink always points to the right place.
1. Copy the script
mkdir -p scripts cp "${CLAUDE_SKILL_DIR}/scripts/claw" scripts/claw chmod +x scripts/claw
2. Symlink into PATH
mkdir -p ~/bin ln -sf "$(pwd)/scripts/claw" ~/bin/claw
Make sure
~/bin is in PATH. Add this to ~/.zshrc or ~/.bashrc if needed:
export PATH="$HOME/bin:$PATH"
Then reload the shell:
source ~/.zshrc # or ~/.bashrc
3. Verify
claw --list-groups
You should see registered groups. If NanoClaw isn't running or the database doesn't exist yet, the list will be empty — that's fine.
Usage Examples
# Send a prompt to the main group claw "What's on my calendar today?" # Send to a specific group by name (fuzzy match) claw -g "family" "Remind everyone about dinner at 7" # Send to a group by exact JID claw -j "120363336345536173@g.us" "Hello" # Resume a previous session claw -s abc123 "Continue where we left off" # Read prompt from stdin echo "Summarize this" | claw --pipe -g dev # Pipe a file cat report.txt | claw --pipe "Summarize this report" # List all registered groups claw --list-groups # Force a specific runtime claw --runtime docker "Hello" # Use a custom image tag (e.g. after rebuilding with a new tag) claw --image nanoclaw-agent:dev "Hello" # Verbose mode (debug info, secrets redacted) claw -v "Hello" # Custom timeout for long-running tasks claw --timeout 600 "Run the full analysis"
Troubleshooting
"neither 'container' nor 'docker' found"
Install Docker Desktop or Apple Container (macOS 15+), or pass
--runtime explicitly.
"no secrets found in .env"
The script auto-detects your NanoClaw directory and reads
.env from it. Check that the file exists and contains at least one of: CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN.
Container times out
The default timeout is 300 seconds. For longer tasks, pass
--timeout 600 (or higher). If the container consistently hangs, check that your nanoclaw-agent:latest image is up to date by running ./container/build.sh.
"group not found"
Run
claw --list-groups to see what's registered. Group lookup does a fuzzy partial match on name and folder — if your query matches multiple groups, you'll get an error listing the ambiguous matches.
Container crashes mid-stream
Containers run with
--rm so they are automatically removed. If the agent crashes before emitting the output sentinel, claw falls back to printing raw stdout. Use -v to see what the container produced. Rebuild the image with ./container/build.sh if crashes are consistent.
Override the NanoClaw directory
If
claw can't find your database or .env, set the NANOCLAW_DIR environment variable:
export NANOCLAW_DIR=/path/to/your/nanoclaw