Releases: Juliusolsson05/agent-code
Release list
Agent Code 0.1.4-preview.20260926.942
Preview of Agent Code 0.1.4, built from 33fd8f8309c4 on main, signed and notarized. To get previews as updates, choose Settings → Workspace → Update channel → Preview (a preview installed from here starts on Preview). Switching back to Stable waits for the next stable release; it never downgrades.
Commits since the previous preview
33fd8f8 Merge pull request #1318 from Juliusolsson05/integration/batch-2026-09-25-a
e9b5260 Merge main (#1221 keyboard-first) into the batch
13ae608 Merge pull request #1221 from Juliusolsson05/feat/keyboard-first-ui
21d6455 Merge remote-tracking branch 'origin/main' into feat/keyboard-first-ui
1da672f Merge #1286 round-2 fix into the batch
0c5aa6d fix(workspace): #1286 review C round 2 — spawn messages are rebuilt from our constants, never copied from the error
cfbaa0c Merge #1317 (chore/codex-headless-mirror-b64) into the batch
2096373 Merge #1316 (fix/pi-bootstrap-waits-for-bridge) into the batch
7521899 Merge #1297 (test/conversations-picker-settle) into the batch
d1f8f0d Merge #1286 (fix/new-agent-overlay-traps) into the batch
b72c5f0 Merge #1298 (fix/codex-rollout-identity) into the batch
22e0636 Merge #1287 (fix/goal-loop-follows-replace) into the batch
0f8f43b Merge #1284 (fix/claude-proxy-body-budget) into the batch
0b7552e Merge #1312 (fix/bulk-switch-stop) into the batch
ec6f3a1 Merge #1311 (fix/pty-attach-survives-wake) into the batch
666da00 Merge #1310 (fix/claude-paste-confirm-cjk-wrap) into the batch
9320033 Merge #1263 (fix/workspace-save-failure-banner) into the batch
f619149 Merge #1257 (fix/tldr-store-invalid-record) into the batch
4acdf99 Merge remote-tracking branch 'origin/main' into fix/claude-paste-confirm-cjk-wrap
1167367 Merge pull request #1309 from Juliusolsson05/fix/claude-rollback-attribute-composer
ab4101d Merge remote-tracking branch 'origin/main' into fix/workspace-save-failure-banner
2036a2f fix(workspace): #1263 review C — a read-only workspace file is not promised a later save
5362ee6 Merge remote-tracking branch 'origin/main' into fix/tldr-store-invalid-record
ef47111 fix(tldr): #1257 review C — an unchanged re-post repairs a salvaged history; C's surviving mutants pinned
fb4e6dc Merge remote-tracking branch 'origin/main' into fix/pi-bootstrap-waits-for-bridge
129424f test(pi): #1316 review — the exact bootstrap text, fast failure after a drop, and every settle path pinned
6112e84 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
4b066f7 fix(conversations): #1297 review C — a hover on stale rows never carries to the new page
7116732 Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
bd49018 fix(workspace): #1286 review C — creates show the curated spawn failures; the missing-CLI sentence survives
4e453b5 Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
45fffac Merge remote-tracking branch 'origin/main' into chore/codex-headless-mirror-b64
1d43c75 chore(deps): codex-headless to the merged #53 — proxy mirror writes chunks as base64 (refs #372)
7f273e0 Merge pull request #1308 from Juliusolsson05/fix/shortcut-recorder-release
3ca7867 fix(pi): a fresh pane's first prompt waits for its bridge (#1315)
131d638 docs(plan): a fresh Pi pane's first prompt waits for its bridge (#1315)
38e83b3 Merge remote-tracking branch 'origin/main' into fix/shortcut-recorder-release
1d25b0e Merge pull request #1300 from Juliusolsson05/test/extension-modal-focus
cef5365 Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
991378e docs(goal-loop): #1287 disposition — carryGoalLoops' comment sits on it and says what happens now
4533252 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
5482be8 test(conversations): #1297 disposition — the stale-paging test scrolls, so it reaches loadMore
325b6cd Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
907c796 chore(deps): claude-code-headless to the merged #63 (64fd0eaf)
6ae2738 docs(plan): #1300 round 2 A — the race is focus propagation, not frame selection
59555a9 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
54287d9 Merge pull request #1301 from Juliusolsson05/fix/dictation-journal-cap
0690e66 test(claude): #1310 final review B — an unknown pane width never cuts hard
401fc92 fix(claude): #1310 final review — paste widths never overcount
ab9ab02 fix(claude): #1309 review round 2 — a typed row matching a known hint is a draft
26c3c51 fix(sessions): #1311 review round 2 — attaches carry the page document; a view releases only what it took
42a56a4 fix(workspace): #1312 review round 2 — a rejection after Stop is not a batch of failures
d40fec0 fix(claude): only a full row is a hard cut (steering q34)
761ebb5 fix(workspace): #1312 review round 1 — Return stops too; the stop's entry points and edges pinned
85c3490 fix(claude): steering q33 — widths are measured per grapheme cluster, so a ZWJ emoji is two cells
6cf6f05 fix(sessions): #1311 review round 1 — renderer-owned attaches, per-process restore size, view size carried to a successor
6e80ef7 fix(claude): #1310 review round 1 — never join a soft wrap early; a real wide-character table
4ab1d86 test(claude): #1309 review B — the rollback classifier driven by a real headless frame; evidence stated precisely
a8d4777 fix(claude): #1309 review round 1 — rollback reads the live buffer and needs a painted placeholder to call it empty
5077e3a fix(settings): #1308 round 2 — only the list's scrollbar keeps recording, not its gaps
3d1fb30 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
2cd778e fix(dictation): #1301 review C round 2 — a re-created writer keeps the press clock; plan matches the code
05e685d fix(workspace): the /model fan-out can be stopped too (#1271, steering q32)
ed4eee1 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
3c12bb7 Merge pull request #1266 from Juliusolsson05/fix/lsp-reopen-after-server-loss
5103840 fix(workspace): a running bulk provider switch can be stopped after the current agent (#1271)
0f35627 docs(plan): bulk provider switch can stop after the current agent (#1271)
2ab60d4 fix(sessions): a raw PTY view keeps receiving output across a same-id wake (#1281)
43b3fa1 docs(plan): a raw PTY view survives a same-id wake (#1281)
09e350b fix(settings): #1308 review round 1 — the list scrollbar keeps recording; release edges pinned
3927128 fix(claude): paste confirmation joins CJK hard wraps (#1292)
9daea64 docs(plan): Claude paste confirmation joins CJK hard wraps (#1292)
ad6cb3a refactor(workspace): use the shared missing-folder prefix from #1264
2639c90 Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
1e6370a Merge remote-tracking branch 'origin/main' into fix/shortcut-recorder-release
f0e9920 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
f64cdc2 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
1739a92 Merge remote-tracking branch 'origin/main' into fix/codex-rollout-identity
dd1b432 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
a16e280 Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
fa99a42 Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
f4e113c Merge remote-tracking branch 'origin/main' into fix/claude-proxy-body-budget
87b3ba9 Merge remote-tracking branch 'origin/main' into fix/lsp-reopen-after-server-loss
f267ef5 Merge remote-tracking branch 'origin/main' into fix/workspace-save-failure-banner
a9a5809 Merge remote-tracking branch 'origin/main' into fix/tldr-store-invalid-record
a56d696 Merge pull request #1264 from Juliusolsson05/fix/undo-close-respawn-failure
c13de39 Merge pull request #1258 from Juliusolsson05/fix/goal-loop-store-invalid-loop
a797be1 fix(claude): the delivery rollback reads the attribute-aware composer (#1291)
01e14a9 docs(plan): Claude rollback reads the attribute-aware composer (#1291)
503ef71 fix(dictation): steering q30 — every in-flight evicted writer of a press counts toward the budget
23557fa fix(dictation): #1301 review round 2 — flush waits for in-flight writes, budget survives eviction, per-source chunk indexes
de4b0fe fix(settings): the shortcut recorder stops on an outside click or window blur (#1272)
865f0b8 docs(plan): shortcut recorder releases capture on outside click and blur (#1272)
a18b7ce chore(claude): bump claude-code-headless to #62's merge commit
a9138ad fix(conversations): #1297 review round 2 — never page rows from an older query; say 'loading' while stale
b555c9e fix(dictation): #1301 review round 1 — per-minute summaries past the budget, a stable budget, awaited eviction
19357dc fix(goal-loop): #1287 review round 2 — end a loop that is not carried; pin reload-all and the carry's own persist
e133cb8 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
1966e83 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
5651e89 Merge remote-tracking branch 'origin/main' into fix/codex-rollout-identity
6394cae Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
217c2ee Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
3b983be Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
c09757c Merge remote-tracking branch 'origin/main' into fix/claude-proxy-body-budget
7931fc1 Merge remote-tracking branch 'origin/main' into fix/lsp-reopen-after-server-loss
c13464e Merge remote-tracking branch 'origin/main' into fix/undo-close-respawn-failure
fafa1bf Merge remote-tracking branch 'origin/main' into fix/workspace-save-failure-banner
d51c8ea Merge remote-tracking ...
Agent Code 0.1.4-preview.20260925.1000
Preview of Agent Code 0.1.4, built from 9d446f03dfb1 on main, signed and notarized. To get previews as updates, choose Settings → Workspace → Update channel → Preview (a preview installed from here starts on Preview). Switching back to Stable waits for the next stable release; it never downgrades.
Commits since the previous preview
9d446f0 Merge pull request #1235 from Juliusolsson05/refactor/remove-ghost-log
6a00232 Merge pull request #1234 from Juliusolsson05/fix/claude-queue-notification-identity
49c925b Merge pull request #1229 from Juliusolsson05/fix/opencode-late-db-heal
538cf2c test(claude-queue): pin containment for wrapped twins; record the ambiguity residual
dfc1534 docs+test: finish the ghost-log removal (review of #1235)
4a3c801 chore(submodule): opencode-terminal-headless at its merged main (PR #9)
d52a779 fix(opencode): a successful read clears the late-recovery banner
736e51e Merge origin/main into refactor/remove-ghost-log
6bc0ade Merge pull request #1228 from Juliusolsson05/fix/ghost-superseded-live-turn
2cf91b1 refactor: remove the on-disk ghost log
9bd9158 fix(claude-queue): a committed notification retires the twin it carries
89c0e51 test(ghosts): pin the orphan TTL through the composed sweep
1f23a5d fix(opencode): heal after a busy late open; a failed heal keeps the banner
46bf33c Merge pull request #1226 from Juliusolsson05/fix/claude-image-literal-placeholder
714335e Merge pull request #1224 from Juliusolsson05/fix/goal-loop-background-tasks
3d95d94 refactor(ghosts): one tested sweepGhosts tick reads the live turn itself
474ae83 fix(goal-loop): a partly unreadable background report is unknown
52bbd30 test(goal-loop): pin the host half of keep-on-unknown; correct the chain comment
32842e8 fix(opencode): heal the transcript gap when the database path turns up late
7402d61 fix(ghosts): keep superseded ghosts of the live turn until it ends
ac45391 fix(goal-loop): bound the background-work hold and keep it on unknown
c6496db fix(claude): whitespace-only image prompts skip the unconfirmable text wait
e19cdbc Merge pull request #1223 from Juliusolsson05/fix/ghost-log-orphan-retention
e9838e1 Merge pull request #1222 from Juliusolsson05/fix/claude-transcript-disconnect-marker
d19034d fix(claude): wait for a short image prompt's text before sampling the image baseline
78934bf fix(storage): ghost-log owners are unknown unless a complete workspace.json was read
ca645ce fix(goal-loop): wait for background work the agent will be woken by
bdb68d7 fix(claude): re-check the provider when the commit check fires; pin the trigger and the self-clearing
2721fe5 Merge pull request #1219 from Juliusolsson05/fix/claude-paste-tail-hard-wrap
3761628 fix(storage): an unreadable workspace means unknown ghost-log owners, never none
4b2389b fix(storage): prune orphaned ghost logs; protect a ghost log only while its session exists
c2a2df0 fix(claude): show the disconnected transcript in terminal view; pin the check's timer invariants
14f3b25 Merge pull request #1160 from Juliusolsson05/docs/readme-harness-orchestrator
73df03a fix(claude): a full composer line is one column short of the divider
04db26d fix(claude): undo the composer's wrapping instead of guessing where it fell
8367921 fix(claude): say so when a finished turn never commits a transcript
696578f fix(claude): tolerate inserted wrap whitespace in the paste tail, never missing whitespace
41c3a45 Merge pull request #1108 from Juliusolsson05/fix/lsp-document-ordering
6ef099f test(claude): load wrap-ansi as an explicit, typed dev dependency
c039e5f fix(claude): confirm an inline paste whose tail the TUI hard-wrapped
d1bde8b Merge remote-tracking branch 'origin/main' into docs/readme-harness-orchestrator
7b158eb test(lsp): a tab close releases a request stuck on its document
51e3699 Merge remote-tracking branch 'origin/main' into fix/lsp-document-ordering
e357983 Merge pull request #1106 from Juliusolsson05/docs/release-readiness
6164bf7 Merge pull request #1111 from Juliusolsson05/fix/feed-debug-cursor
6264d3c Merge pull request #1195 from Juliusolsson05/fix/dependabot-lockfile-security
e276824 Merge pull request #1211 from Juliusolsson05/fix/skill-snapshot-test-isolation
75be2bd Merge pull request #1209 from Juliusolsson05/fix/completion-indicator-redesign
e7ccee5 fix(skills): remove the separate snapshot root option
0af7989 Merge pull request #1193 from Juliusolsson05/fix/history-and-activity-modals
1ddc5e7 Merge pull request #1196 from Juliusolsson05/fix/phone-symbol-glyphs
3743814 fix(workspace): keep outlined header text above AA contrast
4982cfa fix(lsp): count shared intent only for a server document that exists
3f5a1c2 docs(skills): sync snapshot isolation plan with the final shape
f3bead6 fix(skills): keep the snapshot store beside the journal that references it
f7745bf feat(workspace): draw the completion indicator as the working bar, outlined
6d9ec6a Merge pull request #1110 from Juliusolsson05/fix/condition-key-refusal-visible
b7a6700 fix(lsp): see a sibling's intent that lands before a request subscribes; withdraw editor recovery
12e60b8 Merge remote-tracking branch 'origin/main' into fix/history-and-activity-modals
30137cc ci(dependabot): hold routine bumps that need a migration out of the group
5a87310 docs(workspace): adopt the outlined completion bar (variant F)
1caaf22 docs(skills): plan snapshot store isolation from test journals
1ae9b60 fix(feed-debug): make a generation's epoch unique, and pin the contracts review found untested
7d34033 fix(remote): draw the phone's app symbols from a bundled monochrome face
4ff76e6 docs(readme): keep main's newer Skills and goal-completion text in the new layout
86346ab Merge remote-tracking branch 'origin/main' into docs/readme-harness-orchestrator
48692a8 docs(workspace): plan the completion indicator as a patterned header plate
aa23c4a docs(archive): freeze the release-readiness ledger and file its open items
9c02f5d Merge remote-tracking branch 'origin/main' into docs/release-readiness
36e4fb8 revert(remote): drop the app-wide symbol font stack
26ffd8f fix(lsp): retire only a wedged server, and let an open editor recover
b917a85 Merge remote-tracking branch 'origin/main' into fix/lsp-document-ordering
31bc918 fix(feed-debug): drop a pre-reload write's cursor update instead of reopening #770
7d794e3 Merge remote-tracking branch 'origin/main' into fix/feed-debug-cursor
468225f test(conditions): probe the outlet's onPtyAction, the prop #1177 renamed
2d5006c fix(remote): draw feed symbols monochrome on the phone instead of Apple emoji
1e4a0e9 Merge remote-tracking branch 'origin/main' into fix/condition-key-refusal-visible
3939df8 fix(deps): take the patched electron-updater and vitest
4dfa554 docs(remote): plan the symbol-font fix for phone emoji glyphs
1c47e8e fix(deps): remove the stray lockfile block that stops every Dependabot run
34bb50e Merge pull request #1159 from Juliusolsson05/fix/view-service-invoke-optional-params
9f9b442 Merge pull request #1167 from Juliusolsson05/docs/plans-location
d611643 Merge pull request #1192 from Juliusolsson05/fix/completion-stripes-solid
c333d0e Merge pull request #1186 from Juliusolsson05/refactor/phone-shared-rendering
2b2ef78 docs(agent-activity): record the full-screen reversal and the review round
55e6b1d fix(tldr): keep report history on its conversation across request changes
cbaf1f7 feat(goal): add a View Goal History command
98a2c7c fix(tldr): inset and tighten the TLDR History list
c2edfea refactor(agent-activity): show Agent Activity as a centred modal
2be145c fix(workspace): vertical full-accent completion stripes with text plates
ce82d44 docs(workspace): plan vertical full-accent completion stripes
71745af Merge remote-tracking branch 'origin/main' into refactor/phone-shared-rendering
4233579 docs(tldr): plan history dialog fix, goal history and Agent Activity modal
7974502 Merge pull request #1185 from Juliusolsson05/feat/sessions-context-menu
234ee44 Merge remote-tracking branch 'origin/main' into refactor/phone-shared-rendering
c30ba0f chore(build): drop the deleted renderer registry from the tsconfigs
fcaf879 test(remote): compare phone and desktop ledger rows from recordings
68d34bf fix(remote): clear a recovered live channel's fault on the phone
c82cef1 fix(rendering): recompute the ledger when its policy input changes
87a58c2 fix(sessions): keep a failing feed sink from exiting the app
c9b6db4 Merge remote-tracking branch 'origin/main' into feat/sessions-context-menu
2f38d5b Merge pull request #1184 from Juliusolsson05/feat/goal-completion
6032b47 docs(remote): correct the plan's verification caveat
a65a0dc test(sessions): pin the deliver-prompt row barrier through the feed tap
1f2a65a Merge origin/main into refactor/phone-shared-rendering
1e2d9f1 refactor(renderer): register the renderer host in the feature reference
bbb2969 fix(sessions): address the Pi review findings
78cf3a8 Merge pull request #1183 from Juliusolsson05/feat/pending-prompt-sending
6300649 docs(remote): describe the phone on the shared rendering seams
4fdf0d9 refactor(providers): keep provider code out of the desktop workspace
e3f5159 refactor(providers): drop the per-provider TileLeaf slot from the renderer registry
773327e Merge remote-tracking branch 'origin/main' into feat/sessions-context-menu
78946f6 docs(goal): record the review round and rulings in the plan
04a37b7 fix(workspace): close completed agents only from fresh goals and whole runs
5f5e3e1 fix(sessions): address the review round on the context menu
8fbe93d fix(rendering): make Grok and Pi visible to the render-shape evidence loop
d28d52f refactor(feed): stop painting unknown providers as Claude
6db222b refactor(rendering): declare ledger policy per provider through the registry
062bcd3 fix...
Agent Code 0.1.4-preview.20260924.2305
Preview of Agent Code 0.1.4, built from 95413b4f9a22 on main, signed and notarized. Previews are never offered by the in-app updater. Anyone on a preview is offered the next stable release (0.1.4 or later) when it ships.
Recent commits
No reachable previous preview. The last 30 commits:
95413b4 Merge pull request #1128 from Juliusolsson05/docs/release-policy
01492a0 Merge pull request #1166 from Juliusolsson05/fix/composer-collapsed-height
cfe138a Merge pull request #1164 from Juliusolsson05/feat/browser-pocket-server-recovery
c8f66f0 docs(composer): record the review round in the collapsed prompt box plan
46f0a4a fix(composer): re-measure on padding changes and defer the observer write
00b5d7f fix(browser-pocket): preserve native drafts and recovery receipts
4abbd18 fix(release): address review round 1 and add release-notes guidance
c819b74 fix(composer): keep the prompt box from collapsing after hidden or resized layouts
3f678ab docs(composer): plan the collapsed prompt box fix
5ccf405 feat(browser-pocket): ask agents to restart unavailable local servers
8cb9e1e ci(release): nightly previews of the next version, and stable-only manual releases
b967971 Merge remote-tracking branch 'origin/main' into docs/release-policy
8127735 docs(browser-pocket): plan agent-assisted server recovery
7feda94 Merge pull request #1162 from Juliusolsson05/feat/skills-official-install
cecb655 fix(skills): address review round 1
cc36131 test(skills): type the fake GitHub source in the skills domain test
b41a180 docs(skills): record the journal-native provider change in the spec
481f9dc docs(skills): mark the plan implemented and record deviations
fc753c1 docs(skills): design doc and README for uncapped skills, npx skills input, provider choices and agent proposals
e3f49ba feat(skills): Settings → Skills grid, Add Skill dialog, skill commands and the agent skills MCP domain
5ad2a19 feat(skills): list skills other tools installed, with read-only npx skills provenance
5a650ed feat(skills): uncapped skills, npx skills install input, lazy acquisition, per-provider choices
d3be8a1 docs(skills): spec and plan for official install command, no caps, Settings → Skills
489fbb8 chore(release): bump version to 0.1.3
7c1517f Merge pull request #1158 from Juliusolsson05/refactor/extension-platform-final-cleanup
b0f5316 chore(extensions): pin the extension SDK to the v0.10.0 tag
1663c17 fix(browser-pocket): rebuild the embedded browser workflow (#1155)
500730d docs(extensions): feature-detect secrets in the declared-origin example
ad4ad4f test(extensions): make platform fixtures and comments consumer-neutral
fa964b4 refactor(extensions): correct stale frame protocol comments and trim zod re-tests
Agent Code Preview (newest)
built-from: 33fd8f8
The newest preview: Agent Code 0.1.4-preview.20260926.942, built from 33fd8f8309c4, signed and notarized. Asset names are fixed, so these links always download the latest preview. To get previews as updates, choose Settings → Workspace → Update channel → Preview (a preview installed from here starts on Preview). Switching back to Stable waits for the next stable release; it never downgrades. Every preview is also published as its own dated release.
The
previewtag and its "Source code" archives point at the first rolling preview's commit. Use the tree link above, or the dated release, for this build's source.
Commits since the previous preview
33fd8f8 Merge pull request #1318 from Juliusolsson05/integration/batch-2026-09-25-a
e9b5260 Merge main (#1221 keyboard-first) into the batch
13ae608 Merge pull request #1221 from Juliusolsson05/feat/keyboard-first-ui
21d6455 Merge remote-tracking branch 'origin/main' into feat/keyboard-first-ui
1da672f Merge #1286 round-2 fix into the batch
0c5aa6d fix(workspace): #1286 review C round 2 — spawn messages are rebuilt from our constants, never copied from the error
cfbaa0c Merge #1317 (chore/codex-headless-mirror-b64) into the batch
2096373 Merge #1316 (fix/pi-bootstrap-waits-for-bridge) into the batch
7521899 Merge #1297 (test/conversations-picker-settle) into the batch
d1f8f0d Merge #1286 (fix/new-agent-overlay-traps) into the batch
b72c5f0 Merge #1298 (fix/codex-rollout-identity) into the batch
22e0636 Merge #1287 (fix/goal-loop-follows-replace) into the batch
0f8f43b Merge #1284 (fix/claude-proxy-body-budget) into the batch
0b7552e Merge #1312 (fix/bulk-switch-stop) into the batch
ec6f3a1 Merge #1311 (fix/pty-attach-survives-wake) into the batch
666da00 Merge #1310 (fix/claude-paste-confirm-cjk-wrap) into the batch
9320033 Merge #1263 (fix/workspace-save-failure-banner) into the batch
f619149 Merge #1257 (fix/tldr-store-invalid-record) into the batch
4acdf99 Merge remote-tracking branch 'origin/main' into fix/claude-paste-confirm-cjk-wrap
1167367 Merge pull request #1309 from Juliusolsson05/fix/claude-rollback-attribute-composer
ab4101d Merge remote-tracking branch 'origin/main' into fix/workspace-save-failure-banner
2036a2f fix(workspace): #1263 review C — a read-only workspace file is not promised a later save
5362ee6 Merge remote-tracking branch 'origin/main' into fix/tldr-store-invalid-record
ef47111 fix(tldr): #1257 review C — an unchanged re-post repairs a salvaged history; C's surviving mutants pinned
fb4e6dc Merge remote-tracking branch 'origin/main' into fix/pi-bootstrap-waits-for-bridge
129424f test(pi): #1316 review — the exact bootstrap text, fast failure after a drop, and every settle path pinned
6112e84 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
4b066f7 fix(conversations): #1297 review C — a hover on stale rows never carries to the new page
7116732 Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
bd49018 fix(workspace): #1286 review C — creates show the curated spawn failures; the missing-CLI sentence survives
4e453b5 Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
45fffac Merge remote-tracking branch 'origin/main' into chore/codex-headless-mirror-b64
1d43c75 chore(deps): codex-headless to the merged #53 — proxy mirror writes chunks as base64 (refs #372)
7f273e0 Merge pull request #1308 from Juliusolsson05/fix/shortcut-recorder-release
3ca7867 fix(pi): a fresh pane's first prompt waits for its bridge (#1315)
131d638 docs(plan): a fresh Pi pane's first prompt waits for its bridge (#1315)
38e83b3 Merge remote-tracking branch 'origin/main' into fix/shortcut-recorder-release
1d25b0e Merge pull request #1300 from Juliusolsson05/test/extension-modal-focus
cef5365 Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
991378e docs(goal-loop): #1287 disposition — carryGoalLoops' comment sits on it and says what happens now
4533252 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
5482be8 test(conversations): #1297 disposition — the stale-paging test scrolls, so it reaches loadMore
325b6cd Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
907c796 chore(deps): claude-code-headless to the merged #63 (64fd0eaf)
6ae2738 docs(plan): #1300 round 2 A — the race is focus propagation, not frame selection
59555a9 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
54287d9 Merge pull request #1301 from Juliusolsson05/fix/dictation-journal-cap
0690e66 test(claude): #1310 final review B — an unknown pane width never cuts hard
401fc92 fix(claude): #1310 final review — paste widths never overcount
ab9ab02 fix(claude): #1309 review round 2 — a typed row matching a known hint is a draft
26c3c51 fix(sessions): #1311 review round 2 — attaches carry the page document; a view releases only what it took
42a56a4 fix(workspace): #1312 review round 2 — a rejection after Stop is not a batch of failures
d40fec0 fix(claude): only a full row is a hard cut (steering q34)
761ebb5 fix(workspace): #1312 review round 1 — Return stops too; the stop's entry points and edges pinned
85c3490 fix(claude): steering q33 — widths are measured per grapheme cluster, so a ZWJ emoji is two cells
6cf6f05 fix(sessions): #1311 review round 1 — renderer-owned attaches, per-process restore size, view size carried to a successor
6e80ef7 fix(claude): #1310 review round 1 — never join a soft wrap early; a real wide-character table
4ab1d86 test(claude): #1309 review B — the rollback classifier driven by a real headless frame; evidence stated precisely
a8d4777 fix(claude): #1309 review round 1 — rollback reads the live buffer and needs a painted placeholder to call it empty
5077e3a fix(settings): #1308 round 2 — only the list's scrollbar keeps recording, not its gaps
3d1fb30 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
2cd778e fix(dictation): #1301 review C round 2 — a re-created writer keeps the press clock; plan matches the code
05e685d fix(workspace): the /model fan-out can be stopped too (#1271, steering q32)
ed4eee1 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
3c12bb7 Merge pull request #1266 from Juliusolsson05/fix/lsp-reopen-after-server-loss
5103840 fix(workspace): a running bulk provider switch can be stopped after the current agent (#1271)
0f35627 docs(plan): bulk provider switch can stop after the current agent (#1271)
2ab60d4 fix(sessions): a raw PTY view keeps receiving output across a same-id wake (#1281)
43b3fa1 docs(plan): a raw PTY view survives a same-id wake (#1281)
09e350b fix(settings): #1308 review round 1 — the list scrollbar keeps recording; release edges pinned
3927128 fix(claude): paste confirmation joins CJK hard wraps (#1292)
9daea64 docs(plan): Claude paste confirmation joins CJK hard wraps (#1292)
ad6cb3a refactor(workspace): use the shared missing-folder prefix from #1264
2639c90 Merge remote-tracking branch 'origin/main' into fix/claude-rollback-attribute-composer
1e6370a Merge remote-tracking branch 'origin/main' into fix/shortcut-recorder-release
f0e9920 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
f64cdc2 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
1739a92 Merge remote-tracking branch 'origin/main' into fix/codex-rollout-identity
dd1b432 Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
a16e280 Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
fa99a42 Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
f4e113c Merge remote-tracking branch 'origin/main' into fix/claude-proxy-body-budget
87b3ba9 Merge remote-tracking branch 'origin/main' into fix/lsp-reopen-after-server-loss
f267ef5 Merge remote-tracking branch 'origin/main' into fix/workspace-save-failure-banner
a9a5809 Merge remote-tracking branch 'origin/main' into fix/tldr-store-invalid-record
a56d696 Merge pull request #1264 from Juliusolsson05/fix/undo-close-respawn-failure
c13de39 Merge pull request #1258 from Juliusolsson05/fix/goal-loop-store-invalid-loop
a797be1 fix(claude): the delivery rollback reads the attribute-aware composer (#1291)
01e14a9 docs(plan): Claude rollback reads the attribute-aware composer (#1291)
503ef71 fix(dictation): steering q30 — every in-flight evicted writer of a press counts toward the budget
23557fa fix(dictation): #1301 review round 2 — flush waits for in-flight writes, budget survives eviction, per-source chunk indexes
de4b0fe fix(settings): the shortcut recorder stops on an outside click or window blur (#1272)
865f0b8 docs(plan): shortcut recorder releases capture on outside click and blur (#1272)
a18b7ce chore(claude): bump claude-code-headless to #62's merge commit
a9138ad fix(conversations): #1297 review round 2 — never page rows from an older query; say 'loading' while stale
b555c9e fix(dictation): #1301 review round 1 — per-minute summaries past the budget, a stable budget, awaited eviction
19357dc fix(goal-loop): #1287 review round 2 — end a loop that is not carried; pin reload-all and the carry's own persist
e133cb8 Merge remote-tracking branch 'origin/main' into fix/dictation-journal-cap
1966e83 Merge remote-tracking branch 'origin/main' into test/extension-modal-focus
5651e89 Merge remote-tracking branch 'origin/main' into fix/codex-rollout-identity
6394cae Merge remote-tracking branch 'origin/main' into test/conversations-picker-settle
217c2ee Merge remote-tracking branch 'origin/main' into fix/goal-loop-follows-replace
3b983be Merge remote-tracking branch 'origin/main' into fix/new-agent-overlay-traps
c09757c ...
Agent Code 0.1.3
chore(release): bump version to 0.1.3 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Agent Code 0.1.2
v0.1.2 chore(release): bump version to 0.1.2
Agent Code 0.1.1
built-from: fdff9a3
Stable patch release of fdff9a3e, signed and notarized. This is the first release that can update itself: a v0.1.0 install finds this version through File → Check for Updates… (or within its 4-hour background check), downloads it in the background, and applies it only through the same Keep-Editing-safe quit path a window close uses — never over live agent sessions.
Highlights since v0.1.0
Self-update (auto-update) — the packaged app reads this feed (latest-mac.yml) and updates itself from GitHub releases: never auto-restarts, rate-limited checks with a persisted clock, actionable offline/rate-limit/signature errors, and a watchdog that restores retryability if an install stalls. Unsigned dev builds no-op.
Extension services and scoped network capabilities — extensions can now declare bundled native services (service.run), talk to their own service over an origin proxy (service.transport), expose it to the local network through a host-owned listener (net.listen), and make brokered private-address fetches (net.connect). The first consumer is Agent Code Poker's in-app LAN hosting. Background runtimes can call all of it (a transport gap the poker harness caught, fixed here).
Extension loading shell — opening an extension view shows a sized, animated, themed placeholder instead of a text sliver that jumps when the stage reports. Extensions get it for free; reduced-motion users get a slowed ring.
Bigger extension modals — the reported-stage width ceiling rose to 1920 px so full-size game tables fit.
Commits since v0.1.0
e9909a8 fix(extensions): read utilityProcess messages as values, not {data}
2a61d39 fix(extensions): background runtimes can call services and brokered fetch
523f305 build(updates): merge electron-updater into the full cross-platform lock
21ba3b4 feat(extensions): animated loading shell for opening extension views
fd33772 feat(updates): self-update from GitHub releases with a veto-safe install path
6923305 Merge pull request #1115 from Juliusolsson05/fix/image-absorption-wrap-and-dbpath-retry
fa3d721 docs(auto-update): researched implementation plan for GitHub-feed self-updates
8ba4c56 Merge pull request #1116 from Juliusolsson05/fix/extension-modal-width-clamp
0c2ee90 fix(extensions): raise reported modal width ceiling to 1920
dd85db7 Merge pull request #1112 from Juliusolsson05/feat/extension-services
ee9a543 chore(extensions): pin extension-api submodule to merged v0.9.0 main
4778861e docs(extensions): authoring guide for services and network capabilities
3142333 feat(extensions): net.connect brokered private-address fetch
975ebd0 feat(extensions): net.listen host-owned LAN exposure for services
faaa0cf feat(extensions): service.transport origin-scoped service proxy
1a4192c feat(extensions): service.run capability with host-owned process lifecycle
df973b3 docs(extensions): design and staged plan for services + scoped network capabilities
806a26b Merge pull request #1096 from Juliusolsson05/fix/bootstrap-prompt-pending
4638aaa Merge pull request #1101 from Juliusolsson05/fix/bridge-read-de-dup
e6293be Merge pull request #1099 from Juliusolsson05/fix/condition-refusal-visible
92c7013 Merge pull request #1100 from Juliusolsson05/fix/rewind-attachment-loss
6056643 Merge pull request #1095 from Juliusolsson05/fix/lock-steal-atomic
389e412 Merge pull request #1093 from Juliusolsson05/fix/opencode-port-unreachable
758ce9a Merge pull request #1088 from Juliusolsson05/fix/focused-cancel-enter
2f525a1 Merge pull request #1089 from Juliusolsson05/fix/wait-agents-cap
022bdd3 Merge pull request #1090 from Juliusolsson05/fix/successor-relationships
198d5a7 fix(storage): stop two launches from both acquiring the state lock over one stale file
20d6554 Merge pull request #1087 from Juliusolsson05/fix/scrub-row-bindings
8e830b1 Merge pull request #1086 from Juliusolsson05/fix/wait-agent-status
f1dc75f fix(mcp): bound one wait_agents call to a window its reply can survive
Note for recovering terminals after an update restart: the bundled tmux client is new while a surviving tmux server may be from the previous version; terminals kept alive for recovery may need a fresh server. Nothing else changes about session recovery.
Practice-chips poker, extension sandboxes, and everything else behave as in v0.1.0 unless listed above.
Agent Code 0.1.0
Merge pull request #1062 from Juliusolsson05/release/0.1.0 chore(release): cut 0.1.0
Agent Code 0.0.2 Beta 1
The first signed public beta of Agent Code.
Agent Code is an open-source Electron IDE for multi-agent AI development. It runs the real Claude Code, Codex, and OpenCode CLIs you already have installed — same auth, same tools, same sessions — inside a workspace built for running many agents at once.
Downloads
- Apple Silicon —
Agent.Code-0.0.2-beta.1-arm64.dmg - Intel —
Agent.Code-0.0.2-beta.1-x64.dmg
Both builds are signed with a Developer ID certificate and notarized with Apple.
Requirements
- macOS 12 (Monterey) or later
- The
claudeand/orcodexCLIs installed and signed in — Agent Code drives the real CLIs, it does not replace them - OpenCode works today when
opencodeis on your PATH; bundling it into the app is in progress (#994)
What is in this beta
- Tiled multi-agent workspace: project tabs, Grid and Dispatch layouts, fleet management
- Provider switching mid-session between Claude Code, Codex, and OpenCode
- Custom React rendering of conversations with the raw terminal always available
- Reader Mode, rewind-to-prompt, duplicate agent, prompt templates, conversation search
- Persistent tmux-backed terminals
- Built-in MCP: TLDR/Goal status peeks (Cmd+L / Cmd+G), orchestration, workflows, transcript tools
- Remote browser companion and voice dictation
- Nord theme and public-release default settings
Known limitations
- macOS only (Apple Silicon + Intel)
- OpenCode is not bundled yet and must be on PATH (#994)
- Active beta — the upstream CLIs move quickly, and so does this project
Agent Studio Code 0.0.1 Beta
Beta build of Agent Studio Code from the successful macOS release workflow run.
Build run: https://github.com/Juliusolsson05/cc-shell/actions/runs/24928987310
Artifacts:
- arm64 DMG
- arm64 ZIP
- blockmaps
This is a beta/prerelease, not a stable 1.0 release.