Skip to content

Releases: macOS26/Agent

🦾 Agent! 1.0.68 (Build 156)

14 Apr 21:58

Choose a tag to compare

✨ 🦾 Agent! What's New in 1.0.68?

image

🔧 diff_apply Reliability

  • Fixed truncation bug: source is now spliced into the file instead of replacing entire content
  • Fixed LLMs sending diff-formatted input to diff_apply
  • Replaced force-unwrap with safe if-let in range note parsing
  • Updated AgentTools to 2.50.7 with truncation fix
  • Bumped prompt revision to 86 for improved diff_apply prompting

🧠 Apple Intelligence Fixes

  • Fixed non-agent tool names being misrouted to run_agent
  • Tightened run_agent trigger to exact phrase match only
  • Fixed duplicate log entries for accessibility tasks

🖥️ UI Improvements

  • Paste chips: Long Cmd+V pastes now appear as removable preview chips instead of flooding the text field
  • Tab labels: Main tab shows current model name; LLM tabs preserve raw model casing
  • Per-tab usage: Added individual usage breakdown to each LLM tab
  • Log formatting: Multi-line messages now drop below the timestamp on their own line

🧹 Code Quality

  • Consolidated vision model detection into shared isVisionModel() (removed two duplicate private methods)
  • Summarized verbose comments across 10 source files
  • Skipped suggestion matching for long inputs to prevent main-thread stalls
  • Fixed tool output formatting (newline prefix and :0:0 warning cleanup)
  • Added iteration cap enforcement

🚀 Agent! v1.0.67 (Build 155)

14 Apr 04:33

Choose a tag to compare

What's Changed

image

🤖 Apple Intelligence

  • Use Apple AI itself to classify follow-up prompts
  • Persist accessibility agent session across turns
  • Disable shell and applescript tools for Apple AI — accessibility only
  • Better app name recognition — fixes Photo Booth confusion
  • Teach Apple AI accessibility agent to discover button labels before clicking
  • Verify Apple AI tool outputs before claiming success — forward to LLM on failure
  • Log Apple AI tool actions to activity log — expose what Apple AI does
  • Harden Apple AI triage — never claim completion on failure or uncertainty
  • Fix Apple Intelligence isEnabled defaulting to false
  • Fix: inject previous conversation turn into Apple Intelligence rephrase prompt

🛠️ Agent Scripts

  • Fix agent script run routing: script tabs run on same tab, main tab spawns separate tab
  • Fix AgentScript.swift: restore missing function declaration, compileCmd guards, and closing braces
  • Route Apple Intelligence tool logs to correct script tab
  • Pass project folder to Apple AI shell tool — fixes "not a git repository"

🔒 Security & Guardrails

  • Add action_not_performed guardrail at app and prompt layers
  • README + SECURITY.md: document action_not_performed three-layer defense
  • README: add Tool Execution Gating to Defense Layers

⚙️ Internal

  • Bump version to 1.0.67 (build 155)
  • Version bump to 1.0.65 (build 153)
  • Version bump to 1.0.64 (build 152)
  • Fix bump_version/get_version to use selected project instead of Xcode open documents
  • README updates and improvements
    Full Changelog: 1.0.61.149...1.0.67.155

🚀 Agent! v1.0.65 (Build 153)

13 Apr 20:13

Choose a tag to compare

What's Changed

Version Management

  • Bump version fixes — bump_version/get_version now correctly uses the selected project instead of Xcode open documents
  • Version bumps: 1.0.64 (152) → 1.0.65 (153)

Security & Safety

  • action_not_performed guardrail — three-layer defense against false-action claims (app layer, prompt layer, documentation)
  • README + SECURITY.md updated to document the action_not_performed defense layers

Apple Intelligence Hardening

  • Verify Apple AI tool outputs before claiming success — forwards to LLM on failure
  • Log Apple AI tool actions to activity log for transparency
  • Harden Apple AI triage — never claim completion on failure or uncertainty

Documentation

  • README: Tool Execution Gating added to Defense Layers section
  • README: Tip Jar section added

Full Changelog: https://github.com/toddbruss/Agent/compare/1.0.61.149...1.0.65.153

🚀 Agent! v1.0.61 (Build 149)

12 Apr 06:52

Choose a tag to compare

🦾 Agent! Agentic AI for your  Mac Desktop (or Laptop)

Agent! Requires macOS 26.4 or later. M series preferred for Apple Intelligence. We don't know if Apple AI works on Intel. Also Apple AI is not supported inside a Mac VM. It's optional, but does help move things along by doing several tasks locally, saving you some tokens.

image

🔧 Bug Fixes

  • Fix double echo — skip appendLog for shell commands that already streamed output
  • Remove tool result cache — eliminate read loop blocker that caused stale responses
  • Remove file read dedup cache — LLMs work around stub responses anyway; cleaner tool flow

