• v2.5.3 ba16a2105b

    rune released this 2026-08-31 15:09:28 +02:00 | 0 commits to main since this release

    New features

    • Apple Intelligence can now use tools - Files, bash, calendar, mail, contacts, Paperless, and Maps all work on-device now, not just plain chat. Built as a real persistent session rather than replaying the whole conversation on every message, so it keeps its own memory of what it's done - and on macOS 27, that memory survives closing and reopening a saved conversation, not just the current session. Apple's on-device model has a small context budget (8K tokens, not the 4K originally documented), so External MCP servers (Obsidian, Homepage, etc.) aren't included - their tool descriptions are outside Confab's control and can easily be too large on their own. Confab's own built-in tools are unaffected. Still Beta, since Apple's framework itself is still under active development.
    • Hugging Face as a chat provider - Chat with models through Hugging Face's Inference Providers router using an account you may already have, instead of signing up somewhere new. The model list and pricing are fetched live from Hugging Face rather than a fixed list, and a "Custom Model ID…" option in the model picker lets you try any model hosted there even if it's not in that list. Some backends require your own API key on Hugging Face's side - Confab explains this clearly if you hit it, instead of a bare error.
    • Mail integration is live - Let the AI search your Apple Mail inbox, read messages, and save attachments to disk (e.g. to hand off to Paperless) via AppleScript - no separate credentials needed. Every action, including reads, requires your approval. This shipped in beta form last release but was hidden behind a kill switch after first-time permission grants appeared broken on the macOS 27 beta; turned out to be a missing entitlement in Confab itself, not an OS bug, and is now fixed and confirmed working.
    • External MCP Servers: edit existing servers, and clearer Node.js troubleshooting - You can now edit an already-added server's settings instead of deleting and recreating it. If a server can't be reached because its command (usually npx) isn't on Confab's PATH, a "Get Node.js" button walks you through installing it - a copyable command, a one-click install if Homebrew is detected, or a link to the official installer otherwise.
    • Liquid Glass, phase 1 - The Settings tab bar, the new MCP sidebar, and the model picker's filter chips now use macOS 26's Liquid Glass design language.

    Bug fixes & improvements

    • A real crash risk fixed before release - Some rare tool results could crash the entire app instead of failing gracefully, due to a subtle gap in how Apple's own JSON library reports certain kinds of invalid data. Found while building the Apple Intelligence tool-calling work above; fixed for every provider's tool-calling path, not just the new one.
    • External MCP: pasting a JSON args array no longer mangles it - Most MCP server docs show their example config as a JSON array (e.g. ["-y", "mcp-remote", "..."]). Pasting that directly into the Arguments field used to corrupt it into broken tokens; it's now parsed correctly.
    • External MCP: toggling a server on/off no longer corrupts its settings - Flipping the enable switch was silently discarding a server's transport type, environment variables, URL, and auth token back to stdio defaults. Fixed.
    • External MCP: editing a connected server now actually reconnects it - Saving changes to an already-running server's settings used to appear to do nothing, since the live connection kept using its old configuration. It now restarts with the new settings.
    • Mail Automation permission fixed for real - What looked like a macOS 27 beta bug (first-time permission grants never appearing, not even in System Settings) turned out to be a missing entitlement in Confab's own build configuration. Fixed and confirmed working.
    • Off-screen window self-heals - If Confab's window ever ends up positioned off every connected screen (stale window-restore data), it now recenters itself automatically instead of requiring a quit and relaunch to recover. A "Reset Window Position" menu item is also available manually.
    • Settings "Test Connection" buttons no longer need a tab switch to activate - Sync, Email, Paperless, Anytype, and Jarvis's Test Connection buttons stayed disabled until you clicked away and back, because of how secure text fields report their value. Now checked at the moment you click, not while typing.
    • Crash-recovery draft could reappear after a clean save - The draft file wasn't being cleared when you saved normally, only on discard, so the "restore unsaved conversation?" prompt could reappear even after you'd already saved. Fixed.
    • Liquid Glass rendering bugs - Two real rendering issues from the phase 1 rollout above: glass surfaces occasionally showed as solid opaque blocks instead of translucent glass, and applying a color tint to a glass surface made it look like a plain filled button instead of frosted glass. Both fixed; glass surfaces now rely on their icon/text color alone to signal selection state.
    • Continued translation catch-up - More strings that had slipped through past translation passes (mostly around Mail, plural handling, and this release's new Hugging Face/External MCP/Apple Intelligence UI) are now translated into Norwegian, Swedish, Danish, German, and French. As always, translations are AI-generated - if anything reads oddly in your language, reach out via the contact link in Help.
    Downloads
  • v2.5.2 46ca15f352

    rune released this 2026-08-17 08:39:08 +02:00 | 40 commits to main since this release

    New features

    • Localized "thinking" verbs - The playful status text shown while the AI is working ("Pondering...", "Percolating...", etc.) now has its own hand-written set of verbs for each supported language, instead of always showing the English ones.
    • CLI access - Confab can now expose a local Unix-socket server for one-shot shell access to a single fixed model (e.g. an ai "prompt" command in Terminal) without opening the app window. Configure it in Settings → MCP → CLI Access, which also shows a ready-to-use shell function to add to your .zshrc. Confab needs to already be running; there's no tool-calling or streaming in this first version, just a plain text reply.
    • Jarvis run details - Each row in a Jarvis agent's Run History is now clickable, opening a Run Details view with the complete, untruncated output/error plus duration, trigger, token breakdown, and cost - the old inline preview capped long output at 20 lines.
    • Usage Analytics - A new Analytics view (chart-bar icon in the Stats sheet, ⌘⇧S) breaks token, question, and cost usage down by Today / 7 Days / Week / Month / Year / Total, with bar and pie charts over time and by model or provider. Usage is tracked the moment a response completes, independent of whether you ever explicitly save that conversation.
    • External MCP Servers: environment variables and remote HTTP servers - External MCP Servers can now be given environment variables (e.g. API keys) without embedding them in the command's arguments, using a masked key-value editor. A new "Remote (HTTP)" server type also connects directly to any MCP server that speaks the Streamable HTTP transport - like the Obsidian Local REST API plugin - with just a URL and Bearer token, no local npx/Node.js bridge required.

    Bug fixes & improvements

    • Tool-call activity no longer clutters the chat - While the AI is working through a multi-step tool chain (reading files, running commands, etc.), the chat no longer accumulates a growing stack of "Calling: X" rows - a single status line under the thinking indicator now updates in place as each step runs. Once the response is ready, the whole chain collapses into one expandable summary ("Used N tool calls") you can click to inspect every step.
    • Much more of the app is now translated - The / command dropdown, sync status indicators, reasoning-effort descriptions, and a number of Settings rows added over recent releases had never been translated into Norwegian, Swedish, Danish, German, or French - they were only visible to Confab's automated translation-export tooling in specific cases, and these fell through the cracks. All of them are translated now. As always, translations are AI-generated - if anything reads oddly in your language, reach out via the contact link in Help.
    • Fixed a bug where the sync status tooltip could never be translated at all, regardless of language, due to an incorrect type internally.
    • The Help Book's "Contact Us" link now points to confab.no instead of an email address.
    • Model description could render hard-clipped mid-word - The Model Info modal's description sometimes cut off abruptly with no "…" and no way to see the rest. Now always shows the full description text (the modal already scrolls). Note: for a small number of models, OpenRouter's own catalog data is itself truncated with no fuller version available - that's outside what Confab can fix.
    • Escape key could beep instead of closing Model Info - Clicking into the description text before pressing Escape could leave the modal stuck open with a system beep instead of closing. The description now has a Copy button instead of click-to-select text, which was the underlying cause.
    • Jarvis run output was never showing - A field-name mismatch meant a run's actual output, finish time, and success/failure icon never displayed correctly even when the run genuinely succeeded with real output. Fixed.
    • OpenRouter image generation cost showing $0.00 - Image-generation models are billed per-image rather than per-token, so Confab's usual token-based cost calculation always came out near-zero for them regardless of actual spend. Now uses OpenRouter's actual billed cost when it's available.
    • OpenRouter error messages swallowed - A decoding bug meant OpenRouter's actual error message (e.g. explaining why an image generation request was rejected) was replaced by a generic Unknown error: HTTP <code> for every failed request. Fixed.
    • CLI Access shell snippet hardened - ai Who are you? used to error with zsh's no matches found instead of reaching the model - ? is a shell glob character, so an unquoted prompt containing one (or *, [...]) got glob-expanded before the function ever ran. The recommended snippet in Settings → MCP → CLI Access now uses alias ai='noglob _ai_impl', which prevents that; quoting your prompt is still the most robust habit for other shell-special characters. Also collapsed the curl call onto a single line - the previous multi-line version's \ continuations were easy to break by copy/pasting out of a chat UI or browser, turning each following line into a bogus command. If you already added the old snippet to your .zshrc, replace it with the current one shown in Settings.
    • CLI server startup reliability - The local CLI server's socket could, in rare cases, get stuck mid-startup with no error and no way to tell it apart from a working one. It now times out after 8 seconds and logs clearly if that happens, instead of silently sitting in a broken state.
    • Google API key field was easy to miss - It only appeared in Settings → General → Web Search when Google was selected as the web search provider, even though the same key is also needed for Google embeddings in Semantic Search (Advanced tab) - a separate feature with no other way to find where to enter it. Now always visible there.
    Downloads
  • v2.5.1 922fe05954

    rune released this 2026-08-04 14:13:22 +02:00 | 65 commits to main since this release

    New features

    • Per-conversation notes - Any conversation can now keep its own persistent notes.md file, maintained entirely by the AI - turn it on with /notes on and it reads its notes automatically at the start of every turn and updates them on its own as the conversation goes, with no approval prompt for each write (the same trust model as everything else that happens once you've turned a feature on). Use /notes show to see the current notes without leaving the chat, /notes off to pause it (your notes are kept, just no longer read/written automatically), and Settings → Advanced → "Open Notes Folder" to browse or edit them directly in Finder.
    • In-app release notes - The Help menu and the "update available" alert now show release notes in a Confab window instead of opening your browser.
    • Git Sync conflict recovery - If a sync pull ever collides with a leftover local copy of a Confab-managed sync file (like folders.json or notes.json), Confab now shows a clear dialog explaining what happened, with two options: fix it automatically, or fix it yourself, with step-by-step instructions - including the exact files and folder path involved - shown right in the app.

    Bug fixes & improvements

    • Git Sync now covers folders and notes - Your folder structure and any per-conversation notes now sync across machines along with your conversations, the same way conversation content already did. A folder or a conversation's notes are only adopted the first time they're pulled onto a machine that doesn't already have them - if that machine already has its own version, it's left alone rather than overwritten.
    • Git Sync startup race condition - The very first sync after upgrading could, in rare timing, run the startup pull and the background auto-sync at the same time, risking a corrupted sync state. Fixed by coordinating all sync entry points so only one runs at a time.
    • App freezing after waking from sleep - If a Git Sync operation was in flight when your Mac went to sleep, the network connection could die silently and hang forever on wake with no error and nothing in the logs, freezing the whole app until force-quit. Git operations now run with a timeout, so a stuck connection fails gracefully instead of locking up the app.
    • Crash-recovery Discard shortcut - The "Restore unsaved conversation?" prompt shown after a crash or force-quit now supports ⌘D on its Discard button, matching the existing Don't Save shortcut in the regular unsaved-changes prompt.
    • Nested folder indentation - Conversations inside a nested subfolder now indent to visually nest under that folder in the sidebar and conversation list, instead of sitting flush with top-level items.
    • Completed the domain migration to confab.no across the app and documentation.
    Downloads
  • v2.5.0 162ce066d5

    rune released this 2026-08-03 08:37:53 +02:00 | 76 commits to main since this release

    Rebranding

    • oAI is now Confab - The app has been renamed to avoid confusion with OpenAI, a mix-up that came up often enough to be worth fixing properly. The rename covers everything user-facing: app name and icon, bundle identifier (com.oai.Confab), Xcode project/scheme, Help Book, build scripts, and all on-screen text. Your conversations database, Keychain-stored API keys, and settings are completely untouched by the update - there's no migration step and nothing to re-enter.

    New features

    • Unsaved Changes & Crash Recovery - Confab now tracks unsaved changes like a standard Mac document: starting a New Chat, clearing the chat, loading a different conversation, or quitting while there are unsaved messages shows the familiar Save / Don't Save / Cancel prompt. The Save dialog also gained a folder picker with inline "New Folder…" creation. Separately, the in-progress conversation (and selected model) is periodically mirrored to disk in the background - configurable in Settings → General ("Crash Recovery": Off/1s/10s/30s/60s) - so if Confab crashes or is force-quit, the next launch offers to restore exactly what you were working on.
    • Nested conversation folders - Chat folders can now contain other folders, to unlimited depth - e.g. a "Work" folder with "Project A" and "Project B" subfolders. Shown as an indented, collapsible tree in both the sidebar and the advanced conversation list. Create a subfolder via "New Subfolder…" in a folder's context menu, or just drag one folder onto another to reparent it; deleting a folder moves everything directly inside it (subfolders and conversations alike) up one level rather than deleting them.
    • Multi-select conversations - ⌘-click and Shift-click now work in both the sidebar and the advanced conversation list to select multiple conversations at once, then move them all to a folder in one action via drag-and-drop or the right-click menu. In the sidebar, single-click now selects and double-click opens, matching Finder's list-view convention.
    • Live code formatting in the chat input - Typing `inline code` or a fenced ```language block into the message input now formats it live as you type - monospace styling plus full syntax highlighting for the language you specify, using the same highlighter already used for code blocks in the AI's replies.
    • All-Time Usage Statistics - The Stats sheet (⌘⇧S) gained a Session / All-Time picker, showing aggregate token usage and cost totals broken down by model and by conversation.
    • HTML and PDF Conversation Export - File → Export as HTML…/PDF… (and per-conversation from the conversation list) renders full Markdown formatting including tables, and respects light/dark mode.
    • Model release dates - The Model Info sheet now shows a "Released" date for OpenRouter models, pulled from OpenRouter's own catalog data.

    Bug fixes & improvements

    • AI-Assisted Merge reliability - Fixed "Combine Conversations" → AI-Assisted Merge failing on long conversations: the transcript was being embedded using real chat markdown (**User:**/**Assistant:**), which caused the model to reply to the embedded content instead of merging it. Now uses synthetic delimiters. The merge model picker is also decoupled from the main chat's active provider and sorted for easier selection.
    • Git Sync deletion resurrection - Deleting a conversation didn't remove its exported markdown file, so a later pull/import kept bringing it back. Fixed.
    • Git Sync data loss on fresh clone - Initializing Git Sync against an existing repository could, in rare timing, delete and push-remove every previously-synced conversation before the initial import had a chance to run. Fixed at the root cause; if you were affected, the deletions can be recovered from the repository's own history.
    • Dangling folder references on delete - Deleting a folder wasn't actually updating the conversations that had been filed in it at the database level, so they could silently vanish from view after a relaunch. Fixed as part of the nested-folders work.
    • Sidebar/folder-list desync - Creating a folder in the advanced conversation list didn't show up in the sidebar until restart. Both views now stay in sync.
    • PDF export fixes - Corrected page size (A4 instead of US Letter), proper print-based pagination instead of a single oversized page, dark mode background/text, and oversized nested headers.
    • Replaced the Jarvis API key hint with a blurb about oAI-Web and a link to its Gitea repo.
    Downloads
  • v2.4.3 ef26ae1887

    rune released this 2026-07-27 08:15:53 +02:00 | 124 commits to main since this release

    New features

    • Apple Intelligence (Beta) - On-device chat via Apple's Foundation Models framework, free and works offline. Enable in Settings → General; requires macOS 26+ and Apple Intelligence turned on in System Settings. This is a Phase 1 release (basic chat only, no tool/file/web access yet) and is marked Beta throughout the app since Apple's framework is still under active development.
    • PDF support in MCP file tools - read_file and search_files can now extract and search the text layer of PDF documents in your allowed folders, not just plain text files. Scanned or image-only PDFs with no text layer return a clear error instead of garbage output.

    Bug fixes & improvements

    • Fixed an oversized system prompt for models that can't use tools (like Apple Intelligence) - tool usage guidance, your custom system prompt, and Agent Skills are no longer injected for tool-incapable models, since none of them apply.
    • Fixed an error-handling crash on the latest macOS betas caused by an Apple API rename in the Foundation Models framework.
    Downloads
  • v2.4.2 65fe057aa9

    rune released this 2026-07-22 16:03:10 +02:00 | 137 commits to main since this release

    New features

    • Favorites sync across machines - Starred models now sync automatically via the same iCloud Drive folder used for settings backup - star a model on one Mac and it appears starred on your others within a launch or two, no manual export/import needed.
    • Automatic backup - Settings → Backup gained an Off / Daily / Weekly schedule, so your settings back up themselves in the background instead of requiring a manual "Back Up Now" click every time.
    • Contacts added - Added the Contacts service in Settings → MCP → Personal Data. Confirmed working on macOS 26 and 27.
    • Searchable Help Book - The Contents list in the Help book (⌘?) now has a live search box that filters topics by their full content, not just the section title - e.g. typing "european" surfaces "Slash Commands" via its command-history date-format note.
    • Notarized DMG installers - Release DMGs are now automatically notarized and stapled by Apple as part of the build, so installing from the DMG no longer triggers Gatekeeper's "unidentified developer" warning.

    Bug fixes & improvements

    • Duplicate "View" menu - Fixed the menu bar showing two menus both titled "View" (macOS auto-adds one for the sidebar's NavigationSplitView); the app's custom menu is now named "Chat".
    • Consolidated commercial licensing contact links to oai.pm (previously mac.oai.pm in some places).
    • Sidebar shown/hidden state now persists across relaunch, matching the existing window size/position behavior.
    • The default system prompt now includes a rule to always reply in the user's language, even for requests (like translation) that target another one.

    Moved to PolyForm Noncommercial License 1.0.0. Did this so no one can sell the app or part of the app. Personal and professional use is still allowed. So is changing the code etc.

    Downloads
  • v2.4.1 52ab774785

    rune released this 2026-07-14 11:06:45 +02:00 | 157 commits to main since this release

    New features

    • External MCP servers - Connect any external stdio MCP server (e.g. safaridriver --mcp) in Settings → MCP → External MCP Servers. Tools are auto-discovered on launch and prefixed with the server's name so they don't collide with built-in tools; a crashed server automatically restarts with backoff (5s / 15s / 30s, up to 3 attempts) and a status indicator shows Connected / Connecting / Error / Crashed per server.
    • Personal Data Tools - Native Calendar, Reminders, and Location & Maps access via EventKit, Contacts, and MapKit. Creating events/reminders and completing reminders require an approval sheet before running. Enable per-service in Settings → MCP → Personal Data. Contacts support is present but hidden pending an Apple TCC fix for hardened-runtime builds.
    • Research agents - The AI can spawn multiple concurrent read-only sub-agents to search and read files in parallel, each limited to read-only tools with no bash access and no further nesting. Concurrency limit is configurable in settings.
    • OpenRouter dedicated Images API - Image-only models (Sourceful, Seedream, Flux, and others that don't appear in the standard model list) are now fetched from OpenRouter's dedicated images endpoint and shown in the model picker, generating through that endpoint instead of chat completions.
    • French localization - Added French (fr) as a 5th supported language; Norwegian, Swedish, Danish, and German translations caught up to the current feature set (~300 new strings).

    Bug fixes & improvements

    • Assistant message text wrapping - Long lines with mixed bold/italic formatting no longer truncate with "…" when the window is narrower than the text - they now wrap properly at any window size.
    • Silent tool-loop retries - The "[Tool loop reached maximum iterations]" placeholder bubble and the "↩ Continuing…" system message have been removed; the app now retries silently instead of showing messages that added no value to the conversation.
    • MCP temp-file access - Files written by external MCP servers and generated images (e.g. /tmp/oai_generated_*.png) are now correctly readable by the MCP file tools; the previous allow-list check was comparing against the wrong system temp directory.
    • 2nd Brain trust toggle - The 2nd Brain Agent Skill can now be marked as trusted, skipping the bash approval dialog for its helper-script calls.
    • Command History shortcut - Changed from ⌘H to ⇧⌘H. ⌘H is reserved by macOS for "Hide Application," so the previous binding never actually worked.
    Downloads
  • v2.4 e8db4ad7a3

    New version Stable

    rune released this 2026-06-19 08:08:50 +02:00 | 170 commits to main since this release

    New files as of 22nd of June 2026. The first DMGs was macOS 27 only. The new ones are macOS 26.2+

    v2.4

    New features

    • Sidebar navigation - Redesigned the main window around a NavigationSplitView with a collapsible sidebar: new chat button, conversation search, and a swipeable list of saved conversations. The header bar is now text-only (provider, model, favourite star); status pills (Online, MCP, Synced) moved to the footer. The input bar is now resizable with a drag handle (height persisted) and has a quick online/offline toggle. Added a View menu (Model Info, History, Stats, Credits, Online Mode ⌘⇧O) and ⌘L as an alias for Search Conversations.
    • Combine saved conversations - Select two or more saved conversations and merge them into one, either by simple chronological concatenation or AI-assisted synthesis that reconciles overlapping context.
    • Anthropic prompt caching - System prompt, tools, and conversation history are now cached via cache breakpoints for both direct Anthropic and OpenRouter-routed requests, including the tool-calling loop. Reduces cost and latency on repeated turns; cost calculation now correctly accounts for cache write/read pricing instead of charging full price for all input tokens.
    • Claude Fable 5 pricing - Added pricing ($10 input / $50 output per 1M tokens).

    Bug fixes & improvements

    • Enter key behaviour - Plain Enter now reliably sends the message, and Shift/Cmd+Enter inserts a newline. The previous text editor occasionally let bare Return through to the underlying text view before SwiftUI could intercept it, making Cmd+Enter send instead.
    • Expandable model descriptions - Long descriptions in the Model Info sheet (over 250 characters) now collapse behind a More.../Less toggle instead of stretching the sheet.
    • Conversation title placement - Moved to the center of the header bar, macOS document-title style; removed from the footer.
    • Combined conversation model - Fixed the merged conversation showing the merge model instead of reflecting the models actually used by the source conversations.
    • Norwegian menu on English systems - Fixed the app menu showing Norwegian labels regardless of system language.
    • Missing AccentColor asset - Fixed a build warning caused by a referenced but undefined accent color; now uses the app's existing blue (#0a7aca).
    Downloads
  • v2.3.9 cd0ceeab41

    rune released this 2026-05-12 11:15:25 +02:00 | 185 commits to main since this release

    Jarvis Integration

    Connect oAI to your Jarvis (oAI-Web) server directly from the macOS app.

    • New Settings → Jarvis tab - enter your server URL and API key
    • /jarvis command opens the Jarvis panel with two tabs:
      • Agents - list, create, edit, delete, enable/disable, run and stop agents; view live run history with status, duration, token count, cost, and expandable output
      • Usage - per-agent statistics (runs, input/output tokens, cost) with totals row and OpenRouter balance card
    • Queue pause/resume controls from the agent list toolbar

    Read more about Jarvis/oAI-Web here -> https://gitlab.pm/rune/oai-web

    Model Category Filter

    The model picker now categorises models by specialisation domain.

    • New Category filter button in the model picker - shows a popover with only the categories that have matching models
    • 9 categories: Programming, Math, Medical, Translation, Roleplay, Creative, Science, Finance, Legal
    • Category colour dots shown on each model row and in the detail view (Model Info)
    • Category chips displayed in the Model Info sheet
    • Categories are inferred from model name, ID, and description - no dependency on provider API
    Downloads
  • v2.3.8 0f9dc05774

    rune released this 2026-03-05 13:21:18 +01:00 | 190 commits to main since this release

    v2.3.8

    New features

    • Anytype integration - oAI can now read and write to your local Anytype knowledge base. Enable in Settings → Anytype (new tab). Requires the Anytype desktop app running locally. Available tools:

      • Search across all spaces or within a specific one
      • Read the full content of any object
      • Append content to an existing object without rewriting it - preserves internal Anytype links and mention blocks
      • Create new notes, tasks, and pages
      • Surgically toggle individual checkboxes by text match (anytype_toggle_checkbox)
      • Set task done/undone via native relation (anytype_set_done)
    • Model favourites - Star any model to mark it as a favourite. Starred models:

      • Float to the top of the Default sort order in the model picker
      • Can be filtered to show exclusively with the ☆ button in the model picker toolbar
      • Show a filled yellow ★ in the model row, the Model Info sheet header, and the main header bar - toggling in any one location updates all three
      • Are persisted across sessions
    • Default model picker - Settings → General → Model Settings now has a proper Choose… button that opens the full model selector. A Clear button removes the default. Switching models during a chat session no longer overwrites the saved default - the default only changes when you explicitly set it in Settings.

    Bug fixes & improvements

    • Settings tab overflow - Adding the Anytype tab (11 tabs total) previously caused the rightmost tab to clip. Tab buttons are now slightly narrower to fit the full row.
    • Image generation (tools path) - Fixed a lingering error where image-generation models that also support tools (e.g. GPT-5 Image via OpenRouter) produced an error response after generating images. The tools loop now correctly captures generated images, saves them to temp files, and invites the model to save them to the requested destination.
    • Goodbye phrase false positives - "thanks", "thank you", "thx", "ty", and "done" removed from the auto-save trigger list - they fired too often on routine task requests. The trigger now activates only on clear farewells.
    • Header bar - Widened spacing between the provider badge and model name; added a ★ favourite star directly in the header.
    Downloads