theboringoffice v0.2.19 — images, selection, and Claude in the office
The terminal office where LLM agents work as coworkers. v0.2.19 opens the eyes and the edit hand of your transcript — and ships Claude Code as a first-class brain alongside opencode.
Features
- Inline image previews in transcripts (v1) — boss turns carrying a file part render inline: a
🖼 paste-diagram.png · 8×8 · image/pngchip plus half-block truecolor raster rows (▀glyphs with 24-bit38;2/48;2cell pairs — works everywhere). Box-averaged downsample capped at 64×20, payload cap 8 MiB, decoded dims ≤10k, ≤4 images per turn, remote URLs never fetched, pending bubbles never show images - Terminal protocol detection layer —
ui.images = "auto" | "ascii" | "off"with a live/imagescycler: kitty placeholders (kitty/ghostty), iTerm2 OSC 1337 (iterm2/wezterm/vscode-optin), ASCII raster fallback everywhere else; TMUX, Apple Terminal, and dumb terminals fold to chips - Complete plan-editor selection engine — shift-motion marking (rune and visual-row), ctrl+a select-all (textarea's own LineStart rebound to home), esc collapse, mouse drag across wrapped rows, rune-exact cut/copy through the clipboard seam with pbcopy verdict routing and the
Copied N charstoast, paste-over-selection routed so it can never land in the chat draft, an SGR-7 highlight unfurled per wrapped segment, blur clears the mark, and a live footer while a mark is armed - Claude Code as a second backend (waves 56–59) — stdio
claudeCLI sibling backend behindbackend.NewClaude: stream-json framing, system/init/user+assistant/stream_event/result/api_retry/control_response mapping, per-turn usage deltas, interrupt→SIGINT→SIGTERM ladder, resume spawn, byte-deterministic--claudestuband--claude uishot,/backendslash with drain-first switches, install-select--backend opencode|claudecode, per-backend session pins, topbar backend awareness, and CI-proof classes (stopDrainTimeout/stopKillGrace/sendTermMouse) - Board sync + memory wave (52) —
reconcileBoardDone,/memory [filter]slash, project ledger in.opencode/office-ledger.md+ agentmemory mirror, boot splash lane status, and the wedge watchdog that one-notices per turn without ever landing in the live chat transcript - Terminal capture re-key (44) — one key toggles shell capture both ways (
ctrl+space) - gitignore-aware attach picker (66) — the
@picker no longer lists.venv,node_modules,.pytest_cache,__pycache__, dist/build/target/, or.git/* - Full docs site (67–69) — nine handwritten pages at theboringoffice.pages.dev/docs with golden
docs/shots/*.pngframes posed in browser-chrome figures
Install / upgrade
curl -fsSL https://raw.githubusercontent.com/theboringhumane/theboringoffice/main/install.sh | bashFull Changelog: v0.2.17...v0.2.19