One window for you and your AI agents.

The AI-native workspace for macOS

Terminal, browser, files, Git and Canvas in one window, and your agent can use all of it: open a page and read it, draw you a diagram, drive the simulator. A companion app puts the whole workspace in your pocket.

Nexion isn't another coding agent. It's the workspace where all your coding agents work.

Works with the agents you already use
Claude Code·Codex·Copilot·Gemini·Antigravity·opencode
Nexion
Project
Google
Console
Changelog
Canvas
🤖 Claude Code Opus 4 · /Volumes/dev/myapp
❯ scaffold the REST API with auth
⠋ Reading project structure…
✓ Created src/routes/: 6 endpoints
✓ Added JWT middleware
✓ Generated 18 tests: all passing
❯ deploy to staging
✓ Live at staging.myapp.dev
❯ █
src
routes
auth.ts
users.ts
posts.ts
middleware
jwt.ts
tests
package.json
.env
⎇ main +86 -4

Context switching kills your code.

AI agents need a terminal, you need a browser, files, and Git.
That's 4 to 5 windows fighting for your attention.

Terminal + Editor + Browser + Files + Git + Canvas = Nexion

Features

Everything you need in one window.

❯ ssh deploy@production
✓ Connected to 10.0.1.42
❯ docker ps --format table
CONTAINER STATUS PORTS
api Up 3 days :8080→8080
worker Up 3 days -
redis Up 3 days :6379→6379

Terminal

Powered by Ghostty

GPU-accelerated Metal rendering, infinite split panes, 458 color schemes, and a native tmux session manager with SSH auto-discovery. Terminal docs

mcp__nexion__sim_tap
mcp__nexion__attach_files
mcp__nexion__notify_user
mcp__nexion__canvas_set_scene
mcp__nexion__browser_text

Agents Can Use Nexion

50 MCP toolsCLIUnix socket

Not just a window your agent works in: one it can work with. Claude Code, Codex, Gemini and opencode get typed tools the moment they start here, plus pages they can search when they need to know how something works. The same surface is a CLI and a JSON-RPC socket, and every tool is documented and deliberate, so you can hand an agent the workspace and keep the keys. llms.txt

Plugin System

JavaScriptCore16 sub-APIs

Extend Nexion with sandboxed JavaScript plugins covering tabs, terminal, git, editor, canvas, filesystem, notifications, and more. A plugin that brings a panel gets a card of its own in the sidebar, switched off until you want it. Plugin docs

💼 work
app.example.com/billing
R
Card4242 4242 4242 4242
NameR. Banihashemi
PlanTeam, yearly
Continue
∞∞ private
app.example.com/billing
?
Card
Name
Plan
Continue

Web Browser

Built on WebKitprofile per paneWeb Inspector

The profile belongs to the pane, not the window: the same page signed in on one side and recording nothing on the other. Google sign-in completes instead of refusing the app, the Web Inspector docks inside the pane, and any page prints to PDF.

A page moves to a window of its own with its half-filled form intact, idle tabs freeze to give their memory back, and camera and microphone are per site with a kill switch. All of it drives from the command line, or from an agent. Browser docs

api
rate limits
flaky test
webhooks
staging logs
dashboard
nexion.one
changelog
pricing page
notes
💼
🌱
📚
🌌
❯ claude
Reading the changelog template…
✓ Done in 41s
❯

Spaces & Projects

One windowN contextswork that outlives its tabs

A space is a context: its own projects, its own tabs, its own colour and its own browser profile. Client work in one, your own things in another, and neither shows the other's tabs. Swipe sideways over the sidebar to change, or press Control-Command and an arrow.

Inside a space, a project is a folder that keeps its tasks after you close them. A task is one piece of work: its tab, the git worktree it runs on so two tasks never fight over one checkout, and the agent conversation it carries. Close it and the row stays; open it again and the agent picks up where it left off. How it works

claude → codex migrate the tests to vitest
codex is working…
codex → claude [done] 12 files, all green

Agents That Talk To Each Other

Alphaoff until you switch it on

An agent sees the other panes, reads what the agent in one of them actually said, sends it a message and waits for the answer. It reads the conversation from the file that agent writes, not off the screen: a terminal redraws in place, so what is left on it is not what was said.

Typing into somebody else's pane is off until you allow it. How it works

Awake automatically
cargo build is running
You asked
1:42:07 left
iPhone connected
tap to let the Mac sleep

