Repository navigation
v0.2.1
The agent stopped being a terminal
dreamd draws the conversation itself now, instead of hosting a terminal that draws it.
The native agent surface is the default: Claude Code run as -p --output-format stream-json, so an answer arrives as structure and is typeset like the document it is about. The terminal pane stays as a fallback behind agent.surface = "terminal".
A permission gate you can see. A PreToolUse hook raises a card in the reader rather than a prompt in a pane nobody is looking at. Deny is the answer to every kind of silence — closed pane, retired server, unparseable payload, elapsed wait.
A pop-out agent. agent.popout = never / send / always puts the conversation in a centred card instead of a dock — right for an answer you asked for in passing, where a dock is right for a session you sit in. It is read-only until you ask it for a composer.
The panels moved. The agent docks right by default, beside the stack it takes work from, so sending from the stack is a substitution rather than a jump across the window. Both panels drag.
Register from the status strip — one button runs claude mcp add, user-scoped, so one registration serves every repo.
Three ways to spell a shortcut: Ctrl, Cmd, or none at all (vim), with vim's motions underneath. A focused text field always gets its modifier back.
The reading pane glides instead of jumping.
Install
macOS: brew install --cask bongofongo/tap/dreamd, or take a .zip below — both are signed and notarized.
Linux: the .AppImage, the .deb, or the .tar.gz. Each has a .sha256 beside it.
Full Changelog: v0.2.0...v0.2.1