Skip to content

theboringoffice v0.2.19 — images, selection, and Claude in the office

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:25
· 62 commits to main since this release

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/png chip plus half-block truecolor raster rows ( glyphs with 24-bit 38;2/48;2 cell 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 layerui.images = "auto" | "ascii" | "off" with a live /images cycler: 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 chars toast, 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 claude CLI sibling backend behind backend.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 --claudestub and --claude uishot, /backend slash 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/*.png frames posed in browser-chrome figures

Install / upgrade

curl -fsSL https://raw.githubusercontent.com/theboringhumane/theboringoffice/main/install.sh | bash

Full Changelog: v0.2.17...v0.2.19