Keep Awake

agentslong builds

A cup in the title bar holds sleep off: click for indefinite, right-click for a timer with a countdown ring. It also decides on its own, holding the Mac up while an agent or a long build is working and letting go once things go quiet, so an agent sitting idle at its prompt does not keep you up all night. Your phone can hand the sleep back without you walking over. nexion awake

Claude · Nexion
Task completed. Ready for review.
Terminal
✅ make finished (42s)
sudo
⏳ sudo may need your attention

Notifications

AI agentslong commands

Claude Code, Codex and Antigravity hooks fire via IPC on completion or permission request. Long commands, idle detection, and sudo prompts: native alerts, badge, sound, and a clickable toast that jumps back to the right tab. nexion notify

Code Preview & Edit

Powered by Monaco

34-language syntax highlighting, image/PDF/diff preview, AI Explain Code, and built-in Edit mode. Editor docs

src
api
weather.ts M
forecast.ts A
services
cache.ts
package.json
README.md

Finder

File Explorer

Project file tree with color-coded git status, Quick Open via ripgrep, drag & drop attachments, and auto-fold for single-child directories.

It is one card in a sidebar you compose: Git, GitHub Issues, Attach, Notes and whatever your plugins add, opened from the + menu, moved between two columns, resized, closed. Each project remembers how you left it. Finder docs

AI Bot Toolbar

ClaudeCodexGeminiAntigravityAideropencodeCopilot

One-click launch for every major AI coding agent: each with its own isolated session and built-in usage tracking. Sessions get typed Nexion tools over MCP, and can run on local models via Ollama. AI features

iOS Simulator

CaptureInstallDrive

Boot a device from the gutter, drop screenshots and recordings straight into your prompt, install a build by dropping the .app, and let an agent tap, swipe, and type on the screen: all without leaving the workspace. nexion sim

C
Claude Code
Fix the auth bug in @src/auth.ts#L42-58 using config from @package.json

Prompt References

@path injection

Right-click any file to inject @path or an exact line range at cursor: compatible with any AI coding agent. How references work

14 Mar 2026 Todo
Refactor auth middleware for OAuth2
13 Mar 2026 Bug
Memory leak in WebSocket handler
12 Mar 2026 Idea
Add batch export for analytics API
11 Mar 2026 Reference
Docker compose override for staging

Notes

Per-project scratch pad

Color-coded tags, markdown preview, file attachments, and one-click send to terminal with @attachments. Notes docs

main
feature/api
hotfix/auth

Git Integration

ChangesHistoryBranchesIssuesAI

Visual diff viewer, AI-powered commit messages and PR descriptions, branch management, and color-coded status across all files in Finder. A right-sidebar GitHub Issues card browses, filters, and creates issues for the current repo over OAuth. Git docs

Canvas

Powered by Excalidraw

Built-in whiteboard for architecture diagrams, wireframes, and flowcharts: sketch and hand directly to your AI agent without switching windows. Canvas docs

Ollama
localhost:11434
qwen2.5:7b
llama3.2:3b

Local AI

Ollamano API key

Run the in-app AI features: explain code, commit messages, PR descriptions, terminal analysis, on models on your own machine via Ollama. No API key, and nothing leaves the Mac.

Native tmux Session Manager

Attach to local and remote tmux sessions without leaving Nexion.

Stop juggling terminal windows to manage tmux sessions. Nexion brings a visual session manager that reads your SSH config, lists sessions on any host, and lets you attach with a single click.

  • Local & Remote Sessions

    Browse tmux sessions on localhost or any host from ~/.ssh/config. Live status with attached/detached indicators.

  • SSH Agent & Keychain

    Seamless SSH key auth with macOS agent forwarding. Passphrase prompts via native dialogs with optional Keychain save.

  • Smart Split Pane Attach

    Sessions open in a dedicated split pane with a status badge. Detach with Ctrl+B, D or by closing the pane.

tmux Sessions CONNECTIONS Local dev-server [email protected] production [email protected] staging [email protected] Local 3 sessions api-server attached 3 win 2h ago Attach Delete build-runner 1 win 5h ago monitoring 2 win 1d ago New Session

Your workspace, in your pocket

Nexion companion for iPhone and iPad. Coming soon.

Pair your phone or tablet with your Mac over your own network and your workspace travels with you: the same terminals, web tabs and canvases you have open on the desktop, live and controllable from your hand. Nothing in the cloud.

