# Napdock > A native macOS app, written in Rust, for running Claude Code, Codex and Pi side by side. Agents stop for your approval before commands run, each session gets its own Git worktree, and everything runs on your Mac with no account. Napdock Cloud adds checkpoints, sync and moving a session between machines. Napdock is a native macOS app for running coding agents. The interface is Rust on GPUI, drawn with Metal; there is no Electron and no web view, and an idle window draws no frames. It runs Claude Code (through the Claude Agent SDK), Codex (through codex app-server) and Pi (through its RPC mode) side by side. Each provider keeps its own login, model, tools and rules; you sign in through the provider's own CLI and the app never reads or copies the credential. Agents show plans, ask questions and wait for Allow once or Deny before commands run, on one approvals card shared by all three providers. Four permission modes run from Supervised to Full access. Sessions live in one of two places, set in Settings: This Mac only, which needs no account and uploads nothing, or Cloud, which needs a Napdock account (passkey or Google). Cloud sessions are synced, saved as a checkpoint of the files and conversation after every turn that changes files, and can run in a cloud container and move back to the Mac with one writer at a time. The hosted service is not open yet. Extensions are TypeScript packages whose UI the app draws natively, sandboxed and limited to the access they declare. The napdock CLI gives scripts and agents the account features with JSON in and out. Napdock is not released yet. It will run on Apple silicon Macs with macOS 13 or later; there is no public download and no pricing yet. ## Features ### Providers and models - **Claude Code** (On your Mac): Through the Claude Agent SDK. Sonnet 5.5 by default, or Opus 5.5, Fable 5.1, Haiku 5.5 or any model id your account can use. Thinking from Low to Max. - **Codex** (On your Mac): Through codex app-server. GPT-6.1 Sol by default, or GPT-6 Astra, Sol and Luna, or GPT-5.6 Sol, Terra and Luna. Reasoning effort from None to Ultra where the model allows it, and Fast mode. - **Pi** (On your Mac): Through Pi's RPC mode, with whatever models your Pi is set up with. Thinking from Off to Max. - **Switch mid-session** (On your Mac): Change provider in the composer and the next agent continues the conversation. The transcript marks where it happened. - **Plan limits** (On your Mac): The status bar shows how much of your Claude or Codex plan's limit is left. - **Provider status** (On your Mac): See which providers are installed and signed in before you start a session. ### Approvals and control - **Approvals card** (On your Mac): One card for all three providers: Allow once or Deny, with the command or edit in full. - **Permission modes** (On your Mac): Supervised, Auto-accept edits, Auto and Full access, set per session. - **Questions** (On your Mac): Agents ask single-choice, multiple-choice and free-text questions on a card you answer from the keyboard, with the asking subagent named. - **Plans** (On your Mac): An agent's plan is shown before it edits anything. - **Plan and Review modes** (On your Mac): Ask for a plan or a review for one message, then go back to normal work. - **Slash commands** (On your Mac): /plan, /review, /goal, /model, /btw and /stop from the composer. - **Message queue** (On your Mac): Keep typing while a turn runs; messages go out in order. ### Parallel work - **A worktree per session** (On your Mac): Each session can run in its own Git worktree under ~/.napdock/worktrees, or in the project folder if you prefer. - **Side chats** (On your Mac): Ask a quick question with /btw on a read-only copy of the conversation. - **Subagents** (On your Mac): Claude's subagents are listed live in their own pane as they work. - **Delegated tasks** (On your Mac): An agent can hand work to new sessions, up to eight at once, never with more permission than its own. - **Forks** (On your Mac): Fork a whole session, or from any finished turn. - **Needs input** (On your Mac): The sidebar groups sessions into Needs input, Working and Recent, and a notification tells you when a turn finishes. ### Reading the work - **Markdown** (On your Mac): Tables, task lists, syntax-highlighted code, math as Unicode and Mermaid diagrams you can zoom. - **Diffs** (On your Mac): Unified or side by side, with image, audio and video diffs. - **Files** (On your Mac): Read any file in the session's checkout in the Files pane. - **Attachments** (On your Mac): Up to 10 files a message, 10 MB each, with HEIC converted and a viewer for what you sent. - **Context meter** (On your Mac): See how full each conversation is before it runs out of room. - **Drafts and archive** (On your Mac): Unsent prompts keep; finished sessions fold away until you want them back. ### Checkpoints and the cloud - **Checkpoints** (With an account): The files and the conversation, saved together after every turn that changes files, labelled by why. - **Compare and browse** (With an account): Compare from any checkpoint, see each file's diff, and browse the files as they were. - **Cloud containers** (With an account): Run a session in a container started from its saved commit, with your Mac's lid closed. - **Move a session** (With an account): Between a cloud container and your Mac, one writer at a time; the machine it left is fenced. - **Handover** (With an account): When both sides changed files, compare Yours and Incoming, keep both, merge with AI or open a pull request. - **Sync** (With an account): Projects and sessions follow your account between clients. - **GitHub import** (With an account): Start a project from a GitHub repository. - **Previews and terminals** (With an account): Open a running port behind a signed-in preview URL, or a terminal in the browser. ### Accounts and connections - **Your own logins** (On your Mac): Each provider signs in through its own CLI. napdock never reads or copies the credential. - **MCP with OAuth** (On your Mac): MCP servers that need a login sign in through your browser, with tokens in the Keychain. - **Several GitHub accounts** (With an account): Name each account and use them side by side. - **Passkeys** (With an account): Sign in to napdock with a passkey or Google, approved in your browser, with eight recovery codes. ### Appearance - **Themes** (On your Mac): 18 families, light and dark: Ink, Glass, Delta One, Moss, Tide, Kiln, Dusk, Rose, Sand, One, Ayu, Gruvbox, Solarized, Catppuccin, Rosé Pine, Tokyo Night, GitHub and Nord. Import Zed themes too. - **Interface fonts** (On your Mac): Geist, Inter, IBM Plex Sans, Source Sans 3, Plus Jakarta Sans, Paper Mono or the system font. - **Code fonts** (On your Mac): Geist Mono, JetBrains Mono, Lilex, Fira Code, IBM Plex Mono, Source Code Pro or Paper Mono. - **Three sizes** (On your Mac): Interface, prose and code each from 10 to 24 points. ### Extending - **Extensions** (On your Mac): Panels, commands, keybindings, settings pages, menus, slots, renderers, link handlers, themes, and tools, skills and hooks for agents. - **Sandboxed by default** (On your Mac): An extension's UI runs in a worker and its main part gets only the access it declares, which you can revoke. - **napdock-ext** (On your Mac): Scaffold, build, check, test, pack and install extensions from the command line. - **The napdock CLI** (With an account): Every account feature from a shell, with JSON in and out, for scripts and other agents. ## Pages - [Home](https://napdock.aakashreddy.com/): Claude Code, Codex and Pi in one native Mac app. - [Features](https://napdock.aakashreddy.com/features/): Everything it does. - [How it works](https://napdock.aakashreddy.com/how-it-works/): The architecture. - [Download](https://napdock.aakashreddy.com/download/): Get the app. - [Changelog](https://napdock.aakashreddy.com/changelog/): What shipped lately. - [Extensions](https://napdock.aakashreddy.com/extensions/): Build your own. - [CLI](https://napdock.aakashreddy.com/agents/): Overview. - [FAQ](https://napdock.aakashreddy.com/faq/): Questions and answers. - [Privacy and security](https://napdock.aakashreddy.com/privacy/): What leaves your Mac. ## Optional - [llms.txt](https://napdock.aakashreddy.com/llms.txt): This site, for language models. - [Sitemap](https://napdock.aakashreddy.com/sitemap-index.xml): Every public page.