Skip to main content
The nullclaw doctor command runs comprehensive diagnostics to verify your installation, configuration, and system health.

Usage

What It Checks

The doctor command performs these diagnostic checks:

1. Installation

  • ✓ Zig version (requires 0.15.2)
  • ✓ Binary location and permissions
  • ✓ Config directory exists (~/.nullclaw)
  • ✓ Config file exists and is valid JSON

2. Configuration

  • ✓ Valid JSON syntax
  • ✓ Required fields present
  • ✓ Provider configuration (API keys, base URLs)
  • ✓ Model selection (primary model exists)
  • ✓ Channel credentials (encrypted secrets)

3. Connectivity

  • ✓ Provider API reachable
  • ✓ Test API call with configured model
  • ✓ Channel services reachable (Telegram, Discord, etc.)
  • ✓ Tunnel connectivity (if configured)

4. Dependencies

  • ✓ Required CLI tools installed:
    • signal-cli (for Signal channel)
    • nak (for Nostr channel)
    • cloudflared / ngrok / tailscale (for tunnels)

5. Memory Backend

  • ✓ SQLite database accessible
  • ✓ FTS5 extension available
  • ✓ Embedding provider configured (if using vector search)
  • ✓ Database integrity

6. Security

  • ✓ Sandbox backend available (landlock, firejail, bubblewrap, docker)
  • ✓ Workspace directory exists
  • ✓ File permissions correct
  • ✓ Secrets encryption working

7. Gateway

  • ✓ Port available (default 3000)
  • ✓ Pairing system functional
  • ✓ Webhook endpoints responding

Example Output

Error Example

Common Issues and Fixes

Invalid Config

Fix: Edit ~/.nullclaw/config.json and fix JSON syntax:

Provider Unreachable

Fix: Check network and API key:

Missing Dependencies

Fix: Install missing tools:

Port Already in Use

Fix: Change port or kill process:

Sandbox Not Available

Fix: Install sandbox backend:

Exit Codes

  • 0 - All checks passed
  • 1 - Warnings only
  • 2 - Errors found

Use in Scripts

Verbose Mode

For detailed output:

See Also