Coding Agent · CLI
An interactive coding agent in pure C — chat with AI models from the terminal, with an agent loop that reads, edits, searches, and runs code.
Nevermore is a terminal-native coding agent written entirely in C. It talks to six LLM providers — Charm Hyper, Ollama (local daemon and cloud), OpenRouter, and OpenCode Go + Zen — over a hand-rolled HTTP/1.1 + SSE client with OS-native TLS. No libcurl, ever: Schannel on Windows, Secure Transport on macOS, and mbedTLS/OpenSSL on Linux.
Its TUI is modeled on the Ditty REPL and built on boba. As a first-class portty citizen it speaks the kitty keyboard protocol and attaches images over sixel, iTerm2, or kitty graphics.
exec_command,
write_stdin, and kill_job for dev
servers, REPLs, and ssh — watch them with /ps, stop
them with /kill
@ file mentions: a picker over the working directory
completes paths as you type, and mentions that resolve are
underlined
/routing,
/tier, /maxprice, and
/preset cheap|fast|balanced, with a note on which
upstream served each round
/image or -i;
image-output models render in the terminal and save with
/image save
/model picker (cap:vision,
cap:tools, ctx:>200k), and
/config showing every setting and where it came from
nevermore ask "…", with
-p and -m for a single run
/session save writes the conversation as
markdown
macOS (Apple Silicon) and Windows (x86_64):
download the portable ZIP from the
releases
page, extract it anywhere, and run nevermore. There is
no installer, and no MSYS2 or Homebrew.
GNU/Linux: build from the source tarball or a git checkout. Nevermore depends on boba via pkg-config.
git clone https://github.com/chestso/nevermore
cd nevermore
./autogen.sh
mkdir -p build && cd build
PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig:$HOME/.local/lib64/pkgconfig \
../configure --prefix=$HOME/.local
make -j"$(nproc)"
make install
Six provider entries, all speaking the OpenAI-compatible chat API. The colon keeps a service and its endpoint tier distinct:
ollama:local (the default,
no key needed) and ollama:cloud
opencode:go and
opencode:zen
Keys come from the environment or ~/.authinfo. Settings
live in ~/.config/nevermore/config, with changes made
in the chat kept in a separate runtime file.