feat(aterm): open agent sessions in kitty instead of Alacritty #1266
No reviewers
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agentic-os!1266
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/qu74"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Swaps
aterm's window from Alacritty to kitty. Closes the terminal question in #1264 and unblocks #1261.Why kitty, and why not Ghostty
Decided on process model rather than features, in #1264. Both terminals were installed and tested against aterm's real launch plan, with a probe inside each window querying OSC 11 and OSC 12 so branding was verified end to end instead of trusted from an accepted flag.
Ghostty's own help says CLI launch is unsupported on macOS. Spawning it exactly the way
spawnWindowdoes, detached withSetsid, left four live processes with windows open that never ran their command, no stderr and nothing to report. Its child also parents to/usr/bin/loginrather than the terminal, so aterm cannot observe a startup failure at all, which kills both propertiesdocs/aterm.mdsells.kitty launches directly on macOS, keeps the child parented to the terminal, and takes
-o name=valuein Alacritty's own flag shape.What changed in the launcher
--working-directorybecomes--directory, and the program moves to the trailing arguments since kitty has no-eseparatorwindow.dynamic_title=falseis gone: kitty's--titlepermanently fixes the OS window title against the child, which is the job that override existed to dobackground,cursor,selection_background,selection_foreground--alacritty-binbecomes--terminal-bin, readingATERM_TERMINAL_BINorKITTY_BINWhat the swap exposed
Nothing asserted the brand survived into the terminal's arguments. A flag-dialect change could have dropped every color and still passed the entire suite. Both a new unit test and the release gate now check it.
Verification
go test ./...green inatermandaos-clipre-commit run --all-filesgreenatermspawns kitty, kitty runs the_sessionstage, and the probe inside the window reportsbackground #211b28andcursor #e583f7, matching the composed frontend brandWindows
kitty ships no Windows build, so
alacritty/alacritty.tomlis retained as the Windows baseline. Pointing--terminal-binat Alacritty there needs its own flag dialect, which is not built. That is the open decision recorded in #1264: either Windows aterm is aspirational and gets dropped, or a two-terminal adapter comes back scoped to exactly two.Refs #1245, #1261, #1264