🧠 Apple AI Improvements

  • Skip accessibility triage for file-path and coding prompts — faster task routing
  • Add ! bypass prefix — force Apple AI to skip triage when you know what you want
  • Add AppleScript + shell tools alongside accessibility for Apple AI agent

🖥️ UI & UX

  • Propagate parent tab project folder to spawned script tabs — scripts inherit the right working directory
  • Add provider tooltip to LLM Usage popup model rows — see which provider serves each model

📖 Documentation

  • Add Defense Layers section to README covering security features
  • Add build-without-developer-account instructions + build.sh script
  • Add emojis to toolbar icon table, remove SF Symbol text names
  • Fix GLM model sizes — 744B/754B MoE, not 32B
  • Clarify GLM-5/5.1 are cloud-only (may be possible to run FP8 locally); GLM-4.7-Turbo (32B) runs locally

⬆️ Upgrade Notes

  • If upgrading from v1.0.60, no migration needed — settings and tabs are preserved.

Agent! v1.0.60

11 Apr 18:44

Choose a tag to compare

🦾 Agent! Agentic AI for macOS 26.4+  Mac

image

🖥️ Agentic Ai for your Apple Mac Desktop or Laptop

🍎 Works with macOS 26.4+

⚡ Improvements

🔄 Fallback chain: trigger after 2 failures instead of 3 for faster recovery
🚦 429 handling: record every failure with fallback chain, flat 10s retry (3 attempts × 10s)
📝 429 logging: log actual API response body + add clearRetryAfter helper
🤖 Z.ai: proper dual-API URLs — code and vision endpoints registered separately
🧠 BigModel: same dual-API URLs as Z.ai (code + vision endpoints)
🍎 Apple AI triage: don't intercept shell commands (open, ls, git, etc.)
🖥️ FallbackChainView: show model display name (with -Code suffix for Z.ai)
🔀 Per-tab provider: sync Settings picker to active tab's LLMConfig
🔧 Model refresh: consolidate 3 model-refresh functions into 1 fetchModelsIfNeeded(for:force:)

🐛 Bug Fixes

🍎 Apple AI refusal: fix not falling through to cloud LLM
📦 batch_commands: remove per-step delimiters, run as single script
🔄 batch: fix duplicate output + guard empty git branch name
📱 manage_app: fix action overwrite + read app from input[app] too
✏️ edit_file: show line numbers in activity log status line

🏗️ Refactoring

📂 Organize AgentViewModel + Views into subfolders, strip redundant prefixes
✂️ Shorten multi-line comments across 94 files (-460 lines)
📏 Wrap long lines across project with SwiftFormat
⬆️ Bump to macOS 26.4+ with 5 new Apple FoundationModels features
🔨 Upgrade to Xcode version bump docs

🚀 Agent! 1.0.59 (Build 147)

10 Apr 03:05

Choose a tag to compare

🚀 Agent! 1.0.59 (Build 147)

image

LLM / Provider Improvements

  • 429 Fallback Chain Overhaul: Fallback now triggers after 2 failures (down from 3) with a flat 10s retry, so the chain fires within ~30s instead of retrying forever
  • 429 handling: Every 429 failure is now recorded against the fallback chain, not just after 3 consecutive failures
  • 429 debugging: Log the actual API response body on 429 errors and add clearRetryAfter helper
  • BigModel: Same dual-API URLs as Z.ai — code and vision endpoints registered separately
  • Z.ai: Proper dual-API URLs for code and vision endpoints
  • Apple AI triage: Don't intercept shell commands (open ., open /path, ls, git, etc.) — let them pass through to the shell handler
  • Per-tab provider: Sync Settings picker to the active tab's LLMConfig so each tab can use a different provider
  • Model refresh consolidation: Route all model-refresh calls through a single fetchModelsIfNeeded(for:force:), replacing 3 separate functions
  • FallbackChainView: Show model display name (with -Code suffix for Z.ai)

Tool / Infrastructure

  • batch: Fix duplicate output and guard empty git branch name
  • batch_commands: Remove per-step delimiters, run as a single script for cleaner output
  • Remove read guard snap-out: LLMs need unlimited reads for project research

Version

  • Version bump to 1.0.59 (Build 147)

🚀 Agent! 1.0.57.145

09 Apr 17:53

Choose a tag to compare

What's new with Agent!

image