CONNECTED MacBook Pro >_ api-server TERMINAL 2 design-notes CANVAS >_ web-app TERMINAL docs-internal WEB >_ staging TERMINAL >_ mobile-app TERMINAL 2 >_ web-app ⌘ Pane 1/1 Claude Code Opus 4.8 ~/work/web-app ⚠ 2 MCP servers need auth › analyze the project ● Analyzing the project. Exploring the structure. ● Running 2 shell commands… $ for f in README.md CLAUDE.md package.json go.mod; do cat "$f"; done | head -200 Bash command Show manifest and doc files 1. Yes, proceed Untitled 4 Canvas A API CACHE
  • Terminals, with tmux

    Every terminal is mirrored and interactive. Drive a tmux session from the phone: switch windows, open a pane full-screen and readable, and scroll back through its history.

  • Web tabs as real pages

    Open a Mac browser tab as a real, interactive web page. It runs through the Mac's own network, so it reaches the same sites (local, LAN and VPN included) and keeps you signed in.

  • The whole workspace

    Canvas boards and switching between the Mac's open windows, all mirrored to the phone and kept in sync as you work.

  • Private by design

    Pairing is approved on the Mac. Sessions and cookies stay scoped to the tab you are viewing, never the whole Mac.

AI-Powered Features

Works with Anthropic, OpenAI, Codex / ChatGPT, Gemini, GitHub Models, or local models via Ollama.

Explain Code AI explanation of any file
Diff Summary Analyze uncommitted changes
Commit Message Generate from staged changes
PR Description Generate from branch diff
Terminal Analysis Diagnose errors with AI
Command Assistant Natural language → shell ⌘⇧A
Page Summary Summarize any web page

Frequently Asked Questions

What AI subscriptions do I need?

Nexion works with multiple AI providers for built-in features such as Explain Code, Diff Summary, Commit Message, PR Description, Terminal Analysis, Command Assistant, and Page Summary: Anthropic (API key), OpenAI (API key), Codex / ChatGPT (OAuth sign-in), Gemini (API key or Google account), and GitHub Models (access token). AI coding agents like Claude Code, Codex CLI, Gemini CLI, Aider, and GitHub Copilot each require their own separate subscriptions.

What macOS version is required?

Nexion requires macOS 15.0 (Sequoia) or later on Apple Silicon.

Is it Electron-based?

No. Nexion is built with native Swift and SwiftUI. The terminal is powered by Ghostty (Zig + Metal GPU rendering). The browser uses Apple's WebKit. There is no web wrapper or Electron involved.

Can I use my own editor?

Yes. Nexion is not a code editor, it is a workspace. You can open any file in one of 20 supported external editors (VS Code, Cursor, Zed, Xcode, JetBrains, Sublime Text, and more) via right-click or the toolbar button. Nexion also includes a built-in Monaco Editor for quick edits, a file preview pane with syntax highlighting for 34+ languages, and a git diff viewer, but your preferred editor remains the primary tool.

How do plugins work?

Plugins are written in JavaScript and run on JavaScriptCore in isolated contexts. There are 12 API namespaces available. To install a plugin, drop the .nexionplugin bundle into ~/.nexion/Plugins/.

Is my data portable?

Yes. All configuration is stored in ~/.nexion/. Copy the directory to transfer everything: settings, plugins, userscripts, bookmarks, and preferences.

Plugin Ecosystem

12 official plugins built by the Nexion team.

Dependency Checker

Detect outdated dependencies in your project and check for updates.

Docker Manager

View and manage Docker containers, images, and volumes from the sidebar.

Dotenv Validator

Validate .env files against .env.example and detect missing variables.

Git Flow

Streamlined Git Flow operations: feature, release, and hotfix branches.

Pomodoro Timer

Focus timer with work/break intervals and session tracking.

Project Info

Display project metadata, language stats, and repository information.

Quick Commands

Save and run frequently used terminal commands with one click.

Run File

Run the current file in terminal with language-appropriate commands.

Snippets

Global code snippets with language tagging, fuzzy search, and usage tracking.

Script Runner

Discover and run package.json scripts, Makefiles, and task files.

System Monitor

Real-time CPU, memory, and disk usage monitoring in the toolbar.

TODO Tracker

Scan your codebase for TODO, FIXME, and HACK comments.

Cut the context switching.
Get back to building.

Download for macOS