apoorvdarshan

Claw C — Development skill for Claude Code

Development community

Claude Code reimplemented in pure C — the lowest level it's ever been done.

How to install Claw C

This entry records only its repository, not the path inside it, so there is no exact command to give. Open apoorvdarshan/claw-c and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Claw C does

Claude Code reimplemented in pure C — the lowest level it's ever been done.

Alternatives in Development

  • Done Check — PUA Done Check — 用于没跑测试别说完成、已完成但没证据、done without proof、需要验收/回归/交付质量检查的场景 19.5k ★
  • Claw Code Agent — Claw Code No Rust No TypeScript Only Python 543 ★
  • Tmux Claude Session Manager — Run many Claude Code sessions across your projects, each in its own tmux session — then list them, see which a 380 ★

README

claw-c

      _                          
  ___| | __ ___      __       ___ 
 / __| |/ _` \ \ /\ / /___  / __|
| (__| | (_| |\ V  V /|___|| (__ 
 \___|_|\__,_| \_/\_/        \___|

AI coding agent in your terminal. Pure C. No bloat.


me building an HTTP client from scratch instead of linking libcurl

install

git clone https://github.com/apoorvdarshan/claw-c.git
cd claw-c && ./install.sh

that's it. builds, installs to `~/.local/bin/claw-c`, adds to PATH. on macOS it auto-installs mbedTLS via brew. on linux you need [mbedTLS 4.x](https://github.com/Mbed-TLS/mbedtls/releases) first.

then from anywhere:

claw-c

first run asks you to pick a provider and enter your key. config saved to `~/.claw-c/config.json`. next time just type `claw-c`.

$ claw-c

Welcome to claw-c! Let's get you set up.

  1  anthropic   (claude-sonnet-4-6, claude-opus-4-6)
  2  openai      (gpt-4o, o3, o4-mini)
  3  gemini      (gemini-2.5-flash, gemini-2.5-pro)
  4  groq        (llama-3.3-70b-versatile)
  5  xai         (grok-3)
  6  openrouter  (any model)
  7  ollama      (local, no key needed)
  ...

Pick a provider [1-10]: 3
Model [gemini-2.5-flash]:
API key: AIza...

Config saved to ~/.claw-c/config.json

to change provider/model/key: `claw-c --setup` or `/setup` inside the REPL.

what it does

you type a prompt. claw-c talks to the LLM. the LLM can run commands, read/write/edit files, search code — claw-c executes it all, feeds results back, and loops until the task is done. just like claude code but ~3500 lines of C.

$ claw-c

  gemini | gemini-2.5-flash | main

> write hello.c that prints "built by claw-c", compile and run it

── write_file ──
  /tmp/hello.c
Wrote 81 bytes to /tmp/hello.c

── bash ──
$ cc /tmp/hello.c -o /tmp/hello && /tmp/hello
built by claw-c

Done.

> find all functions with "parse" in their name

── g