🧠 Apple Intelligence & Foundation Models

  • macOS 26.4+ Upgrade — Deployment target bumped to macOS 26.4 with 5 new Apple FoundationModels features:
    • 🔢 contextSize — Dynamic context window from SystemLanguageModel (replaces hardcoded 4096)
    • 📊 tokenCount(for:) — Precise token counting for tiered compaction (replaces ~4 chars/token estimate)
    • 🔥 prewarm() — Pre-warm on-device model at app launch for instant first response
    • 🎛️ GenerationOptions — Greedy sampling for triage, low temp for annotations
    • 📝 Transcript — Expose session transcript for context inspection
  • 🔄 Refusal Fallback — When Apple Intelligence responds with "I'm sorry" or "I'm unable" after calling the accessibility tool, it now falls through to the cloud LLM instead of showing the refusal as a successful result

🏗️ Architecture & Codebase

  • 📂 ViewModel Reorganization — AgentViewModel split into 9 subfolders (Core, Helpers, Messages, NativeToolHandlers, TabHandlers, TabTask, TaskExecution, TaskUtilities, Features)
  • 🎨 Views Reorganization — Views split into 9 subfolders (ContentView, ActivityLog, Input, Settings, Header, Tabs, Output, Shared, Tools)
  • ✂️ Naming Cleanup — Stripped AgentViewModel+ prefix from 57 files, ActivityLogView+ from 8 files
  • 🗑️ Removed Duplicates — Deleted 2 duplicate files (ContentView+Popovers, ContentView+Tabs)
  • 📜 Script Service — New script service infrastructure

🐛 Bug Fixes

  • 🔧 manage_app Fix — Fixed action overwrite bug where the ax_ prefix handler destroyed the list default. Both handlers now read sub_action first, then fall back to action. Also reads app name from both input[app] and input[name] since models pass it either way

📚 Documentation

  • 📖 Xcode Version Bump Tools — Added version bump tool documentation to README

Full Changelog: v1.0.55-release...1.0.57.145

Agent! 1.0.52.139

07 Apr 18:38

Choose a tag to compare

🦾 Agent! 1.0.52 Agentic AI for your  Apple Mac Desktop

image

🛡️ Anti-Confabulation & Reliability

  • 🧠 Anti-confabulation: dedup tool names, prune aliases, harden read guard, add prompt rule
  • ✏️ Edit reliability: drop truncation guard, add cache invalidate + no-op detect
  • ✂️ Diff truncation guard + plan-mode unblock
  • 🔧 Stuck-edit nudge: lower threshold to 3, make it actionable, cover tab tasks

✨ Code Quality

  • 📏 Break long code lines across ToolsView, ScriptService, Models, OpenAICompatible, Ollama, CodingService, AgentViewModel, FileTools, TabHandlers+Core
  • 📏 Break long code lines in AgentViewModel+SubAgent, +TaskExecution, +TabTask
  • 📏 Break long Set literal in ToolPreferencesService, paragraph in AboutSelf, signature in ChatModels
  • 🧹 Drop dead planActive variable from main + tab task loops
  • 🧹 Cleanup: dead mode handlers + drop empty Copy Agent Resources build phase

🖥️ UI Improvements

  • 📋 ToolStepsView: persist expanded state across Cmd+B and new steps
  • 📜 LLMOutputTextView: don't snap to bottom on mouse-exit when not streaming

♿ Accessibility

  • 🎯 AXorcist-only — drop every coordinate-based caller in the Agent app
  • 📸 AgentAccess — screenshots no longer block main thread
  • 🚀 AgentAccess — openApp now calls forceLaunchAndActivate
  • ⏪ AgentAccess — byte-for-byte revert to working 2.6.0 launchIfNeeded
  • 🔙 Pin AgentAccess — restore NSRunningApplication.activate for docked apps
  • 🔧 Pin AgentAccess — launchIfNeeded uses Element.showWindow()

📜 Agent Scripts

  • ⚙️ agent_script compile: route through executeTCC (in-process), never the Launch Agent
  • ⚙️ compileCommand: drop 'touch Package.swift' (TCC-blocked, also a no-op)

⚡ System Changes

  • 🔨 Rip out mode system entirely — coding/automation/standard modes are gone
  • ⏪ Revert: full system prompt + full tool descriptions on every turn
  • 📸 Vision auto-screenshot: opt-in via visionAutoScreenshotEnabled (default OFF)
  • ✏️ edit_file: route through CodingService.editFile (d1f-powered) + read_file fix
  • 🔄 batch_commands: persist env vars / cwd / functions across steps + fix gitignore
  • 📝 .gitignore: clean rewrite for current repo layout
  • 📂 Restore tracked Agent / Agent.xcodeproj / AgentHelper trees

📚 Docs

  • 📖 Document all 15 toolbar features with icons, descriptions, and detailed behavior
  • 📝 Update README.md (multiple updates)

💾 DMG attached.

Agent! 1.0.41 (Build 126)

06 Apr 03:54

