Releases: macOS26/Agent
v1.0.73 (build 162)
Release v1.0.73 build 162
Agent! v1.0.72 (Build 161)
✨ Features
- feat: add MiniMax provider support
- Claude auth: accept Claude Code OAuth tokens alongside API keys
- Claude OAuth: prepend Claude Code identity system block
- Claude models: OAuth-aware fetch, add Opus 4.7 to defaults
🐛 Bug Fixes
- Fix edit_file diff syntax highlighting in activity log
- Fence edit_file diff log with language for syntax coloring
- Skip Apple triage in TaskExecution when Accessibility is off
- Skip Apple triage when Accessibility permission is not granted
- Claude auth: strip whitespace/newlines from pasted credentials
🚀 Improvements
- Remove per-tool-result and per-message caps — full output to LLM
- read_file: remove 50K char cap — return full file to LLM
- Remove hardcoded default model lists — fetch is the only truth
- index_create/recreate/append/continue: return full JSONL body in same turn
📚 Documentation
- revert: restore full README (undo 6250603 short version)
- docs: clarify Launch Agent is not privileged
- Docs: add CLAUDE_CODE_OAUTH.md — how to mint + paste a claude setup-token
🔖 Release
- Bump version to 1.0.72 (161)
🔀 Merges
- Merge pull request #6 from octo-patch/feature/add-minimax-provider
- Merge branch 'main' of https://github.com/macOS26/Agent
🔧 Recent Fixes
- Add Codex LLM provider (
CodexService.swift) + provider setup wiring - New docs:
docs/CODEX.md,docs/CODEX_OAUTH_RESEARCH.md - TaskExecution refinements:
Setup,ToolBatch,Guards,ErrorHandler,FileTools - AgentViewModel:
StuckGuard,LLMServices,ScriptTabs,ModelFetching,SubAgent,Loggingimprovements - Apple Intelligence mediator + Claude service updates
- UI:
FallbackChainView,SettingsView,ToolsView,NewMainTabSheet,ThinkingIndicatorViewpolish - LaunchAgent/LaunchDaemon plist tweaks
Agent! 1.0.71 (160)
🚀 Agent! v1.0.71 (build 160)
Release date: 2026-04-17
Tag: v1.0.71.160
✨ Highlights
- Full output to the LLM — removed per-tool-result, per-message, and
read_file50K char caps. Index and file reads return the complete body in a single turn. - Claude Code OAuth support — paste a Claude Code setup token as an alternative to an API key. OAuth-aware model fetch and Claude Code identity system block are prepended automatically on OAuth sessions.
- MiniMax provider — new LLM provider alongside Claude / OpenAI / Ollama / Apple Intelligence.
- Project index returns inline —
index_create,recreate,append, andcontinueall return the full JSONL body in the same turn they wrote it.
🤖 LLM / Providers
- Claude: OAuth token flow (
CLAUDE_CODE_OAUTH.md), whitespace-tolerant credential paste, Opus 4.7 added to the default list. - OpenAI: stopped filtering fetched models — every model the API returns is shown. Legacy GPT-3.5 / dated GPT-4 snapshots no longer special-cased.
- Removed hardcoded default model lists — the fetch endpoint is the only source of truth.
- MiniMax provider merged (PR #6).
🔧 Tool Layer
read_file: 50K char cap removed.- Per-tool-result and per-message caps removed — LLM always sees the full tool output.
indextool:create/recreate/append/continuereturn the written JSONL in the same response (no second read round-trip).
🧠 Memory / Project Layout
- New
memorytool — Claude-compatible/memoriesfilesystem withglobalandprojectscopes. - Consolidated per-project hidden dirs under
.agent/{index,memory,worktrees,plans}. .agent-index/removed from tracking — project index output is not source.
🎨 UI / UX
- Long
Cmd+Vpastes are captured as removable chips instead of inlining into the TextField. - Pasted-text chips show first + last character preview, stacked over three lines with trailing ellipsis.
- Multi-line log messages drop onto their own line below the timestamp for readability.
- Suggestion matching is skipped for long task input to prevent main-thread stalls.
🍎 Apple Intelligence
- Accessibility triage is skipped when a project folder is active (unless a system app is named), cutting latency for coding sessions.
📚 Docs
CLAUDE_CODE_OAUTH.md— how to mint and paste a Claude Code setup token.- README: new hero intro and refreshed GitHub metadata.
- Clarified that the Launch Agent is not privileged (privileged path is AgentHelper).
🏗️ Build
- Marketing version: 1.0.71
- Build number: 160
- Deployment target: macOS 26.0, Swift 6.2
- Development Team: 469UCUB275
📝 Commits since v1.0.69 (build 158)
ebc0c080 chore: bump version to 1.0.71 (build 160)
e8761fe6 index_create/recreate/append/continue: return full JSONL body in same turn
4cbacac3 Remove per-tool-result and per-message caps — full output to LLM
e683f9ce read_file: remove 50K char cap — return full file to LLM
54f5f1c2 Remove hardcoded default model lists — fetch is the only truth
54ffcafc Claude models: OAuth-aware fetch, add Opus 4.7 to defaults
62506030 docs: clarify Launch Agent is not privileged
83862d6a Claude OAuth: prepend Claude Code identity system block
aeb34b8c Claude auth: strip whitespace/newlines from pasted credentials
5237f164 Docs: add CLAUDE_CODE_OAUTH.md
6da55309 Claude auth: accept Claude Code OAuth tokens alongside API keys
ed107cff feat: add MiniMax provider support
ab807399 Bump version to 1.0.70 (build 159)
a3cb7be8 OpenAI model fetch: stop filtering — return every model the API lists
1a8e9802 OpenAI model filter: drop GPT-3.5/legacy GPT-4 families + dated snapshots
b3404e29 OpenAI model fetch: future-proof filter + blocklist non-chat models
f1c09596 Apple AI: skip accessibility triage when project folder is active
🦾 Agent! 1.0.70 (Build 159)
What's Changed
OpenAI Model List Improvements
- Stop filtering OpenAI models — now returns every model the API lists, no more hidden models (a3cb7be)
- Dropped legacy GPT-3.5 and dated GPT-4 snapshot filtering (1a8e980)
- Future-proofed model filter with blocklist for non-chat models (b3404e2)
Apple Intelligence
- Skip accessibility triage when a project folder is active unless a system app is explicitly named — reduces unnecessary UI queries (f1c0959)
Full Changelog: https://github.com/toddbruss/Agent/compare/v1.0.69.158...1.0.70.159
v1.0.69.158
What's New in v1.0.69.158
🧠 Project Index & Memory
- Project Index tool — portable JSONL index per file (lines, doc block, top-level symbols)
- Memory tool — persistent
/memoriesfilesystem withglobalandprojectscopes - Consolidated per-project hidden dirs under
.agent/{index,memory,worktrees,plans} - Prompt version now derived from marketing + build number (no more hardcoded revision)
✏️ Editing & Diff
- diff_apply fix — splice source into file instead of replacing entire content
- Fix diff_apply truncation and diff-formatted input handling
- Edit reliability: drop truncation guard, add cache invalidation + no-op detect
- Stuck-edit nudge: lower threshold to 3, make actionable
🍎 Apple Intelligence
- Apple AI: persist accessibility agent session across turns
- Apple AI: use Apple AI itself to classify follow-up prompts
- Apple AI: add
run_agenttool for launching agents via FoundationModels - Apple AI: disable shell and applescript tools — accessibility only
- Fix Apple AI misrouting non-agent tool names to run_agent
- Fix Apple Intelligence
isEnableddefaulting to false
🎨 UI Polish
- Long Cmd+V pastes captured as removable chips with first+last char preview
- LLM output: stop last-word flickering with cursor
- LLM output: don't snap to bottom on mouse-exit when not streaming
- Tab labels: main tab shows current model, LLM tabs preserve raw model case
- ToolStepsView: persist expanded state across Cmd+B and new steps
- Multi-line log messages drop onto their own line below timestamp
🔧 Fixes & Cleanup
- Fix LLM tab provider/model clobber + per-tab usage breakdown
- Fix tool output formatting: newline prefix and
:0:0warning cleanup - Replace force-unwrap with if-let in diff_and_apply
- Pin AgentTools 2.50.10 — adds PROJECT INDEX prompt section
- Efficient-action system prompt rules to curb redundant file re-reads
- Anti-confabulation: dedup tool names, prune aliases, harden read guard
- Summarize comments across all major Swift files
- Wrap long lines with SwiftFormat across the project
📦 Dependencies
- AgentTools 2.50.10
- AgentAccess 2.9.5 (screenshots no longer block main thread)
DMG to follow.
🦾 Agent! 1.0.68 (Build 156)
✨ 🦾 Agent! What's New in 1.0.68?
🔧 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_agenttrigger 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:0warning cleanup) - Added iteration cap enforcement
🚀 Agent! v1.0.67 (Build 155)
What's Changed
🤖 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)
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)
🦾 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.
🔧 Bug Fixes
- Fix double echo — skip
appendLogfor 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.shscript - 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
🦾 Agent! Agentic AI for macOS 26.4+ Mac
🖥️ 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