-
released this
2026-08-04 14:13:22 +02:00 | 0 commits to main since this releaseNew 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 onand 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 showto see the current notes without leaving the chat,/notes offto 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
- Per-conversation notes - Any conversation can now keep its own persistent notes.md file, maintained entirely by the AI - turn it on with
-
released this
2026-08-03 08:37:53 +02:00 | 11 commits to main since this releaseRebranding
- 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```languageblock 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
- 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 (
-
v2.4.3 - Apple Intelligence Stable
released this
2026-07-27 08:15:53 +02:00 | 59 commits to main since this releaseNew 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_fileandsearch_filescan 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
-
released this
2026-07-22 16:03:10 +02:00 | 72 commits to main since this releaseNew 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(previouslymac.oai.pmin 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
-
released this
2026-07-14 11:06:45 +02:00 | 92 commits to main since this releaseNew 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
⌘Hto⇧⌘H.⌘His reserved by macOS for "Hide Application," so the previous binding never actually worked.
Downloads
- External MCP servers - Connect any external stdio MCP server (e.g.
-
New version Stable
released this
2026-06-19 08:08:50 +02:00 | 105 commits to main since this releaseNew 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 - New functionality Stable
released this
2026-05-12 11:15:25 +02:00 | 120 commits to main since this releaseJarvis 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
-
released this
2026-03-05 13:21:18 +01:00 | 125 commits to main since this releasev2.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
-
-
released this
2026-03-04 12:39:57 +01:00 | 127 commits to main since this releaseSorry for the rapid-fire release. Was still a bug in the image generation handling with image gen. models. Tested and worked. Should be fixed now 🫰
Downloads
-
New version -> v2.3.6 Stable
released this
2026-03-04 10:26:36 +01:00 | 129 commits to main since this releasev2.3.6
New features
- Reasoning / Thinking tokens - Models that support extended thinking (DeepSeek R1, Qwen thinking, Claude 3.7+, o1/o3, Grok via OpenRouter) now stream their reasoning process live into a collapsible block above the reply. The block auto-expands while the model is thinking and collapses automatically when the final answer arrives. Configure in Settings → General → Features: toggle on/off, pick effort level (High ~80% / Medium ~50% / Low ~20% / Minimal ~10%), and optionally hide reasoning content entirely.
- Model selector improvements - Three quality-of-life upgrades to the
⌘Mmodel picker:- ⓘ info button on every row opens the full model info sheet without selecting the model.
- Description search - the search field now matches against model descriptions, not just name and ID.
- Sort menu - sort by Default / Price: Low to High / Price: High to Low / Context: High to Low.
- Thinking filter - A 🧠 quick-filter button in the model picker shows only reasoning-capable models. The 🧠 badge also appears on model rows and in the model info sheet.
- Localization - The UI is now
fully translatedbeing translated into Norwegian Bokmål (nb), Swedish (sv), Danish (da), and German (de). The app uses your macOS language preference automatically. While there are still a good mix of English in the other languages, I've started the work :-)
Bug fixes & improvements
- Image generation display - Images generated by GPT-5 Image (and similar image-output models via OpenRouter) now render inline in the chat. Previously the response bubble was empty despite tokens and cost being reported correctly.
- MCP folder selector - Fixed a bug that prevented selecting folders in the MCP allowed-folders list.
- EmbeddingService - Fixed crash in semantic search embeddings.
- MCP toggle removed from General → Features - The toggle was redundant; MCP is configured in its own dedicated tab.
- Paperless tab - Marked as Beta while remaining issues are addressed.
Downloads