File created, modified, or deleted. Color border = file type.
Default: expanded. Never collapsed.
Pragma wraps Claude Code and parses its output in real time.
Every action becomes a typed atom — color-coded, collapsible, searchable.
You see what the agent did, not what it said it did.
You run Claude Code. You get 400 lines scrolling at machine speed. 90% is noise. The 10% that matters — a file touched out of scope, a missing translation, an unexpected behavior — disappears in the scroll.
Pragma fixes this.
Pragma injects the Pragma Protocol into Claude Code via --append-system-prompt. The session starts.
Pragma reads the structured NDJSON stream line by line and atomizes every event: file touches, diffs, tool calls, errors, notes.
Atoms appear in a live feed — typed, color-coded, collapsible. The center panel tracks the current phase. You approve, confirm, or stop.
Pragma uses --output-format stream-json --verbose. Nothing is intercepted at the shell level — it’s Rust parsing a structured protocol.
Everything Claude does maps to one of these atom types. Each renders differently in the stream.
File created, modified, or deleted. Color border = file type.
Default: expanded. Never collapsed.
Structured patch of the change. Expandable inline.
Default: collapsed.
External tool call: Bash, Read, Glob, Grep…
Default: collapsed.
Execution error. Never collapsed — always foregrounded.
Sticky until dismissed.
Free-text output — fallback bucket for untyped content.
Default: collapsed.
User prompt or turn separator.
Default: expanded.
FILE_TOUCH and DIFF use the file type color, not the atom type color.
.ts .rs .py .vue .js .go
.json .toml .yaml .env
.html .md .xml
.css .scss
.lock .sh Dockerfile
.sql .csv .sqlite
Pragma doesn’t just stream atoms. It tracks where Claude is in the task and surfaces the right UI for each phase.
pragmadocs/ in the working dir. Claude sees them via --add-dir.
pragma export <session-id>).
~/.pragma/pragma.db.
Rust (Tauri v2) backend · Vue 3 + Pinia frontend · SQLite (WAL + FTS5) · NDJSON parser written in Rust.
Pragma is the operational output layer of the noema.tools ecosystem. Noema handles knowledge and conversation. Morphē will handle architectural canvases. Same atomic paradigm, different domain.
Available for Windows and Linux. Local-first. Free to use.