Skip to content

Releases: respawn-llc/builder

v1.3.0

15 May 20:38
3b3a24e

Choose a tag to compare

Builder 1.3.0

Builder 1.3.0 focuses on session continuity, auth startup clarity, subagent role control, and TUI transcript polish. It also includes a large server/runtime split that makes interactive, headless, embedded, and remote flows share the same contracts more consistently.

Highlights

Subagent Roles And Headless Sessions

Subagent roles now carry model-visible descriptions and an agent_callable flag, so config can expose only the roles agents should invoke while keeping human-only roles available for direct use. Resumed headless sessions keep explicit role choices, and attaching the TUI to an active headless run is read-only so the original run keeps ownership.

Auth And Startup UX

Startup auth selection was redesigned with clearer readiness handling, live session-picker auth/status details, and better behavior for remote auth flows. /login and /logout now route through the selection flow without unnecessarily clearing saved credentials.

Question And Transcript Rendering

Ask-question prompts now render more cleanly in ongoing mode, preserve grouped question order, wrap full picker/freeform text, and keep answers literal. Slash command feedback no longer replays previous prompts, and streamed assistant tails are finalized more reliably in restored or prepended transcript states.

Runtime And Session Reliability

Builder now shares more server-owned lifecycle, launch, queue, interrupt, auth, project, worktree, and route-contract infrastructure across local and remote paths. Users should see fewer edge-case mismatches around reconnects, runtime ownership, pending prompts, worktree status, and read-only session attachment.

Service Safety

builder service restart now refuses to run from inside active Builder shell commands, avoiding accidental interruption of the session doing the restart. restart --if-installed still remains a no-op when no service is installed.

Compatibility Notes

  • No manual migration is required for existing sessions or config.
  • If you define subagent roles, description and agent_callable are available for role discovery and callability control; existing roles keep working with their prior defaults.
  • The transport protocol version changed, so very old running Builder clients/servers may need restart before reconnecting cleanly.
Original generated changelog

New Features

  • improve goal feedback lifecycle
  • update session picker status header
  • redesign auth selection flow
  • add subagent role context

