AgentDock is a native macOS app for running multiple isolated profiles of the official OpenAI Codex and Anthropic Claude desktop apps. Each profile receives separate application state, can run alongside the stock app and other profiles, and can have its own Dock-pinnable shortcut.
Download the latest notarized release · Visit the website · Read the documentation · Report a bug · Contribute · Security · License
Important
AgentDock isolates supported application state; it is not an operating-system sandbox. Managed instances retain normal access to your files, shell, network, Keychain, Git configuration, and SSH credentials.
- Run multiple app profiles side by side with separate local state.
- Open or focus the normal official installation independently of managed profiles.
- Focus and close an exact profile without quitting another running instance.
- Select a named Codex config profile such as Ollama for each managed profile, switch a running profile with an automatic restart, and return to the managed profile's own default or Built-in Codex OAuth at any time.
- Install native, profile-specific shortcuts under
~/Applications/AgentDock/. - Check for, download, and install signed AgentDock updates with Sparkle.
- Browse supported local chat histories with safe links, tables, selectable prose, syntax-highlighted code, and bounded tool output.
- View supported local activity, storage, usage-limit, and lifecycle information for official installations and managed profiles.
- Verify official app identity and code signatures before managed operations.
- Preserve profile data by default when removing a profile from the app.
- An Apple silicon Mac running macOS 26 or newer.
- The official Codex app, the official Claude app, or both.
- Swift 6.2 or newer only when building from source.
AgentDock does not redistribute or modify either provider app. If an app is not
installed in /Applications, select its signed .app bundle in AgentDock
settings.
- Download the DMG from the latest release.
- Open it and drag AgentDock onto the Applications shortcut.
- Launch AgentDock. The release is Developer ID signed, hardened, notarized, and stapled for Gatekeeper verification.
AgentDock releases that include Sparkle update themselves from the signed Stable channel by default. Settings also offers an opt-in Alpha channel for signed prerelease builds after changes merge; users can return to Stable at any time. Installations from before Sparkle support require this one final manual download; automatic updates begin after that version is installed.
Release pages also provide a ZIP and SHA-256 checksums. See Release operations for verification and maintainer release procedures.
- Open AgentDock and choose Add Profile.
- Select the provider and give the profile a descriptive name.
- Select the profile and choose Open.
- Sign in inside that managed provider window.
- Optionally choose Install Shortcut for a Dock-pinnable launcher.
- Repeat for another account or provider.
For Codex, the compact Provider row beneath Usage discovers native
CODEX_HOME/<name>.config.toml profiles for that account. Choose Use
Default, Built-in Codex (OAuth), or a named profile such as Ollama.
Make Default changes the provider default only for the selected managed or
official account. Changing the selection while Codex is running closes and
reopens only that account with the selected profile applied as desktop
app-server configuration overrides.
Drag managed profiles within their provider section to keep the sidebar in the order you prefer. The order persists across launches; official provider rows remain fixed.
The action changes to Focus while a profile is running. Close targets only the selected profile. Remove From List preserves its local data; permanent deletion is a separate confirmed action.
Use Command-F to search the current profile or chat list, Command-Shift-F to search profiles from anywhere, and Command-R to refresh. The selected profile remains visible above each detail section.
AgentDock is local-first. It does not provide cloud synchronization or upload
managed profile data. Optional pseudonymous product analytics remain off until
you explicitly allow them and can be disabled immediately in Settings. They never
include profile, account, path, command, prompt, chat, transcript, session,
configuration, log, or crash content. AgentDock stores profile metadata and indexes under
~/Library/Application Support/AgentDock/ and creates shortcuts under
~/Applications/AgentDock/.
Local transcript support is source-dependent:
- Codex uses supported local databases and session JSONL fallbacks.
Native OpenAI profiles read account limits through the bundled Codex
app-server. When a profile selects a custom
model_provider, AgentDock tries that provider's configuredGET /usagequota endpoint instead and shows its percentage-based allowance windows and reset times. A custom provider is never shown with an unrelated OpenAI quota. - Claude uses supported local Cowork/agent-session data. The Official Claude view can also include the lightweight Claude Code history index and matching local session files. Official and managed Claude sources expose the same source-backed session, model, and token summaries. When a signed-in OAuth credential grants profile access, AgentDock also reads Anthropic's live session, weekly, model-scoped, reset, and extra-usage status. The cross-source card keeps the official installation visible alongside every managed account. Local rate-limit events remain a clearly separate last-observed fallback.
- Ordinary synced claude.ai web chats are unavailable because Claude Desktop does not expose a stable local transcript contract. AgentDock reads only the provider-owned OAuth cache and active-organization cookie required to resolve live usage; it does not index ordinary web-chat content.
Indexes contain bounded list metadata, not full transcript bodies or absolute working directories. See Security and privacy, Data flows, and the exact optional Product analytics event catalog.
- Documentation index
- Architecture
- Code map
- Data flows
- Interfaces and contracts
- Development and testing
- Release operations
- Security and privacy
Bug reports, focused fixes, tests, documentation improvements, and feature proposals are welcome. Start with:
Please do not post credentials, account data, private transcript content, absolute home-directory paths, or unredacted logs in public issues or pull requests.
AgentDock is an early release. Provider integration is version-sensitive and fails closed when a signed installed app no longer exposes its expected local launch contract. Existing shortcuts may need to be reinstalled after launcher or profile-identity changes.
AgentDock is an independent project. It is not an OpenAI or Anthropic product.
AgentDock is licensed under the Functional Source License 1.1 with an MIT future grant. The MIT grant becomes effective on July 29, 2028. Until then, the FSL permitted-purpose and competing-use restrictions apply.
The vendored Streamdown subset retains its own FSL-1.1-MIT license and its
separate March 16, 2028 MIT grant date in
Vendor/streamdown-swift/LICENSE.
See Third-party notices for dependency licenses.