Back to the gallery
A dark studio desk at night. The monitor shows molt refusing an attempt: ten of eleven checks pass, the mutation check fails.

01

molt

2026 · Coding agent · On view

Role
Author — design, engineering
Medium
Coding agent
Status
On view
Year
2026

An agent’s confident output is not evidence that the work was done. Models emit completion language as an output pattern — “tests passing” while the suite has syntax errors, files described as modified when they were only mentioned in a prompt.

molt runs any OpenAI-compatible model, and Anthropic, as a coding agent. Then it refuses to accept “done” until every check in the project’s .molt/done.yml passes against the real state on disk. A completion is a claim. molt checks the claim and writes a receipt either way.

Every write is ledgered with before and after hashes. One receipt per attempt, refusals included. A hash-chained journal of every call. The same engine in a terminal UI and a desktop window. Intent is irrelevant to the cost. It checks the work.

Stack

  • TypeScript
  • Electron
  • Node
  • OpenAI-compatible APIs

From the work

The Receipts tab in molt, listing accepted and refused attempts.
Receipts
The Log tab in molt, a hash-chained journal of every call.
Log
The molt model picker across every endpoint a key is held for.
Picker
The molt command palette.
Palette