I've poked around a bit and tried to force NullClaw to actually run on the watch, but what I keep hitting is that NullClaw seems to depend on curl being present, and that's not available by default in the Wear OS / Android runtime environment.
From the code, ClawRunner talks to Anthropic directly in Kotlin over HTTP, and libnullclaw.so is only checked for existence via isInstalled() — there's no JNI or ProcessBuilder call that actually invokes the binary during a query. That makes the current behavior look like "Kotlin app + direct Anthropic API" instead of "NullClaw binary doing the work."
One way forward could be:
- Bundling
curl explicitly on-device (probably not the cleanest path), or
- Having NullClaw's curl-style requests mediated through Kotlin, so that any HTTP call to
curl is effectively routed through the existing Kotlin HTTP client and then fed back into NullClaw's logic.
Right now it feels like NullClaw is more of a concept in the docs/UI than an active runtime component, and I'm pretty sure the missing curl dependency is the main reason it's stuck there.
If you're open to it, I'm playing around with the idea of using Kotlin to "fake" curl so that the NullClaw binary can assume it has a working HTTP client, without needing a real curl binary on the watch.
I've poked around a bit and tried to force NullClaw to actually run on the watch, but what I keep hitting is that NullClaw seems to depend on
curlbeing present, and that's not available by default in the Wear OS / Android runtime environment.From the code,
ClawRunnertalks to Anthropic directly in Kotlin over HTTP, andlibnullclaw.sois only checked for existence viaisInstalled()— there's no JNI orProcessBuildercall that actually invokes the binary during a query. That makes the current behavior look like "Kotlin app + direct Anthropic API" instead of "NullClaw binary doing the work."One way forward could be:
curlexplicitly on-device (probably not the cleanest path), orcurlis effectively routed through the existing Kotlin HTTP client and then fed back into NullClaw's logic.Right now it feels like NullClaw is more of a concept in the docs/UI than an active runtime component, and I'm pretty sure the missing
curldependency is the main reason it's stuck there.If you're open to it, I'm playing around with the idea of using Kotlin to "fake"
curlso that the NullClaw binary can assume it has a working HTTP client, without needing a realcurlbinary on the watch.