Repository navigation
Releases
Duet 2.4.0
Duet 2.4.0
Duet 2.4 makes sending more reliable. Quick Prompt is now in the Dock menu, split view uses far less CPU, and the website has a new home and a user guide.
What's new
- Quick Prompt in the Dock menu. Right-click the Duet icon in the Dock to open Quick Prompt. Opening it from the Dock, the global shortcut, or the Tools menu no longer brings the workspace forward. The panel hides when you click into another app and keeps your text.
- More dependable sending. Duet now sends by pressing a real Return key in each provider's composer instead of finding and clicking the Send button, so a provider redesign is much less likely to break sending. A new conversation appearing also counts as confirmation, and Duet never presses Return twice.
- Clearer send status. While a send waits for a page, the status names it ("Waiting for Claude to load…"), in the prompt drawer or in a small capsule over the workspace. Messages now say whether a prompt was sent, typed but not sent, or unconfirmed, and why.
- New website and user guide. The site is now at duet.siolon.com (the old address redirects) and includes a guide with keyboard shortcuts and notes on sending, Quick Prompt, notifications, files, signing out, and updates.
Improvements and fixes
- Quick Prompt to Both no longer drops the prompt for ChatGPT or shows "Your account changed." Duet now waits for ChatGPT to finish starting up before sending.
- Duet waits for each provider's real message box instead of the placeholder shown during loading, and reports "sign in first" when ChatGPT is signed out.
- A Quick Prompt send no longer opens the prompt drawer, and it closes an open drawer unless that drawer holds a draft.
- Split view no longer uses about 43% CPU while idle; it's now near zero.
- Switching quickly from ChatGPT to Both no longer leaves the ChatGPT pane blank.
- Revealing a hidden Duet restores its window instead of opening a second workspace.
- The prompt drawer reliably takes keyboard focus when it opens, including after switching providers, and no longer pulls focus away from a send in progress.
- Switching providers frees the inactive one's memory right away instead of after a delay.
- "Finished responding" notifications are more reliable, especially for Claude.
- The launch chooser no longer shows a heading.
To update, quit Duet, download Duet.zip, extract it, and replace the existing Duet.app in Applications.
Duet 2.3.0
Duet 2.3.0
Duet 2.3 has a redrawn app icon, a new website, and fixes for the title bar, New Conversation, and the website-data resets.
What's new
- Redrawn app icon. A cool white tile with thicker strokes that reads more clearly in the Dock and at small sizes.
- Website redesign. cpoteet.github.io/Duet includes a new layout, color scheme, typography, screenshots, and demo video. Content was also refined throughout.
Improvements and fixes
- Double-clicking the workspace title bar works again and follows your Desktop & Dock setting (Fill, Zoom, or Minimize).
- Starting a New Conversation while a provider page is still loading no longer shows a "didn't load" error.
- Reset ChatGPT Website Data and Reset Claude Website Data now remove only records for that provider's own domains and their subdomains, so sites with similar names are left alone.
- Clean up the scripts Duet uses to find and fill each provider's composer, so a change to one provider's page is easier to handle.
To update, quit Duet, download Duet.zip, extract it, and replace the existing Duet.app in Applications.
Duet 2.2.0
Duet 2.2.0
Duet 2.2 adds keyboard shortcuts for moving around the workspace and makes sending to Claude much faster.
What's new
- New Conversation (Command–N). Choose File → New Conversation to start a fresh chat in the visible provider. In split view, both panes start fresh chats. If the Duet window is closed, Command–N reopens it first.
- Workspace shortcuts (Command–1, Command–2, Command–3). Switch to ChatGPT, Claude, or Both from the keyboard, or from the View menu, which marks the current workspace.
Improvements and fixes
- Fix a delay of up to 10 seconds before Claude accepted the first prompt after its page loaded. Duet's response-completion watcher no longer slows provider pages while they render.
- Keep the cursor in the shared prompt drawer while it is open. Provider pages can no longer move focus away while they load, including when you switch to Both. Clicking into a provider still works as before.
- Restore response-completion notifications for ChatGPT, and recognize more of both providers' Stop controls so completion alerts are not missed or triggered by unrelated buttons.
- Move Equal Widths to the View menu and remove the redundant toolbar layout menu.
- Make the shared prompt drawer about 15% shorter, leaving more room for provider pages.
- Allow providers up to 10 seconds to confirm a submission after Send is clicked. Unconfirmed sends keep your draft and are never retried automatically.
- Refresh the README, website, and screenshots.
To update, quit Duet, download Duet.zip, extract it, and replace the existing Duet.app in Applications.
Duet 2.1.0
Duet 2.1.0
Duet 2.1 improves the shared prompt workflow and makes submission confirmation more reliable.
What's new
- The shared prompt drawer opens automatically when you enter split view, including when Duet starts with Both selected.
- After every selected provider confirms a send from the shared drawer, the draft clears and the drawer collapses. Text you edit while sending stays visible.
Improvements and fixes
- Fix the shared prompt drawer staying open after sending to Both with Quick Prompt. It now collapses once both providers confirm submission, while existing or newly edited shared drafts stay visible.
- Confirm prompt submissions from the provider's composer state, improving compatibility when ChatGPT replaces its composer after sending.
- Find the visible composer when a provider also has hidden editor elements.
- Require the composer to still match your prompt before clicking Send, and to clear before confirming submission. Failed or unconfirmed sends keep the native draft and are never retried automatically.
- Add a public Duet website and update installation and usage guidance.
To update, quit Duet, download Duet.zip, extract it, and replace the existing Duet.app in Applications.
Duet 2.0.0
Duet 2.0.0
Duet 2.0 brings a more native macOS design and makes sending a prompt to both providers more reliable. This is the first Duet release packaged with Developer ID signing and Apple notarization.
What's new
- Refreshed the application with native macOS window chrome, toolbar controls, and provider switching.
- The application is now Apple notarized which removes the Gatekeeper warning and suppresses ongoing Mac security prompts.
Improvements and fixes
- Allow more time for a provider that has not loaded yet to become ready for Quick Prompt.
- Show provider load failures in the workspace with a clear retry action.
- Fix dragging files into Claude and refine toolbar, prompt drawer, and split view interactions.
- Prevent duplicate prompt submissions while Duet prepares both providers, and keep text you edit during a send.
Download Duet.zip, extract it, and move Duet.app to Applications. The archive includes LICENSE.md.
Duet 1.6.0
Duet 1.6
This release adds precise location support and configurable startup destinations while improving permissions, Quick Prompt reliability, and workspace restoration.
What’s new
- Use precise location features in ChatGPT and Claude through native macOS location permission, limited to trusted provider pages.
- Choose whether Duet opens to the destination chooser, ChatGPT, Claude, Both, or your last-used workspace.
Improvements and fixes
- Avoid repeated microphone permission prompts for trusted provider pages while preserving explicit camera prompts and denying untrusted requests.
- Make cold-start Quick Prompt delivery more reliable by waiting for the selected provider workspace and a visible composer before sending.
- Remember the workspace size between launches and center the first workspace window on the visible display.
- Refine Settings with clearer native sections for startup, performance, and notification preferences.
- Expand automated coverage for startup restoration, window behavior, Quick Prompt readiness, microphone permissions, and precise location.
Duet 1.5.0
Duet 1.5
This release adds native provider notifications and printing while improving background reliability and dark-mode loading.
What’s new
- Receive a native macOS notification when ChatGPT or Claude finishes responding while Duet is hidden, minimized, or inactive, then click it to return to the originating provider.
- Control response-completion alerts with the new default-on Notify when responses finish setting.
- Use provider Print controls with the native macOS print panel, including focused output for recipes and cards.
Improvements and fixes
- Keep response-completion detection reliable when Duet is hidden, minimized, or covered.
- Prevent duplicate completion alerts when a provider has already issued a notification.
- Preserve notification routing when Duet is opened from a notification.
- Prevent provider pages from flashing white while loading in dark mode.
- Strengthen notification security by accepting requests only from trusted provider pages.
- Expand automated coverage for notifications, background response detection, printing, and dark-mode loading.
Duet 1.4.0
Duet 1.4
This release adds native downloads and lightweight update notifications while making Quick Prompt, provider switching, and workspace restoration more dependable.
What’s new
- Download files from ChatGPT and Claude using the native macOS save dialog.
- Receive a passive, dismissible notification when a newer Duet release is available, with one-click access to its release page.
Improvements and fixes
- Prevent downloads from leaving a provider pane stuck loading or showing a false page failure.
- Improve Quick Prompt recovery when the Duet workspace is hidden, minimized, or closed.
- Prevent stale restored windows from competing with the active workspace.
- Strengthen provider ownership and cleanup during rapid switching, split-view transitions, and retention changes.
- Avoid persistent sign-in-required prompt notifications while preserving other actionable feedback.
- Expand automated coverage for downloads, update-version comparisons, provider lifecycle transitions, and workspace restoration.
Duet 1.3.0
Duet 1.3
This release adds file attachments and microphone access for provider features while making prompt delivery and Quick Prompt more reliable.
What’s new
- Upload files through ChatGPT and Claude using the native macOS file picker.
- Use provider dictation and audio-chat features, with Duet requesting microphone permission when needed.
Improvements and fixes
- Quick Prompt now reliably reopens and focuses the Duet workspace after its window has been closed or minimized.
- Existing provider drafts are preserved instead of being overwritten by prompts sent through Duet.
- Improved sign-in and page-readiness detection for ChatGPT and Claude.
- Strengthened submission confirmation to avoid false success reports, including when sending repeated prompts.
- Prompt results remain available when Quick Prompt brings the workspace back into view.
- Improved provider switching, split-view mounting, keyboard focus, and inactive-provider cleanup.
- Expanded automated coverage for attachments, privacy metadata, prompt delivery, provider lifecycle behavior, and release-version consistency.
Duet 1.2.0
Duet 1.2
This release adds more control over Duet’s memory usage and switching performance while simplifying prompt submission feedback.
What’s new
- Added a Keep both providers loaded setting for faster switching between ChatGPT and Claude.
- Duet retains its lower-memory default, releasing inactive provider views while preserving website session data.
- The performance preference persists between launches.
Improvements and fixes
- Simplified the prompt drawer and removed unnecessary idle status messaging.
- Success and failure feedback now appears through transient notifications without shifting the surrounding controls.
- Provider and split-view controls are protected from accidental changes while a prompt is being delivered.
- Hidden provider views no longer retain keyboard focus.
- Expanded automated coverage for provider retention, release behavior, and web-view lifecycle handling.