Releases: respawn-llc/builder
v1.3.0
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,
descriptionandagent_callableare 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
Bug Fixes
- restore reviewer provider auth flexibility
- handle escape rune rollback shortcut
Other
v1.2.2
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
Bug Fixes
- hide successful shell exit headers
- bypass test wall-clock cap in CI
Other
- improve skill guidance
- fix formatting
v1.2.0
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
sedinclude 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
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_questionchoices 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 serveprocess if it conflicts withbuilder servicecommands. - 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
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
v1.0.0
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:
/loginis shown when Builder is unauthenticated or using API-key auth./logoutis shown when Builder is using saved OAuth auth./resumeis 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 attachorbuilder attach --project <project-id>when running from a new checkout. - Prompts or docs that mention the old model-facing
shelltool should refer toexec_commandandwrite_stdinfor 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_mscontrols 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...
v0.10.1
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
v0.10.0
Other
- bump version to 0.10.0