Wavefunction is a coding agent built as a desktop application for macOS. It is aimed at developers who want an agent that stays focused on writing and changing code instead of growing into a general-purpose suite. The app puts one agent and one conversation on screen, with a simple project sidebar that leaves the conversation and the composer at the center. You give it a task and keep talking while it works on several tasks at once. Wavefunction is free and open source under the MIT license, and it can run on local models, your own API keys, or a ChatGPT sign-in.
The product's starting point is a reaction to how coding agents have evolved. The site explains that coding agents keep turning into super apps, adding more with every release, while Wavefunction goes the other way: less is more, simpler is better, and building comes first. To make the contrast concrete, the site describes other apps as an interface crowded with tabs, sidebars, editor panels, and a terminal. Against that, Wavefunction shows a simple project sidebar with room for the conversation and composer, so there are fewer sidebars and fewer tabs and the conversation stays at the center. The stated intent is to leave more room to focus on your code.
The minimal interface is a deliberate feature set rather than a stripped-down compromise. There are fewer sidebars and fewer tabs, and the conversation is the primary surface. Wavefunction does not ship a built-in browser: links open in your default browser, with the setup you already use. It also describes itself as just a coding agent, without dots, bots, built-in apps of all kinds, or a million extra features. The claim is that what remains is the set of tools needed to get things done, which keeps the app minimal, considered and fast instead of crowded.
Parallel workflows are handled by splitting work across subagents inside a single conversation. You send the next task while the last one runs; each new piece of work that can run on its own gets a subagent, and nothing waits its turn. To stay parallel without collisions, every chat starts on its own branch, and subagents that could touch the same files each get a worktree. Wavefunction reviews their changes and brings the work together. You can also steer while it works: change your mind mid-task and your message reaches the subagent already on it, so it adjusts without starting over. Fork or rewind lets you start a new chat from any message, or put the code and the conversation back to how they were.
Computer use is separated from your own machine. Other agents take over your mouse, keyboard and screen; Wavefunction gets a desktop of its own, a local Docker container with its own browser and files, so you keep working while it clicks, and you can watch it or take control at any time. The site states that it never moves your pointer, types on your keyboard, or records your screen, and that a file reaches your Mac only when the agent hands it over, into a folder you allowed. When a site needs your login, you sign in privately: the agent pauses and never sees what you type, and the chat stays signed in for next time. Downloads come to your Mac in the folder you choose, and files you add are ready to upload. Computer use needs Docker Desktop and a model that can read images.
Models are a choice rather than a lock-in. You can sign in with ChatGPT Plus or Pro, use API keys from Anthropic, Google Gemini, OpenAI, OpenRouter or Vercel AI Gateway, or run models locally through Ollama on your Mac or your server, LM Studio, or another OpenAI-compatible server. You pick a model for each chat and switch whenever you like, so you are never tied to one provider's plans or limits. Running models locally or requiring zero data retention from a provider are the two privacy paths the site describes.
Privacy is grounded in where things are stored and which services you connect. Your conversations and settings are stored on your computer. Using a local model keeps model inference local; alternatively you can configure a provider with zero data retention. Which services receive your data is determined by the models and connectors you choose. The app is open source down to the prompt, released under the MIT license, with a public GitHub repository containing backend, frontend, skills and a Tauri-based src-tauri directory alongside AGENTS.md, LICENSE and README.md. The project welcomes new contributors.
Analytics surface what the agent consumes. Wavefunction tracks token usage, cache usage, and provider-reported costs in one place, so you can see what you use, what you spend, and how it changes over time. Connectors extend what the agent can reach: there are 70+ ready-made MCP connectors, plus any MCP server you add, and the catalogue shown includes Gmail, Outlook, Google, Microsoft 365, Airtable, Asana and Atlassian. Skills and instructions keep the agent aligned with existing practice: it follows your AGENTS.md and loads SKILL.md skills from .agents, .codex and .opencode folders.
Overall, the product works as a conversation-first loop. You describe what you want in one conversation; Wavefunction can split work across subagents for the pieces that can run independently, each on its own branch or worktree. Follow-up instructions are accepted while they run and passed to the subagent already handling that work. Results are reviewed and brought back together for you to check. When a task needs a graphical environment, the agent works in its containerized desktop with its own browser and files, handing files back only into folders you permit.
The outcomes the site emphasizes follow from those choices. You get to keep the conversation flowing instead of waiting for one task to finish before describing the next, which is why the app is described as optimized for parallel workflows. That parallelism is framed as parallel without collisions because of branches and worktrees, and mid-task changes do not force a restart. Your own computer stays under your control and stays yours while the agent works. Cost and usage visibility, plus the ability to bring your own model or run one locally, keeps spending and data handling under your control rather than a vendor's.
Concrete workflows appear throughout the site. In the main example, a user asks for a billing dashboard; Wavefunction starts three subagents for the API, interface and tests, each in its own worktree. The user then asks to also add a usage chart, and a fourth subagent takes the chart while the rest keep moving. When the user says to use Stripe for the invoices, the instruction is passed to the Billing API subagent, which adjusts without starting over, and all four tasks come back ready to review. Separately, the computer-use example shows the agent working in its isolated desktop on a billing site, looking at a screen with invoices and a downloadable report, which the user can watch or take control of. Other described workflows include updating the docs from the project sidebar and relying on an existing AGENTS.md and SKILL.md setup so the agent works the way a repository already expects.
Wavefunction is built for developers on macOS; the site states it is currently available for macOS only, and you download the app, connect a model, and start a conversation. Integrations come through the MCP connector catalogue and any MCP server you add, including the listed Gmail, Outlook, Google, Microsoft 365, Airtable, Asana and Atlassian, and through repository instructions and skills. Model providers include ChatGPT sign-in, Anthropic, Google Gemini, OpenAI, OpenRouter, Vercel AI Gateway, Ollama and OpenAI-compatible servers such as LM Studio. Pricing is free and open source under the MIT license; you bring your own models or provider account, and any model usage charges come from your provider. Computer use additionally requires Docker Desktop.
The takeaway is a deliberately small tool with a large amount of leverage: one agent, one conversation, parallel subagents that keep working while you keep talking, a containerized desktop that leaves your Mac alone, and your choice of model, all in a free, MIT-licensed macOS app that is open source down to the prompt.