v1.1.0
Builder 1.1.0
Builder 1.1 makes Builder easier to keep running in the background, easier to customize per workspace or agent role, and smoother to use in the terminal.
Highlights
Background Service
Builder can now install a supervised local server that starts at login:
builder service installThe service keeps one shared builder serve process available for the TUI, headless runs, and other local frontends. This makes reconnecting cheaper and makes long-running background shells less dependent on one terminal window staying open.
Useful commands:
builder service status
builder service status --json
builder service restart
builder service stop
builder service start
builder service uninstallSupported service backends:
- macOS: LaunchAgent
- Linux and WSL2:
systemd --user - Windows: Scheduled Task at logon, with Startup folder fallback
Homebrew does not install the service automatically. Install it only if you want Builder's local server to stay available before a frontend opens.
Update Reminder
Builder checks GitHub releases for newer versions and shows an update notice in the first interactive session when an update is available. /status also includes update information, so you can check from inside Builder without leaving the TUI.
The notice is informational; Builder does not auto-update itself.
More Flexible Prompt Files
Builder can use different system prompt files globally, per workspace, and per headless subagent role. That lets you keep a default Builder personality, add repo-specific rules, or make a specialized fast/review/research subagent without changing prompts by hand before each run.
For the main agent, Builder checks global settings first, then workspace settings, then selected subagent-role settings. Empty prompt files are skipped. The chosen prompt is snapshotted per session, so editing a prompt file affects new sessions instead of silently changing existing ones.
Example subagent role with its own prompt file:
[subagents.fast]
system_prompt_file = "prompts/fast-agent.md"See the prompt docs for precedence, placeholders, and exact config keys: https://opensource.respawn.pro/builder/prompts/
Supervisor Prompt Override
The supervisor/reviewer agent can use its own prompt file. This lets teams tune review behavior separately from the main agent, for example by making reviews stricter, shorter, or focused on a specific engineering standard.
[reviewer]
system_prompt_file = "~/.builder/reviewer_system_prompt.md"Workspace config overrides global config. The supervisor prompt is also snapshotted per session the first time the supervisor runs.
Better Terminal Input
Builder's input fields were rebuilt around a shared editor and renderer. The practical improvements are:
- Real terminal cursor placement in active inputs.
- Better behavior with wrapped lines, wide characters, and grapheme clusters.
- More consistent editing shortcuts across the main prompt, asks, startup, onboarding, project binding, and worktree dialogs.
- Better masked input and placeholder rendering.
- More compact help menu shortcuts.
This is most noticeable when editing longer prompts, using non-ASCII text, or moving through wrapped input.
Session And Transcript Reliability
Several resume and reconnect paths are more robust in 1.1:
- Builder can recover from missed session activity after a reconnect instead of relying on a full blind refresh.
- Older or dormant transcript pages are cached, making detail inspection faster for inactive sessions.
- Startup explicitly loads transcript state before rendering restored sessions.
- Rollback edit picker behavior is restored.
/statusshows the git branch for the session workspace, not whichever directory the server process happens to use.- Teleporting between sessions preserves worktree context.
- Foreground shell commands drain remaining output before reporting completion.
Compatibility Notes
builder servicemay refuse to install, start, or restart when the configured server endpoint is already used by a manualbuilder serveprocess or by another listener. Stop the conflicting process or changeserver_host/server_port.- Linux headless machines may need
loginctl enable-linger "$USER"for a user service to survive logout. - Prompt file settings are session-snapshot settings. Editing files changes future sessions or sessions that have not locked that prompt yet.
- The update reminder is based on GitHub release availability and does not perform package-manager updates.
Original generated changelog
New Features
- allow supervisor system prompt override closes #157
- add configurable system prompt files (#163)
- add update reminder
- add Builder background service
- redesign CLI input fields
Bug Fixes
- resolve reviewer prompt path from config file
- use session root for statusline git branch (#164)
- apply subagent reviewer prompt override
- stabilize update reminder notice
- unflake process output stream test
- mark update reminder shown after display
- address update reminder review
- preserve Windows service command paths
- report Windows server service pid
- harden service status checks
- separate service and health status
- tighten Windows service ownership
- clean up service review edge cases
- restore rollback edit picker
- centralize transcript entry equality
- replay session activity from cursor
- cache dormant transcript pages
- hydrate startup transcript explicitly
- harden session activity gap recovery
- address transcript review edge cases
- clear transient state for committed sync
- resume activity stream after no-cursor recovery
- render onboarding input cursor
- compact help menu shortcuts
- route alt delete through shared forward word edit
- preserve real cursor updates for space input
- address input review comments
- address cursor review threads
- replace deprecated ansi alt screen constants
- preserve main screen anchor before detail mode
- commit terminal cursor state after writes
- ignore empty terminal cursor writes
- drain shell output before foreground completion
- preserve worktree context for teleport commands
Other
- fix sandbox script
- Merge pull request #165 from respawn-app/supervisor-system-override
- Merge pull request #166 from respawn-app/update-reminder
- Merge remote-tracking branch 'origin/main' into feat/builder-service
- Merge pull request #167 from respawn-app/feat/builder-service
- remove runtime transcript cache
- share committed transcript projection
- remove stale projection builders
- compose ui feature reducers
- route ui events through reducers
- cover ui reducer routing
- split runtime event reductions
- tighten runtime event effects
- type transcript render intents
- cover transcript role intent mapping
- extract transcript event reducer
- extract transcript page reducer
- cover transcript page detail hydration
- extract deferred transcript tail reducer
- split transcript entry helpers
- centralize transcript diagnostics
- split transcript apply paths
- split runtime event batching
- split transcript runtime state helpers
- split runtime reduction helpers
- Merge pull request #168 from respawn-app/techdebt-20260428
- cover shared text input rendering
- harden exec yield clamp coverage
- document exec yield clamp timing
- fix ctrl-u shortcut expectation
- remove brittle help menu assertion
- cover compact help bindings
- Merge pull request #169 from respawn-app/new-input-field
- update dependencies for 1.1.0
Docs
- update README positioning
- tighten quickstart wording
- clarify handoff wording