[ CHEF DE RANG · v0.6.0 ]

Lift the dome. Present the shot.

Agent-neutral desktop capture: polished screenshots with metadata, stable JSON on stdout, optional MCP server, and vertical video reels. Ready for READMEs and share cards.

View on GitHub →

Part of the Brigade fleet · brigade.tools · escoffierlabs.dev

Cloche GitHub stars Cloche GitHub stars

[ 01 · CAPTURE ]

Point at a target, get a shot directory back

Point at a target: active is the focused app or window, the default. window captures a named window by title match. screen is full screen, a fallback and debugging mode. list-windows enumerates what is capturable, and doctor checks support before you trust it.
Capture, clean up, frame the card, print JSON: Cloche captures the target, optionally builds a polished presentation card, and prints one stable JSON object on stdout.
Get a shot directory: Each successful shot is a directory, not a single file, so a human and an agent can both pick the form they need. codex-payload hands a shot straight to a Codex turn, and gallery, latest, and preview revisit history.
shot.png The raw captured image, exactly as the compositor saw it.
shot-card.png A presentation image with background cleanup, rounded corners, padding, and a soft shadow.
metadata.json The same stable JSON object that is printed to stdout for scripts and agents.
text.txt Optional best-effort accessible text from the focused app, when the OS exposes it.

[ 02 · MODES ]

Shots ship today. Reels and GIF export are on the roadmap, all sharing one presentation system so a still and a clip come out of the same kitchen.

Shots, available now

A still capture of the active app or window, with a raw image, a polished presentation card, metadata, and optional extracted text.

Reels, EXPERIMENTAL, planned next

Short desktop recordings through the same presentation system: cursor emphasis, captions, and stable metadata, built on the existing Appreels prototype. The render path exists in the repo today but is not yet a finished, supported mode, treat it as roadmap, not shipped.

GIF export, planned after Reels

Lightweight loops generated from finished Reels as a delivery format, not recorded as the primary source.

[ 03 · WHY CLOCHE ]

Agent-neutral by design

Use it with Codex, OpenClaw, Claude Code, Hermes, a local MCP client, or a plain shell script. Cloche fills the capture side without binding to any one agent stack.

Stable JSON contract

Every capture prints the same structured object on stdout. Pipe it, parse it, or feed it straight into an agent turn. The schema is published with cloche schema.

Linux first, Windows supported

OpenAI documents Appshots as a macOS feature for Codex. Cloche brings reliable captures to Linux and Windows from a normal CLI.

CLI or MCP server

Run directly as a command, or expose the same code path as a small stdio MCP server with cloche mcp. One tool, two front doors.

Honest exit codes

Capture exits 0 only when a raw image was written. Text and presentation-image failures are warnings, because accessibility and compositing vary by toolkit and OS.

Reproducible cards

A style-seed reproduces a randomized card style exactly, so a polished shot can be regenerated the same way every time.

[ 04 · TRY IT IN 60 SECONDS ]

Capture the active window, then hand the shot to an agent turn.

$ cloche capture --target active
Capture the focused app or window and write a shot directory.

Codex can resume threads that contain local images. Cloche generates the exact turn/start payload from a shot, so a captured screen drops straight into an agent turn.

{ "type": "localImage", "path": "/abs/path/shot.png", "detail": "high" }
The exact turn/start payload Cloche generates from a shot.

Capture exits 0 only when the raw image was written. Parse image.path from stdout, or read the generated metadata.json, both carry the same object. The same stable JSON feeds OpenClaw, Claude Code, Hermes, a local MCP client, or a plain shell script.

[ 05 · WHY NOT SOMETHING ELSE ]

Flameshot, Spectacle, GNOME Screenshot, Greenshot, ShareX

Excellent interactive GUI tools built for a human clicking and annotating. They do not present a stable command surface for scripts, do not emit machine-readable JSON, and do not run headless from an agent process. Cloche is CLI-first and JSON-first; it uses tools like Flameshot for region-select but owns the polish, metadata, and contract.

grim, scrot, ImageMagick import, maim

These capture pixels and stop there. You still hand-roll the framing, the gradient, the metadata, and the JSON. Cloche wraps the same low-level capture and does the rest in one command.

carbon-now, silicon, ray.so

Make beautiful cards out of source code or arbitrary images, not live windows. Cloche captures the actual app and then frames it.

The macOS Appshots app for Codex

The inspiration, but macOS-only and tied to one agent stack. Cloche fills the same capture role on Linux and Windows while staying agent-neutral: use it with Codex, OpenClaw, Claude Code, Hermes, any MCP client, or a plain shell script.

[ 06 · WHAT IT IS NOT ]

Not a service or a daemon

Cloche is a local capture tool. It does not run a background daemon, tray app, or scheduler.

Not a phone-home tool

It does not upload, sync, or phone home with your captures.

Not an annotation suite

It frames what is on screen; it does not annotate, blur, or redact. Review a shot before you share it.

Not audio or OCR

It does not record audio. Text extraction is best-effort through the OS accessibility layer only, not OCR.

It writes local files and a JSON receipt, and you take it from there. It does not replace your editor or your sharing host.

[ 07 · COMMANDS ]

cloche capture --target active Capture the focused app or window. The default target.
cloche capture --target window --title Firefox Capture a named window by title match.
cloche capture --target screen Full-screen capture, a fallback and debugging mode.
cloche preview Open the most recent capture.
cloche latest Print the path of the most recent shot directory.
cloche gallery --limit 10 Build a self-contained HTML gallery of recent shots.
cloche list-windows --format json Enumerate capturable windows as JSON.
cloche codex-payload --thread-id ID DIR Emit a Codex turn/start payload from a shot.
cloche schema Print the stable JSON schema for capture output.
cloche doctor --format json Validate capture support on this machine.
cloche mcp Run the small stdio MCP server over the same code path.
cloche reels render --input clip.mp4 --out reel.mp4 EXPERIMENTAL: render a vertical video reel from a source clip through a bundled Remotion template.

The old appshots command remains as an alias for the same code path during the rename.

[ 08 · INSTALL ]

Install Cloche, then wire it into Brigade when you want the station on your line:

Brigade itself: brigade.tools · pipx install brigade-cli