Control Claude Code Without Losing the Thread

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.

The Problem

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.

How It Works

  1. You write a prompt.

    Pragma injects the Pragma Protocol into Claude Code via --append-system-prompt. The session starts.

  2. Claude works.

    Pragma reads the structured NDJSON stream line by line and atomizes every event: file touches, diffs, tool calls, errors, notes.

  3. You navigate, not scroll.

    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.

Atom Types

Everything Claude does maps to one of these atom types. Each renders differently in the stream.

FILE_TOUCH

File created, modified, or deleted. Color border = file type.

Default: expanded. Never collapsed.

DIFF

Structured patch of the change. Expandable inline.

Default: collapsed.

TOOL_USE

External tool call: Bash, Read, Glob, Grep…

Default: collapsed.

ERROR

Execution error. Never collapsed — always foregrounded.

Sticky until dismissed.

AGENT_NOTE

Free-text output — fallback bucket for untyped content.

Default: collapsed.

USER_REPLY

User prompt or turn separator.

Default: expanded.

File type colors

FILE_TOUCH and DIFF use the file type color, not the atom type color.

Code .ts .rs .py .vue .js .go
Config .json .toml .yaml .env
Markup .html .md .xml
Style .css .scss
Build .lock .sh Dockerfile
Data .sql .csv .sqlite

Session Phases

Pragma doesn’t just stream atoms. It tracks where Claude is in the task and surfaces the right UI for each phase.

  1. Idle Configure prompt, working directory, model, attachments.
  2. Analyzing Claude processes the task. Analysis text builds in real time.
  3. Awaiting Answers optional Claude has blocking questions. You answer or skip.
  4. Awaiting Approval The plan (numbered steps) appears. Approve, modify, or switch to Opus.
  5. Running Steps execute. Step progress visible. Stop anytime.
  6. Awaiting Confirmation After each step: review, continue, or finalize early.
  7. Complete Report + test checklist + closing. Export as JSON or Markdown.

What Else

Built On

Rust (Tauri v2) backend · Vue 3 + Pinia frontend · SQLite (WAL + FTS5) · NDJSON parser written in Rust.

Part of noema.tools

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.

Get Pragma

Available for Windows and Linux. Local-first. Free to use.