Changelog¶
All notable changes to Summon, newest first. Summon is still incubating in the SummonOS workspace.
VERSION is shared by summon, macctl and Summon.app. A base version in a development bundle does not mean
that branch's changes are published under the corresponding release tag.
Release status¶
The latest numbered release is v0.2.5 (2026-11-11). The numbered releases are published previews/prereleases,
including those selected by the Stable channel. Edge selects the published rolling edge prerelease;
its green-main workflow can publish new artifacts, but Edge is not a promise that this branch is available.
See GitHub Releases for the actual downloadable artifacts.
| Tag | Date | Included work |
|---|---|---|
v0.1.0 |
2026-10-25 | Through #77 |
v0.1.1 |
2026-10-25 | #78–#90 |
v0.2.0 |
2026-10-26 | #91–#114 |
v0.2.1 |
2026-10-28 | #115 |
v0.2.2 |
2026-10-28 | #116 |
v0.2.3 |
2026-10-28 | #117–#118 |
v0.2.4 |
2026-10-28 | #120–#121, through 3f37adf |
v0.2.5 |
2026-11-11 | #124, 90f7b81 |
2026-11-11 (unreleased)¶
Fixed¶
- Ask Agent no longer fails silently. When the agent's terminal cannot open, Summon posts a notification and
Activity logs "Could not open
" with the fix. A refused Apple Event ( -1743) points to System Settings › Privacy & Security › Automation › Summon; a launch that runs out of time says macOS may be waiting on a dialog. - Ask Agent's screen context (browser page, Finder selection) gives up after 5 s instead of 60 s, so an unanswered Automation dialog for that app no longer stalls the launch.
- Settings › health checks Summon's Automation permission for the agent terminal (Ghostty, Terminal) without prompting: refused fails with the fix, not yet asked warns.
2026-11-11 (v0.2.5, #124)¶
Fixed¶
- Native About explicitly unhides and raises AppKit's singleton on cold accessory launch and reopen
(
18c7688). One earlier native attempt had no observable About window; this correction is not a claim that all cold-launch/window-server acceptance scenarios have since passed.
Verification tooling and recorded evidence¶
- The disposable UI audit exercises a 13-report equal-timestamp crash burst through the real watcher across five-file batches. Recorded native evidence shows the newest report plus “12 more new reports”, native Dismiss and subsequent typed search. Cleanup removes only its owned fixture files; this is not macOS banner or VoiceOver verification.
- Native audit launches pass the fixture home explicitly, scope existing-app refusal to the current account, and target URL actions at the candidate bundle. Post-warmup live malloc samples are distinct from RSS and retained-graph analysis; missing samples cannot pass acceptance.
- SwiftUI recorder completion/content, comparative GUI profiling, actual displayed-frame timing, full retained memory analysis, native notification delivery, VoiceOver and Reduce Transparency remain acceptance gates. See the runtime evidence.
Documentation¶
- Reconciled the public overview, native panel contract and UX implementation audit against current source and commit history. Documented distinct launch/connect/headless agent sets, the Updates window and channels, nine starters, scoped recovery, six-category My Apps repair/recommendation health and live accent behavior. Superseded Now/Recent/search-hidden designs remain history rather than current UI promises; documentation changes do not constitute a fresh runtime or accessibility pass.
2026-11-10 (v0.2.5, #124)¶
Fixed¶
- Opening the panel is lighter: it resets while hidden instead of during the open, and background Activity updates no longer re-render the whole panel.
- Summon's controls now follow the active theme accent immediately. Both Style and My Apps theme entries use the model's active selection and previous-theme tracking; choosing a preview no longer reports “Applied!”.
- Theme application uses macctl's live color-refresh notifications. Finder's Automatic folder tint follows the
system accent; explicit folder colors remain untouched. Catppuccin's accent/active border use mauve (
#cba6f7) as requested, without changing its other palette colors. - My Apps now uses the same six categories in the panel and Settings, including empty categories.
- Built-in themes remain visible alongside custom themes; Art & Wallpapers is included in the panel inventory. A shared summary counts each repairable item once, separately from theme/readability and optional-art recommendations.
- Theme and art entries no longer dispatch as a project when their names match a registered app.
- Theme checks distinguish contrast findings from terminal-hue preferences. All numeric diagnostics remain available for review; missing optional wallpapers are not repairs, and preset palettes are not automatically rewritten.
- Project checks recognize PascalCase
.appand.saverbundles plus actual cached CLI executables, eliminating false Needs Build warnings and rejecting empty build-cache directories as proof of a built tool. - My Apps' Fix with AI now targets the counted inventory defects;
summon fix --appsprovides the same scope. General Mac diagnostics remain a separate action. Theme lint failures no longer get mislabeled as invalid JSON.
2026-11-08 (v0.2.5, #124)¶
Added¶
- A native About Summon panel from Settings and the standard About command, with the shared staged build identity: base marketing version, numeric build, revision, channel, configuration and UTC build time.
- A guarded Core lifecycle audit and disposable-runner GUI audit; the packaged check validates signatures, compiled version/plist/manifest consistency, and a real Core completion fixture.
Fixed¶
- Scheduled task outcomes are bounded, identified and projected consistently across CLI, Activity and notifications; cancellation, timeout, interruption, preflight failure and notification failure remain distinct. Recovery does not append a contradictory interruption after a committed terminal event.
- Cleanup ranks UUID logs by actual modification time, protects active/pending runs under a per-task lease, and leaves automatic cleaning due on busy or failed candidates. Partial Trash failures surface to the CLI.
- The panel uses a shared, off-main, generation-checked activity refresh while visible; event watching handles replacement and out-of-order completion. App-owned work and observers stop explicitly at shutdown.
- Build metadata is generated only in staged sources; installer verify-only is nonmutating, and build/install cleanup retains failure diagnostics and rollback evidence.
- File watches reconcile state once registration completes; actual change tests wait for readiness and events instead of assuming delivery after 300 ms. Settings exposes the About action by its own accessible name. Native About temporarily enables regular-window activation; GUI audits verify exact owned-window keyboard dismissal with bounded deadlines and retain structured failure/prerequisite evidence.
- Interprocess leases release explicitly and idempotently at operation boundaries, rather than relying on ARC to close their descriptors before notification delivery. Profiling waits for actual recorder readiness and measures real owned status-item input; duplicate-titled windows are identified by public title plus geometry.
Historical October entries¶
The dated entries below preserve what changed at the time, including layouts, defaults and verification limits that later changed again. They are not the current feature contract; use README.md and the panel reference. In particular, Now/Recent panel content, the old Update folder and the three-step welcome flow were superseded. Only the release table above maps those days to numbered tags.
2026-10-28¶
Changed¶
- Summon does less while it sits in the menu bar. The menu bar label wakes on event log changes (a kqueue file
watch) instead of every second, and ticks only while it shows an agent's clock. New crash reports are found
through a folder watch; the poll is a 5 min fallback. The periodic Mac check reads only power, disk and network
(not 99 crash reports, the frontmost window and every agent CLI), once a minute with slack for macOS to group
wakeups. The 10 min
summon doctorbecame 30 min and reuses the lastmacctl doctor. Updates are checked a day after the last check and never in Low Power Mode. Theme cards decode a small wallpaper thumbnail. - Apps Summon builds idle cheaper. The templates' permissions page checks again when you come back to the app and
every 3 s (was every second); the HUD stopwatch stops redrawing while the HUD is hidden; the launcher keeps its
app list and rescans only when an app folder changes or every 5 minutes, at utility priority; every
scripts/bundle.shstrips local symbols before signing (the release binary is about half the size). - The
mac-appskill has an Efficiency section (events over polling, timer tolerance, nothing ticks while hidden, light launch), andmac-app-testhas an idle step: 60 s alone, CPU time and idle wakeups measured.
Fixed¶
- The menu no longer hangs while a File Provider (OneDrive, iCloud) is busy: the Mac snapshot's file checks run off the main thread, and a stuck one skips its next rounds instead of piling up (#119).
- Only one Summon runs at a time: a second copy (a dev build with the same bundle id) activates the running one and quits.
Added¶
- Siri, Shortcuts and Spotlight: Ask Summon, What Needs Updating, Update Everything, How's My Mac and Run Menu
Item.
scripts/bundle.shwrites the App Intents metadata SwiftPM leaves out. - A failed update row has Fix with AI: your agent gets the command and the end of its output, fixes the cause and runs the update again.
Fixed¶
- Clicking an Update row did nothing: the rows had no shell action, and the panel ran only rows with one. They now install (the panel stays open and shows progress) and search finds them (#115). Released as SummonOS 0.2.1.
- An Updates window replaces the panel's Update folder: every update with its own Update button and live state, output on failure, Open in Terminal for a password, Update All per section, What's New and Skip This Version, one notification per new set. The old Update Homebrew Apps row, which started a whole agent session just to run brew, is gone (#115).
ExcUserFault_*reports (EXC_GUARD user faults: the process kept running) no longer notify; they stay in Activity (#115).
2026-10-26¶
Added¶
- The app updates itself (#114): it checks at launch and daily, and one click installs with the same verified,
rolled-back install as
summon update, then relaunches. The panel's Update folder is back under Make Something with Summon, Agents, Homebrew, bun & npm and macOS updates, each tagged "New x.y.z". Crashes became notifications instead of a panel row. Released as SummonOS 0.2.0. - A first-run welcome window: choose the agent, allow Accessibility (live status), then see the menu bar icon and
⌃⌥Space; Done opens the panel. Shown once, skipped by closing it, and never on an update that is already set up.
Settings › General › Show Welcome Again and
summon://welcomereopen it. summon project new <name> --kind widget: a desktop and Notification Center widget (a countdown to a date set with Edit Widget, small and medium, a live timer on the day) and the one-window app that carries it. Logic and views are a Swift package; a smallXcode/project builds the app and the sandboxed widget extension, the one template with an.xcodeproj(owner's decision). Make Something › New Widget.
2026-10-25¶
Added¶
- Three new project templates, one per UX surface:
summon project new <name> --kind launcher(a ⌥Space command bar over any app: pre-warmed panel, fuzzy app search, ⌘1–9, ⌘K actions, file drop),--kind hud(an always-on-top stopwatch pill that never takes focus, thrown to the nearest corner),--kind notch(a drop shelf that grows out of the camera housing, with a fallback on screens without one). Make Something has a menu item for each. - Templates follow the UX surface rules: every Settings window is close only and 480 pt; the window app has an
inspector, ⌘F search, context menus and undoable deletes from 800 × 550;
menubar-panelhas a right-click menu and "Show in menu bar";appandmenubar-panelopen a first-run welcome window once (Settings shows it again). - One canonical template set in
templates/{menubar,menubar-panel,app,cli,screensaver}with a shared kit (menu rows, Summon theme, Liquid Glass controls, Open at Login, app icon,--screenshot);examples/is gone andtools/mp new --kind <kind>copies these templates. Every template has ascripts/test.sh(#95). summon agents install/summon agents update [--check]: install coding agents with bun (npm agents) or the vendor script, and update each the way it was installed (brew, cask, bun, npm, vendor updater) (#94).summon update [--channel stable|edge] [--check] [--yes], and a rollingedgeprerelease built after every greenmain;install.sh --channel edgeinstalls it, never by default (#89).- Visual QA screenshots every Settings page, Activity and the crash alert;
summon://settings/<section>opens a Settings page (#91). - CI: CodeQL for Swift, a privacy scan, Dependabot for pinned actions, and a post-release smoke test (#88).
- SummonOS 0.1.1 (#78 to #90): undo any agent's session (MCP checkpoints, one "Undo
Session" row), the agent hotkey starts the agent with what is on screen, Accessibility in one click, summon connectsession hooks record Claude Code and Codex sessions in Activity,summon theme setthemes the whole Mac (accent, VS Code/Cursor, Neovim) with one undo, checkpoint undo removes the files a theme created, live Mac events (mac.*,summon events --follow, MCP toolmac_events). - SummonOS 0.1.0 (#72 to #77):
summon context(one snapshot of this Mac for agents),summon mcp(an MCP server with 10 tools),summon connect/disconnectfor every installed agent, session-start hooks, oneVERSIONwithsummon --versionandmacctl --version, and the release workflow with checksum-verified binary installs.
Changed¶
- Minimal panel: Needs attention, Now, Recent and three actions; the rest by search or Settings › Setup; Liquid Glass, 320 pt; no agent clock in the menu bar by default (#96).
- UX quick wins: Needs attention in the panel with an agent picker, one Settings window without header blocks, undo asks "Restore N Changes" with Cancel as the default, orange menu bar icon for problems (#93).
summon default reposdefaults toask: no GitHub repo untilsummon project repoand its dialog; a savedalwaysis kept. Themac-appskill is exact steps (#92).
Fixed¶
- Settings: only the close button works (minimize and zoom dimmed, no full screen, per the HIG), and the window is 780–820 pt wide instead of 860 or more.
- The crash alert stays out of Mission Control, ⌘` and the Window menu.
- VoiceOver reads a menu entry's health badge; the dot was color only.
docs/ux-audit.md: every Summon surface checked against the UX surface table.
2026-10-24¶
Added¶
- Every prompt Summon gives an agent ends with a
## Summon sessionblock: working folder, checkpoint id and undo command, approval mode, skill files; scheduled runs are also told nobody is watching and to end with a summary. - Settings › Notifications: show crashes as a Summon alert or a macOS banner, task result notifications, sound.
- Task results are posted by Summon.app with Show Log and Ask Agent (a plain banner only when the app is not running).
- The menu bar icon shows a running agent's elapsed time (
mm:ss, monospaced) with the panel closed; Settings › General › Menu Bar turns it off. Its VoiceOver label names the agent and how long it has run. - Opening the panel with ⌃⌥Space or a
summon://URL is announced to VoiceOver.
Fixed¶
- The crash alert took keyboard focus, so Return typed into another app could start Diagnose; it now appears without focus. Each crash no longer shows both a banner and the alert; a burst shows one alert, banners group.
- Banner sound never played (no sound was set on the content).
- Prompts: Fix with AI lists failures first and asks before risky steps; item-health and Activity prompts mark logs
as evidence; the crashed-app prompt and
diagnose-crash-macagree that the user's own apps may be fixed. - Skills:
summon-macno longer names the owner, describes both approval modes, and has the right task log folder (~/Summon/Tasks/<id>); undo commands are the same in every skill.
2026-10-22¶
Added¶
summon-migrateSkill & Project Import Commands:- Added new
summon-migrateskill to guide migrating external Mac apps and legacy plugins into~/Summon/Apps/<name>. - Added
summon project import <path>to copy and register external apps, auto-detecting app kind and Git remotes. - Added
summon project register <name>to register existing folders in~/Summon/Apps/. - Migrated
mac-network,mac-calendar, andmac-breatheinto first-class Summon apps in~/Summon/Apps/. - Health Engine & "Fix with AI" for Apps, Themes, and Art:
ItemHealthengine automatically audits every app project, theme, and art job in real time.- Per-item "Fix with AI" triggers dispatch targeted prompts directly to the user's default agent using
summon-art,summon-mac, ordiagnose-crash-macskills. - Comprehensive art inspection checks App Icons (
Resources/AppIcon.icns), UI screenshots (docs/screenshots/), theme wallpapers (~/.config/summon/themes/<slug>/), and~/Summon/Artjobs. - Added
summon fixCLI command and interactive "Fix with AI" button in Settings › General diagnostics. - My Apps in Settings:
- Dedicated "My Apps" section in Settings with panel-matching drill-down navigation (Panel Apps, Window Apps, Themes, Art & Wallpapers, CLI Tools, Screensavers).
- Shows live health badges, status summaries, open in Finder/GitHub shortcuts, and instant theme preview dots.
- Active Theme Pill in Panel:
- Header displays a pill badge with the name of the currently active theme alongside the Summon title.
Fixed¶
- Panel Back Navigation:
- Replaced static chevron image with an interactive, hover-highlighted Back button in the panel search bar.
Escapekey inside submenus pops back to parent level instead of abruptly dismissing the panel.Delete/ Backspace on empty search query navigates up one level.- Robust dotted-ID popping prevents getting stuck in nested levels.
- Dedicated Windows for Settings and Activity:
- Settings and Activity now open in standalone foreground
NSWindows centered on the active display, avoiding panel focus theft or background placement. - Binary Precedence for Agent Tool Locators (#67):
- User-installed binary directories (
~/.bun/bin,~/.local/bin,~/.cargo/bin) strictly precede/opt/homebrew/bin, fixing conflicts where outdated Homebrew agent binaries (e.g., OpenCode 1.15) were invoked instead of modern Bun tools. - Process Buffer & Checkpoint Protection:
- Expanded child process execution output buffer from 1MB to 16MB.
- Sanitized and truncated checkpoint problem records to 2,000 characters to prevent checkpoint store bloat.
2026-10-21¶
Added¶
- Command-Return / Option-Return Panel Agent Quick-Launch (#65):
- Option-Enter / Command-Return from the menu bar panel opens the user's default agent in terminal directly from
~/Summon. - Added "My Apps" section organized by template categories to the menu bar tree.
- Theme Preview with Wallpaper and Undo (#66):
- Settings › Appearance renders live 16:9 theme wallpaper previews with an Undo button to revert to the previous theme.
- Added one-click auto-installers for Ghostty and kitty terminals via Homebrew.
- Visual QA CI (#64):
- Automated visual screenshot testing on macOS 26 and 15 runners.
2026-10-20¶
Menu bar panel (draft)¶
MenuBarExtrais replaced by anNSStatusItem+ nonactivatingStatusPanel, owned by onePanelController. The panel takes typing without activating Summon.- The launcher is merged into the panel: its search field and menu tree are now at the top, the launcher window is
gone, and ⌃⌥Space and
summon://menu/<id>open the panel. - Left click opens it. Right click shows Settings…/Quit Summon, which the footer also keeps.
- It opens from
summon panel [--close]andopen -g summon://panel[/close]. These URL/CLI opens don't focus the search field, and Return is ignored for 300 ms after any hotkey or URL/CLI open, so stray typing can't run an entry. Asummon://URL that launches Summon is queued until the panel exists instead of being dropped. - It refreshes every second while open, and the agent row shows elapsed mm:ss.
- It closes only on spec section D triggers, including D12: the crash alert closes the panel first, then takes key.
Every close logs the active monitor count, and the B1 open is an
os_signpostinterval plus a log line measured from mouse-down (≤ 200 ms warm). Both use thelocal.macplugins.summon/panelLogger. - The crash alert also uses
.statusBar. Settings marks shortcuts another app owns. PanelFixture=tallis a debug-only fixture; build one withscripts/bundle.sh --debug. Seedocs/menubar-panel.md.WindowTopPinnerandLauncherVieware gone.
Security and recovery¶
- Validate theme text and wallpaper containment; preserve foreign skill links and record owned links.
- Persist checkpoint capture failures without advertising a stale Git commit; scheduled work stops on capture failure.
- Use bounded/cancellable process groups, hard deadlines, bounded private logs and nonzero failed-task status.
- Preserve corrupt task/agent state; serialize task scheduling and Activity writes; drain crash bursts without the five-report loss.
- Add Agent controls / Unattended execution preference, preserving existing choices and freezing new task bindings.
- Redact known diagnostic identifiers/credential labels before export; redaction still needs human review.
- Stage installations with rollback, record ownership for uninstall, and support exact-source releases and optional notarization.
- Exclude the development crash-test URL route from release builds.
2026-10-19¶
Added¶
- Every new app gets a private GitHub repo.
summon project newcreates it right away (screenshots, CI, first push) under a standing approval: Settings › General › "Create a private GitHub repo for every new app" (on by default;summon default repos always|ask). With it off, Summon's dialog asks each time. Repos are always private. If gh is missing or not logged in, the app is still made and Summon says how to finish (summon project repo). The mac-app skill and the/summon:new-*commands now tell agents to make sure the repo exists. - Screenshots of every app, and a showcase.
summon project shots <name>builds the app and saves light and dark pictures todocs/screenshots/, adds a Screenshots section to its README and commits;summon project reporuns it before the first push. Menu bar apps from the template draw their own panel off-screen (<App> --screenshot), so it works even when the menu bar is full; window apps are captured live with ScreenCaptureKit.summon showcasewrites~/Summon/Showcase/index.html, a gallery of every app (light and dark). - Keeping ~/Summon tidy. Once a day (and with Settings › General › Clean Now…, or
summon clean --apply) old Summon files go to the macOS Trash: task logs beyond the newest 20 or older than 30 days, a removed task's folder after 7 days, art jobs untouched for 30 days, Antigravity originals after 14. Apps are never touched; unknown apps, themes without a wallpaper and broken theme files are reported.summon cleanalone previews. summon theme check <slug>says why a theme does not appear intheme list.- Plugins in Settings › Agents. Each agent's installed plugins (Codex: its MCP servers) and Add, which runs the
agent's own installer (OpenCode: added to
opencode.json, backup kept). Shared plugins: Summon's catalog, starting with OpenLTM, installs the right build into every agent (Install in All) and hands a broken one to your agent (Fix…). CLI:summon agents plugins|plugin-add,summon plugins [install|fix]. - Recent Problems archive themselves. The panel shows a report for 24 hours; Diagnose… archives that app's reports; Clear archives the rest. Activity keeps the full history.
- Settings › Agents knows each agent's account and models. It asks the agent's own CLI: logged in or not (with
Log In…, which opens that agent's login in a terminal), and the real model list as suggestions in the Model field
(Antigravity 13, Pi ~470; Claude Code's aliases). Each skill shows its description. CLI:
summon agents status <agent> [--json],summon agents login <agent>,summon skills list --json. - Tasks by conversation.
summon task new "<what you want>"(or Agent › Schedule a Task…, or "summon, every morning…" in a chat) opens the agent, which asks what is unclear, writes the run prompt and adds the task. - Local CI:
tools/local-ci.sh <pr>builds and tests every package on the Mac and posts the result on the commit. summon doctorchecks recurring tasks: each needs its LaunchAgent and an agent that can run unattended (from #40).- Recurring agent tasks.
summon task add "<prompt>" --at 09:00 [--weekdays]or--every 2h, withlist,runandremove, plus a Tasks tab in Settings. Each task is a LaunchAgent that runs the agent unattended after a checkpoint, logs every run, and reports in Activity and a notification. (#41) summon://settingsopens the Settings window. (#35)
Changed¶
~/Summonis the one home for everything Summon and its agents make:Apps/(apps from the templates),Art/(wallpaper and icon jobs, every candidate),Tasks/(recurring task results), andThemes(a link to~/.config/summon/themes). A.gitignorekeeps the generated parts out of git.summon home(also run at install and on every launch) sets it up and moved older files in: art from~/Downloads/summon-artand~/Downloads/summon-wallpapers, task logs from~/.local/state/summon/tasks, apps from~/Summon/<name>. The art skill now generates into~/Summon/Art/<job>/.- Settings › Agents redesigned (after Hermes's settings, lean): the agents on the left with a status dot and
Default, All Agents on top (default agent, where agents open, the skills every agent gets, shared plugins),
and the same sections for every agent: Account, Model (picked from that agent's list, or Custom…), Skills
("Same as All Agents" or Custom, with Use All Agents), Plugins (installed, OpenLTM as a recommended Install /
Fix…, Add). The Terminal tab moved into All Agents. CLI:
summon agents defaults [--skills a,b | --all-skills]. - Settings uses toolbar tabs (General, Agents, Terminal, Notifications, Appearance, Tasks) instead of a
sidebar. Short tabs fit their rows; the
summonrouter skill cannot be switched off for an agent. (#35) - Settings › Tasks is view only (schedule, agent, last result); tasks are made by describing them to the agent.
Fixed¶
summon project shotshung on an app made before the template's--screenshotmode (it launched and never exited); that call now stops after 20 seconds and falls back.- Agent-made themes were silently skipped. The art skill said "work in OKLCH" but not that
theme.jsonmust hold#RRGGBB; agents wroteoklch(…)and//comments, and their palettes had an accent darker than the background and sixteen shades of one blue. Theme files now acceptoklch(L C H)(converted to hex for every app);summon theme checkalso checks contrast and that the terminal's red is red, and the skill shows a complete file and requires a clean check beforetheme set. Hearts Valley and Prance Coffee were rebuilt and now appear. - Summon Dawn's bright cyan was 2.3:1 on its background; now #0077A3 (4.6:1).
- Low-memory (Jetsam, bug_type 298) reports showed as a "Hang" named after the file (hangs are bug_type 288). They now name the process macOS stopped and why ("knowledgeconstructiond · Stopped · over its own memory limit"), not the biggest bystander; routine kills (over its own cap, idle) are listed but not announced.
- Clicking a Recent Problems row runs Diagnose, like its button.
- Summon found an old Homebrew OpenCode (1.15) before your bun one (2.0); your own folders now come first, as in your shell.
- Ask Agent with Pi (or any
#!/usr/bin/env nodeagent) failed in Ghostty withenv: node: No such file or directory: Ghostty starts commands with a bare PATH. Agents now run through your login shell (zsh -lic 'exec "$@"' …), so they get the PATH your terminal has;~/.bun/binis searched too. summon project repo: the private-repo approval dialog closed itself after ~2 s; it now stays open until answered. (#43)summon://activity(and the newsummon://settings) never opened anything: the opener sat on the menu bar icon, which macOS draws as an image. It now lives in an invisible window. (#35)
2026-10-18¶
Added¶
summonrouter skill. Say "summon, build a web app" to any agent: the skill picks the right one ofsummon-mac,summon-art,mac-app,diagnose-crash-mac,mac-logs, or the agent's own skills. (#32)- Per-agent model and skills.
summon agents set <agent> --model … --skills …, saved in~/.config/summon/agents.json, and editable in Settings › Agents. (#33) - Skills in every agent.
summon skills linklinks Summon's skills into each agent's own folder (Claude Code, Codex, OpenCode, Antigravity, Pi); it runs on install and on every app launch. Prompts also carry the skill file paths for agents without a skill mechanism. (#29) summon-artskill: themes, wallpapers and icons that are art-directed (mood, three concepts, a palette with a contrast check, Nano Banana images, review before you see them). (#30)- Pi as an agent. (#31)
- kitty as a terminal (
summon default terminal, Settings › Terminal, Install › kitty,kitty.conffrom every theme); muted apps with Unmute in Settings. (#27) - Activity window as a simple log: one line per event, oldest first; select lines and ask the agent about them; right-click to copy, diagnose or undo. (#28)
summon doctor: checks the install, config, agents, skills, macctl and project templates. (#36, #39)- Projects from templates in
~/Summon(menu bar app, window app, CLI tool, screensaver). (#37)
Changed¶
- Agents launch with permission prompts bypassed (Claude Code
--dangerously-skip-permissions, Codex--dangerously-bypass-approvals-and-sandbox), always behind a checkpoint. (#26) - Leaner menu bar panel (actions, and problems only when there are some) and a short Settings window. (#26)
- The previous
summonskill (Mac customization) is nowsummon-mac. (#32)
Fixed¶
- One agent launch opened a second Ghostty app; it now opens one new window in the running Ghostty. (#26)
- The crash prompt pointed agents at a skill file that did not exist. (#29)
2026-10-17 and earlier¶
-
Where it started: mac-assistant (2026-10-03), a diagnostics assistant with a policy broker and typed tools. Archived at the tag
archive/mac-assistant. -
The
summonCLI and the Summon Menu app (#13), the Activity event log, timeline and window (#22, #23), Claude Code plugin session hooks (#24), themes, wallpapers, the logo and desktop configs (#12), and theme wallpapers throughmacctlso undo restores them (#18).