Bug Fixes

  • restore ask question notifications
  • close prompt activity subscribe gap
  • keep active submit out of visible queue
  • avoid copying runtime registration lock
  • stabilize deferred final UI test
  • remove async waits from deferred final test
  • keep deferred final test deterministic
  • reuse detail projection lookups
  • address projection review findings
  • preserve entry revisions for live updates
  • compare cloned patch render metadata
  • keep detail separators blank
  • preserve ongoing selection styling
  • preserve lazy detail anchoring
  • refresh goal completion timeout
  • remove extra goal complete help
  • prevent slash feedback replaying prompts (#238)
  • preserve lifecycle reducer side effects
  • bump transport protocol version
  • serialize interrupted goal loop resume
  • clarify protocol mismatch error
  • refresh worktree statusline branch
  • label status session id
  • reorder status overlay sections
  • mute generated skill label
  • show auth status details
  • keep slash picker highlight in sync
  • keep compaction runtime synced after durable replacement
  • preserve remote server ownership state
  • execute final response tool calls
  • refresh detail transcript on entry
  • align commentary assistant styling
  • promote streaming markdown from source
  • update pending tool call test
  • finalize streamed assistant after prepended tools
  • restore ask notifications
  • dedupe committed suffix delivery
  • force remote login picker
  • finalize streamed assistant tails
  • avoid auth picker on ready startup
  • persist no-auth startup preference
  • skip remote startup auth picker when ready
  • load session picker auth status
  • address auth and postprocess review findings
  • harden remote browser auth flow
  • keep no-auth preference out of ready gate
  • gate service restart in builder shells
  • block default alias for non-callable subagents
  • improve ongoing question rendering (#259)
  • preserve subagent session ownership
  • harden subagent resume provenance
  • handle read-only attach edge cases
  • recheck external runtime attach
  • avoid auth lookup for role clear
  • allow read-only logout transition
  • infer fast resume provider cues
  • allow read-only worktree listing
  • reject read-only worktree listing locally
  • wait for closing runtime handoff

Other

  • collapse tui direct runtime lifecycle
  • make prompt activity replayable
  • use client prompt dto in tui
  • add server user turn submission
  • route tui submits through server turn boundary
  • identify queued runtime work by id
  • reconcile interrupts from run state
  • remove legacy session control path
  • require explicit session launch intent
  • apply launch overrides server-side
  • share session launch with headless prompts
  • collapse transition actions onto api contract
  • use server rollback target tokens
  • make project views metadata-only
  • consume canonical worktree target updates
  • centralize project binding planning
  • use server settings for auth status
  • route reauth through auth bootstrap
  • share bootstrap config resolution
  • share runtime registration lifecycle
  • harden prompt subscribe gap regression
  • guard active submit queue split
  • introduce rpc route contract metadata
  • verify remote routes match contract
  • register subscription routes by contract
  • verify remote route dto parity
  • verify loopback route bindings
  • derive gateway auth and progress routes
  • cover unary gateway routes
  • register unary gateway routes by contract
  • centralize gateway request validation
  • derive gateway handler maps from routes
  • format runtime events
  • execute route scope and stream contracts
  • Merge pull request #223 from respawn-app/complete-server-split
  • extract gateway route policy (#226)
  • canonicalize tui transcript projection
  • cover transcript window revision stability
  • Merge pull request #227 from respawn-app/td-p3
  • decompose cli app domains
  • Merge remote-tracking branch 'origin/main' into td-p2
  • narrow app server runtime attachment surface
  • Merge pull request #228 from respawn-app/goal-duration
  • Merge pull request #229 from respawn-app/td-p2
  • unify session read snapshots (#239)
  • consolidate startup attachment policy (#241)
  • split core composition bundles (#240)
  • encode lifecycle state machines
  • cover lifecycle reducer regressions
  • cover protocol version mismatch
  • Merge pull request #242 from respawn-app/td-015
  • cover status session id styling
  • cover generated skill label styling
  • cover auth status rendering
  • harden picker highlight sync
  • split runtime state ownership
  • cover compaction metadata failure branches
  • Merge pull request #243 from respawn-app/fix/worktree-statusline-patch-summary
  • Merge pull request #244 from respawn-app/td-06
  • Merge remote-tracking branch 'origin/main' into refactor-answer-styling
  • Merge pull request #245 from respawn-app/refactor-answer-styling
  • enforce CLI server import boundary
  • hide server types in bridge signatures
  • Merge pull request #247 from respawn-app/td-009
  • Merge pull request #248 from respawn-app/fix/issue-218-ask-notifications
  • chain shell postprocessors
  • cover remote login transition
  • separate auth readiness contract
  • cover ready remote auth startup
  • update auth picker startup expectations
  • align hook sanitization expectations
  • Merge pull request #251 from respawn-app/1.3.0
  • split serverapi service contracts
  • Merge pull request #253 from respawn-app/td-010
  • move runtime reducers out of clientui
  • assert service restart help exactly
  • Merge pull request #256 from respawn-app/issue-250-service-restart-guard
  • Merge pull request #258 from respawn-app/subagent-context
  • Merge pull request #261 from respawn-app/fix/subagent-followups
  • bump version to 1.3.0

Docs

  • complete TD-003 audit
  • tighten TD-003 audit evidence
  • add rtk postprocessing notes

v1.2.3

07 May 19:12

Choose a tag to compare

Bug Fixes

  • restore reviewer provider auth flexibility
  • handle escape rune rollback shortcut

Other

  • Merge pull request #216 from respawn-app/fix/esc-rollback-menu
  • Merge remote-tracking branch 'origin/main' into fix/reviewer-review-followup
  • Merge pull request #217 from respawn-app/fix/reviewer-review-followup
  • bump version to 1.2.3 [skip ci]

v1.2.2

07 May 16:22

Choose a tag to compare

New Features

  • support local supervisor providers
  • add startup auth banner
  • surface generated skills in onboarding

Bug Fixes

  • repair mirrored docs images
  • recover restarted session runtime
  • harden ongoing transcript wrapping, closes #209
  • preserve detail wrapping content
  • preserve global custom slash commands
  • preserve reviewer capability overrides
  • refresh subagent reviewer inheritance
  • merge reviewer capabilities per field
  • render reviewer provider capability disables
  • validate reviewer anonymous auth endpoint
  • honor explicit reviewer capability disables
  • address reviewer config edge cases
  • address stale automated review blockers
  • stabilize deferred final scrollback test
  • preserve inherited reviewer capability disables
  • inherit reviewer caps for no-op provider overrides
  • address reviewer inheritance review findings
  • stabilize native tail render test
  • allow subagent reviewer auth inheritance
  • preserve no-op reviewer provider inheritance

Other

  • stabilize rollback alt-screen assertion
  • cover symlinked global slash commands
  • Merge pull request #215 from respawn-app/1.2.3
  • bump version to 1.2.2 [skip ci]

Docs

  • update social preview asset

v1.2.1

06 May 22:52
32ed40b

Choose a tag to compare

Bug Fixes

  • hide successful shell exit headers
  • bypass test wall-clock cap in CI

Other

  • improve skill guidance
  • fix formatting

v1.2.0

06 May 21:18
f20f241

Choose a tag to compare

Builder 1.2.0

Builder 1.2.0 expands the agent runtime around reusable skills, persistent session goals, safer file editing, and Windows installation. It also tightens several terminal and session-continuity edges that show up during long-running work.

Highlights

Embedded Skills

Builder now ships with generated skills that are seeded into the local Builder data directory and discovered automatically. Skills can be disabled or shadowed by user-provided skills with the same name, and /status shows generated skill state so agents and users can see what guidance is active.

This release also adds the first skill-creation guidance and dogfooding skill + AI-readable docs endpoints, making skill authoring easier to bootstrap from inside Builder itself.

Feed docs as https://opensource.respawn.pro/builder/<page>.md to the agent or mention https://opensource.respawn.pro/builder/llms.txt

Session Goals

Sessions can now carry an explicit goal. Use /goal in the TUI or builder goal from the CLI to show, set, pause, resume, clear, or complete a session goal.

Goal state persists across restarts, goal feedback is written into the transcript as first-class activity, and active goals continue when sessions reopen.

Safer File Editing

Builder now has a first-class edit tool alongside patch for compatibility with non-gpt models. The edit tool supports create, replace, and delete operations with strong matching, text/binary guards, atomic writes, symlink warnings, and structured diff metadata.

Windows Installer

Windows users can install Builder with the new PowerShell installer. It installs into ~/.builder/bin, verifies checksums, can prompt for PATH and dependency setup, handles service stop/restart during updates, and writes uninstall metadata.

Terminal And Session Reliability

Several long-running workflow details are smoother in 1.2.0:

  • Ask-question prompts render Markdown correctly.
  • Queued messages drain after idle without losing order.
  • Compaction notifications ring only when attention is needed.
  • Partial file reads with sed include total line-count context.
  • Shell and RPC cancellation messages are clearer.
  • Compaction summaries retry when the model attempts an invalid tool call.
  • Worktree session context and transcript transitions are more consistent.
  • Mouse wheel input works in project pickers.
Original generated changelog

New Features

  • add embedded skills, closes #71
  • expose builder caller session id
  • add session goals
  • add edit tool, closes #101
  • add Windows installer closes #188

Bug Fixes

  • avoid unbounded generated checks
  • keep recovered warning lookup nonfatal
  • include generated file modes in integrity hash
  • hash generated marker from disk
  • recover emptied generated roots
  • hash generated root directory mode
  • ignore recovered warning probe errors
  • sync generated assets after root lock
  • avoid nilerr on warning provider errors
  • randomize tool spinner phases
  • reinject meta context in child sessions
  • harden goal runtime flow
  • address goal review feedback
  • stabilize handoff compaction tests
  • stabilize goal review regressions
  • resolve goal review followups
  • persist goal feedback atomically
  • harden goal loop and test cleanup
  • address goal followup reviews
  • stabilize queued steer scrollback test
  • reject noop final during active goal
  • mark unrestartable goals suspended
  • sudo and output code 5 when builder service restart --if-installed
  • clarify canceled shell polling closes #198
  • render ask question markdown closes #194
  • drain queued messages after idle closes #195
  • ring when compaction needs attention closes #192
  • add file read line counts closes #197
  • skip service restart when manual server runs
  • wait for launchd server shutdown before bootstrap
  • address pr review findings
  • handle tail plus line offsets
  • validate file-read parsed args
  • notify after queued local compaction drain
  • parse negative tail line counts
  • prevent tests mutating global config
  • isolate tests and reduce suite runtime
  • address test isolation review findings
  • share git test environment sanitizer
  • remove redundant config root seed
  • address edit tool review findings
  • tighten edit review followups
  • preserve edit tool override sources
  • align edit diff rendering with patch
  • retry handoff summaries after tool-call attempts closes #205
  • propagate tool selection conflicts
  • skip line count marker for full sed ranges
  • require full context fallback match
  • address reviewer edge cases
  • resolve goal command bugs closes #200
  • align goal subprocess busy test closes #200
  • harden Windows installer CI and arch detection
  • use PowerShell hashing in Windows installer CI
  • address Windows installer review findings
  • decouple generated skill tests from skill names
  • resolve subagent worktree workspace context
  • consolidate worktree transition transcript
  • disable alternate scroll for ongoing overlays
  • ignore stale headless workspace context session
  • narrow stale workspace context fallback
  • include worktree reminder in auto-compaction sizing
  • preserve alternate scroll for detail overlays
  • reject stale workspace context sessions
  • enable mouse wheel for project pickers

Other

  • cleanup readme, add new screenshots, improve img quality
  • update docs, add release notes skill
  • cover recovered warning activation
  • Merge pull request #193 from respawn-app/skills
  • Merge pull request #196 from respawn-app/goal
  • fix worktree mode prompt
  • add launchd restart integration helper
  • Merge pull request #199 from respawn-app/fixes-1.2
  • Merge pull request #203 from respawn-app/faster-tests
  • update prompts for 5.5
  • cover edit detail diff headline
  • Merge pull request #206 from respawn-app/edit-tool
  • Merge pull request #207 from respawn-app/fixes-1.2
  • Merge pull request #208 from respawn-app/feat/windows-installer
  • update docs and add dogfooding skill
  • simplify skill and docs significantly
  • decouple TUI surfaces from transcript mode
  • eliminate legacy TUI inputs
  • bump version to 1.2.0
  • add sandboxing guide
  • Merge pull request #212 from respawn-app/fixes-1.2-part-3

Docs

  • update goal prompts
  • update skill creator guidance
  • add AI-readable docs endpoints

v1.1.1

01 May 23:12

Choose a tag to compare

Builder 1.1.1

Builder 1.1.1 is a focused follow-up release for service management, ongoing transcript correctness, and small TUI fixes from the 1.1 rollout.

Highlights

More Reliable Ongoing Transcript

Ongoing mode now uses the same committed conversation source as the rest of the app. In practice, this reduces duplicated, missing, or stale transcript rows when Builder reconnects, switches between ongoing/detail mode, restores after detail inspection, or continues after compaction.

Related improvements:

  • Ongoing mode syncs correctly after returning from detail mode.
  • Rollback selection can page through transcript sections past compaction boundaries.
  • Multiline tool calls in ongoing mode show tree guides, making nested output easier to scan.
  • ask_question choices show their option text in ongoing mode.

Better Background Service Restarts

Installed services can now restart without reinstalling the service definition. Builder also reloads service registration before guarded restarts, which makes update-time restarts safer and avoids using stale service command paths.

This matters most if you use:

builder service restart
builder service restart --if-installed

/fast Works While Busy

/fast can now be used while the session is busy. This lets you toggle or inspect fast mode without waiting for the active turn to finish.

Worktree And Session Context Fixes

Builder preserves worktree context when teleporting between sessions. This keeps the UI and agent aligned with the checkout the session is supposed to target.

README And Docs Refresh

The README and docs were refreshed to better explain Builder's positioning, background service model, worktrees, compaction, and customization surfaces.

Compatibility Notes

  • No manual migration is required.
  • If you use the background service, this release improves restart behavior but still respects the same endpoint ownership checks: stop a manual builder serve process if it conflicts with builder service commands.
  • Sessions with old runtime liveness metadata are handled by the new logic; Builder no longer relies on that persisted state to decide whether a runtime is alive.
Original generated changelog

New Features

  • feat!: make ongoing delivery SSOT-backed

Bug Fixes

  • restart installed service without reinstalling
  • show ask_question option text in ongoing mode
  • add tree guides to ongoing multiline tools
  • allow /fast while busy closes #180
  • refresh service registration before guarded restart
  • page rollback selection past compaction
  • sync ongoing tail after detail restore
  • address transcript and lease review
  • reload service registration on update restart

Other

  • Remove persisted runtime liveness
  • Merge fix-wt-session-block
  • update readme & docs
  • cover detail restore tail sync
  • Merge pull request #183 from respawn-app/fixes-1.1.1
  • bump version to 1.1.1 [skip ci]

Docs

  • trim README whitespace

v1.1.0

30 Apr 15:20

Choose a tag to compare

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 install

The 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 uninstall

Supported 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.
  • /status shows 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 service may refuse to install, start, or restart when the configured server endpoint is already used by a manual builder serve process or by another listener. Stop the conflicting process or change server_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

v1.0.0

25 Apr 15:24

Choose a tag to compare

Builder 1.0.0

Builder 1.0 is focused on making long-running agent work safer to resume, easier to inspect, and easier to split across sessions and worktrees.

Highlights

Sessions are project-aware

Builder now keeps structured metadata for projects, workspaces, sessions, worktrees, and runtime leases in a local database. This gives sessions an explicit execution target instead of treating the current directory as implicit state.

When Builder starts in an unknown workspace, it can bind that workspace to a project. Existing sessions can also be retargeted if their workspace moved:

builder project
builder attach <path>
builder attach --project <project-id> <path>
builder rebind <session-id> <new-path>

This is most visible when resuming sessions, attaching to a local daemon, or running headless agents from a workspace that Builder has not seen before.

Git worktree management

Builder can create, switch, and delete git worktrees from the TUI with /wt or directly from slash commands:

/wt
/wt create
/wt switch <target>
/wt delete [<target>]

Switching worktrees moves the session execution target, runtime cwd, tool cwd, and transcript context together, so the agent sees the correct checkout. Deletes are guarded: Builder blocks deletion of the main worktree, worktrees used by other sessions, and worktrees with running background processes. Dirty worktrees show a preview before confirmation.

Managed worktrees can be configured with:

[worktrees]
base_dir = "~/.builder/worktrees"
setup_script = "scripts/setup-worktree.sh"

Headless subagent roles

builder run now supports named headless roles:

builder run --agent fast "summarize the unstaged changes"
builder run --fast "find the flaky tests in this repo"
builder run --continue <session-id> "follow up"

Roles are configured under [subagents.<role>] and inherit normal Builder config. This makes background subagent workflows more predictable: interactive Builder can launch separate headless Builder instances, and humans can use the same mechanism directly in scripts or shells.

Custom system prompts

Builder supports SYSTEM.md files for replacing the built-in main system prompt:

~/.builder/SYSTEM.md
<workspace>/.builder/SYSTEM.md

The workspace file takes priority. Builder snapshots the rendered system prompt on the session's first model request, then reuses that snapshot when the session is resumed or moved. Editing SYSTEM.md affects new sessions, not already-locked sessions.

Supported placeholders include:

{{.DefaultSystemPrompt}}
{{.BuilderRunCommand}}
{{.EstimatedToolCallsForContext}}

Compact detail mode

Detail mode is now a compact transcript inspector instead of a long raw dump. Messages and tool calls are collapsed by default, can be expanded with Enter, and can be navigated with keyboard or mouse wheel in the detail alt screen.

The ongoing transcript remains optimized for native terminal scrollback, selection, and copy-paste. Detail mode is for inspecting the session structure, expanding specific tool calls, and understanding hidden or diagnostic context without flooding the main work surface.

Command execution and output shaping

The agent-facing shell tool is now the exec_command / write_stdin pair. Command output can be post-processed before it reaches the model, with built-in processing and an optional user hook:

[shell]
postprocessing_mode = "builtin" # none | builtin | user | all
postprocess_hook = "~/.builder/shell_postprocess_hook"

The tool can still request raw output when needed. Builder also seeds a managed ripgrep config at ~/.builder/rg.conf and exports it through RIPGREP_CONFIG_PATH when the user has not set one.

Shell subprocesses receive agent-friendly environment defaults such as AGENT=builder and non-interactive/progress-suppression variables for common tools including Docker, Compose, npm, and Yarn.

Patch tool improvements

The patch tool now uses a freeform patch format and reports structured failures with target paths preserved. Patch calls are easier to read in detail mode, including failures, move-only updates, and EOF-only hunks.

Authentication and startup polish

The startup and slash-command flows are more state-aware:

  • /login is shown when Builder is unauthenticated or using API-key auth.
  • /logout is shown when Builder is using saved OAuth auth.
  • /resume is hidden when there are no other sessions to resume.
  • first-run setup can import skills and slash-command directories from existing agent setups.

Model defaults

The default model is now gpt-5.5. Builder also tracks the configured context window and estimates the number of tool calls that fit in the available context budget for prompt rendering and compaction decisions.

Reliability

1.0 includes a large persistence and runtime cutover. The practical result is better continuity when sessions are resumed, moved, compacted, switched between worktrees, or attached through the local server.

Important reliability work in this release:

  • session metadata moved to a structured local database while large transcript artifacts remain file-backed
  • runtime activation uses explicit leases, improving recovery after stale controllers or interrupted runs
  • local-first RPC transport avoids repeated setup costs for local daemon usage
  • transcript replay, compaction, rollback, and detail hydration share stricter ordering rules
  • native ongoing scrollback remains append-only while detail mode can hydrate compact inspection pages
  • explicit TCP server targets are honored over same-machine socket optimization

Compatibility Notes

  • Sessions are now bound to projects/workspaces. If a session cannot find its workspace, use builder rebind <session-id> <new-path>.
  • Headless runs require the selected workspace to be attached to a Builder project. Use builder attach or builder attach --project <project-id> when running from a new checkout.
  • Prompts or docs that mention the old model-facing shell tool should refer to exec_command and write_stdin for new sessions. The user-facing $ <command> shortcut remains the normal way to run shell commands interactively.
  • Removed shell timeout config/CLI behavior is replaced by Builder's background process model. Commands can run indefinitely; yield_time_ms controls when Builder backgrounds the process and returns control.
Full changelog

New Features

  • phase4a - add database
  • complete phase 4b storage cutover
  • complete phase 4c runtime cutover
  • finish phase 5 and plan phase 4d
  • complete phase 4d daemon cutover
  • add unknown-workspace project binding flow
  • add explicit workspace rebind
  • continue phase 2 divergence fixes
  • add remote auth bootstrap and workspace-aware attach
  • expand sandbox dev toolchain
  • add local-first persistent rpc transport
  • add gws transport spike benchmarks
  • switch websocket transport to gws
  • feat!: retarget sessions with builder rebind
  • feat!: confirm and retarget moved session workspaces
  • seed managed ripgrep config
  • feat!: replace shell tool with exec_command
  • add exec_command post-processing
  • add headless subagent roles
  • add worktree management closes #68
  • add git worktree management closes #68
  • add gpt-5.5 model contract
  • default to gpt-5.5
  • estimate tool calls from context budget
  • add freeform patch custom tool
  • support SYSTEM.md prompt snapshots
  • compact detail transcript inspector

Bug Fixes

  • lock and test session launch visibility
  • address phase 4 review findings
  • address follow-up review findings
  • harden metadata registration and migration
  • tighten registration race recovery
  • harden metadata and migration boundaries
  • narrow workspace binding conflict recovery
  • harden runtime activation lifecycle
  • allow large migration manifests
  • retry fileless metadata persistence
  • lock staging before migration cutover
  • close late phase 4 review gaps
  • remove dead transcript reducer assignment
  • address direct attach review regressions
  • address remaining app-server review issues
  • isolate process access by project
  • skip daemon launch for unregistered workspaces
  • enforce project attach invariants
  • preserve optional lifecycle session ids
  • preserve committed tool pairs before transient tails
  • harden transcript replay semantics
  • resolve nested workspace paths to attached roots
  • align project binding prompt input UI
  • require exact workspace path matches
  • stabilize transcript hydrate diagnostics
  • avoid replaying slid ongoing tail
  • stabilize transcript event ranges
  • harden transcript committed tail tracking
  • harden project attach and runtime cleanup
  • preserve continuity recovery cause across deferred sync
  • harden transcript recovery and queued steering visibility
  • harden project binding error handling
  • harden rollback targeting and transcript authority
  • enforce reviewer and compaction transcript ordering
  • harden persisted local-entry ordering
  • correct rollback transcript index mapping
  • signal hosted tool transcript commits
  • stream rollback transcript index resolution
  • hydrate deferred committed user flushes
  • close remaining transcript review regressions
  • harden request replay and workspace rebind
  • correct workspace rebinding and sandbox bootstrap readiness
  • stabilize compaction transcript events
  • materialize compacted detail transcript pages
  • expose unknown developer messages in detail mode
  • persist hidden noop reviewer turns
  • keep skill warnings out of model context
  • scope manual compaction carryover to latest segment
  • drop pre-compaction developer context
  • rebuild canonical compaction context order
  • track headless state across compaction...
Read more

v0.10.1

10 Apr 09:38

Choose a tag to compare

New Features

  • add skip-auth flow for local/custom models (closes #100)
  • add transcript entry visibility controls
  • add @ path autocomplete closes #110

Bug Fixes

  • correct quickstart config link closes #103
  • recover transcript after runtime event drops
  • restore unified tool success colors closes #104
  • use precise token counts for critical context checks
  • support input-token counting in OpenAI test servers
  • harden compaction and runtime transcript capabilities
  • address outstanding PR review regressions
  • address follow-up review feedback
  • address final review nits
  • preserve default openai endpoint behavior
  • align auth and provider edge cases
  • skip rg integration test when rg is unavailable
  • provision ripgrep in CI
  • harden path autocomplete lifecycle
  • treat empty rg corpus as ready
  • harden path corpus parsing

Other

  • cover OpenAI test response helpers
  • Simplify system prompt; stronger subagents and more comments
  • fix system prompt typo
  • Merge pull request #106 from respawn-app/0.11.0
  • Merge pull request #111 from respawn-app/feat/path-autocomplete-110
  • bump version to 0.10.1 [skip ci]

v0.10.0

09 Apr 08:37

Choose a tag to compare

Other

  • bump version to 0.10.0