Choose a tag to compare

Agent! 1.0.41

image

🛠 Tool System

  • Consolidated tool naming — all tools renamed with _tool suffix, auto-stripped after first turn
  • mkdir and cd actions added to file_manager
  • Condensed tools — strip _tool suffix after first turn, auto-revert on failure
  • AgentTools 2.31.0 — synced all tool action lists with new naming
  • Run agent — support both run agent X and agent run X for direct execution
  • Fix run_agent — compile then dlopen/run dylib instead of just compiling

📺 LLM Output Overhaul

  • NSTextTable inline rendering — tables render inline with proper padding and sizing
  • AgentTerminalNeo integration — native auto-scroll, smooth streaming, cursor blink
  • Auto-grow output — LLM Output grows with content, capped at 50% window height
  • Draggable resize handle — resize LLM Output panel with drag, respects max height
  • Live token counts — estimate input/output tokens during streaming
  • Always-blinking cursor — seamless streaming to idle, AGENT! prompt blinks too
  • Line-count-based height — eliminates NSTextTable overestimation and jitter
  • Fix streaming jitter — height only grows, never shrinks

🧠 Fallback Chain

  • Fallback Chain UI — configure backup models in toolbar, auto-switch on failure
  • Model picker dropdowns — shows fetched models from all providers
  • Eye icon for vision models in pickers and fallback entries
  • Wire fallback chain into error handler — auto-switch on provider failure

🎨 UI Improvements

  • Status icons and colors — 🧠/blue Thinking, ▶/green Running, 🖥/orange Executing, 🛡/red Root
  • Coding Preferences icon turns green when any feature is on
  • Agents menu retry — longer initial delay, 10 insertion attempts
  • Window frame persistence — retains size after tiling
  • Fix double overlay — tab selected shows only its own indicator
  • Cmd+B toggles overlay on all tabs including running ones

🔧 Fixes

  • batch_commands — run all in single shell session so variables persist
  • Fix token accuracy — live output estimate, no double-counting
  • Fix timer — 0.25s refresh for live tokens, freeze on cancel
  • Fix elapsed time — freeze at actual value when done
  • Fix duplicate recordFailure — was double-counting failures
  • Fix drag jitter — global coordinate space for handle gesture
  • Fix window resizing on drag — prevent window resize from LLM Output handle

🤖 Z.ai / Model Providers

  • Dynamic model fetching — Z.ai models 100% from OpenAPI spec, zero hardcoding
  • Two endpoints — coding (no vision) and general (vision), URL routing with :v tag
  • Fetch models for ALL providers — Z.ai, Gemini, Grok, Mistral, etc.
  • Coding endpoint models tagged with -Code suffix

🏗 Architecture

  • Xcode-only gating — block xc tools when no .xcodeproj detected
  • Verify gate — build must pass before task_complete allowed
  • Remove Claude Code references from source comments
  • AgentTools pinned to 2.31.0, prompt revision 62

Agent! for macOS26 1.0.33

04 Apr 06:32

Choose a tag to compare

Agent! Agentic AI for your  Apple Mac Desktop

image

⏱️ Timer Improvements

  • Background timers — elapsed computed from taskStartDate, ticks even when tab is not visible
  • Per-tab timers — elapsed stored on ScriptTab/ViewModel, no shared @State bleeding
  • Fix timer for direct script runs — set taskStartDate on start, freeze on stop
  • Always show elapsed time — remembers where task stopped
  • Reset timer when new task starts — no stale elapsed time from previous run
  • Fix timer reset on tab switch — persist taskElapsed on ScriptTab, restore on appear

🖥️ UI / Overlay

  • LLM Output overlay — overlaid on activity log instead of pushing it down
  • Overlay background refinements: dark mode blur material, light mode white background
  • Cmd+Shift+D toggles LLM overlay on/off
  • Auto-scroll activity log to bottom when new task starts

🧠 LLM Behavior

  • Prefix every new task with NEW TASK instruction — overrides previous context
  • Extract shared newTaskPrefix — single source of truth for task prompt prefix
  • Loop detection + no-reread rule — prevents LLMs from reading the same file in loops
  • Smarter loop detection — only break on consecutive identical reads with no write between
  • Allow 2 reads of same file, then return error telling LLM to use cached content
  • Remove unused recentToolCalls from main task path

🏗️ Architecture

  • Extract shared DaemonCore.swift — common command execution for Helper and User daemons
  • Wire DaemonCore.swift into both AgentHelper and AgentUser targets
  • Main tab doesn't wait for agent scripts — fire and forget into script tab

📦 Version Bumps

  • Bumped build number to 117, then 118, then 119
  • Version bump to 1.0.33

Full Changelog: 1.0.32.118...1.0.33