ccview — a tiny TUI companion for Claude Code
I've been using Claude Code for almost everything lately — personal finances, research, side projects, the occasional half-baked startup idea at midnight. The output is genuinely great. The terminal is a genuinely terrible place to read it.
A 40-row markdown table wrapping into your scrollback is not information. It's wallpaper.
What I built
ccview is a small TUI app that watches a folder. Claude Code drops a JSON file. ccview renders it — tables, charts, checklists — right in your terminal, in a layout that's actually meant to be read. You can check items off. State persists between runs.
That's the whole thing. It's not a framework, it's not a platform, it doesn't try to be a chat UI. It's the missing render step between "Claude wrote a thing" and "I can use the thing."
Why a TUI and not a web app
The honest answer is that I live in my terminal and I didn't want to spawn a browser tab every time I asked Claude to plan something. A few less honest answers:
- A web UI would have meant building auth, hosting, a backend. A TUI is a single binary.
- Claude Code already drops files where you tell it to. Watching a folder is one syscall.
- The terminal is where the trust already is. I don't want a new surface for the output.
The trade-off is that you give up rich rendering — no embedded images, no fancy fonts. For the things I actually use Claude for, that hasn't mattered. A clean table and a checkable list cover 80% of it.
How it fits the loop
The pattern I've landed on:
- Tell Claude what I want done.
- Tell it to drop the output as a JSON file in
~/cc/. ccview(already running in another tmux pane) picks it up and renders.- I check things off as I work through them. The state is there next time I open it.
Small enough to barely call a tool. Useful enough that I open it every day.
Code: github.com/aravs16/ccview. MIT, no telemetry, no install ceremony. Personal side project, not affiliated with my employer.