For Developers

Your agents deserve
a real platform

Stop context-switching between terminals, platforms, and agents. Ocean gives every AI agent its own isolated workspace and merges the results back automatically. One app. Every agent. Zero interference.

You pay the context-switching cost

You're running Claude Code in one terminal, Aider in another window, Codex on a completely different platform. Every time you jump between them, you — the developer — lose your train of thought. Where did that agent leave off? What files did it change? Is it still running?

Worse: when you hand a task from one agent to another, the new agent starts with zero context. It doesn't know what the previous agent decided, what patterns it followed, or what state it left behind. Every agent handoff is a context loss that you have to bridge manually.

The tools you use today — iTerm, tmux, VS Code — can't help. They were built before AI agents existed. They show you terminals, not agent workflows.

One platform, zero switching

Ocean keeps all your agents in one place. Every session is visible with agent status, file changes, and activity timeline side by side. You stop switching between windows and start orchestrating.

Copy-on-write isolation gives each agent its own filesystem snapshot via APFS clonefile. They work in parallel without interference. The Session DAG tracks what each agent did and how sessions relate — so when you hand work off or merge results, the context is preserved in the tool, not just in your head.

When you're done, hit Cmd+Shift+S. Ocean merges sessions, resolves conflicts with its 3-way merge engine, and opens a pull request. Three agents, one clean PR, no context lost.

Session DAG — the primitive that holds it all together

Every session is a node in a directed acyclic graph. Fork an agent off another agent's branch, experiment on top of a teammate's session, or roll back a whole subtree without touching the rest. Cmd+Shift+G opens the visualizer.

Your parallel work has a shape, and Ocean shows you that shape. When you're three agents deep and trying to figure out "where did this come from?", you answer it by looking — not by running git reflog.

fork & branch rollback subtree Cmd+Shift+G parent links persisted
Session graph
main origin Claude refactor-auth Cursor landing-copy Aider add-tests Codex rate-limit
4 sessions · 3 agents · 1 graph

Copy-on-Write Session Isolation

Each session gets an APFS clone of your project. Spawning a new session takes ~50ms and costs near-zero disk space — only bytes that actually change get written.

This means you can run Claude Code, Codex, and Aider on the same codebase simultaneously. They can't step on each other's files because they're each working on their own filesystem snapshot.

APFS clonefile ~50ms spawn ~KB per session no Docker
Session isolation
SESSION 1 (COW clone #1)
~/api $ claude "refactor auth"
Writing: auth.ts, middleware.ts
 
SESSION 2 (COW clone #2)
~/api $ codex "add rate limit"
Writing: middleware.ts, config.ts
 
SESSION 3 (COW clone #3)
~/api $ aider "add logging"
Writing: logger.ts, middleware.ts
 
3 sessions, 3 isolated clones
No file conflicts during work

Agent Detection + Claude Native

Ocean automatically detects 8 AI coding agents — Claude Code, Codex, Aider, Cursor, Copilot, Cody, Gemini, and Devin. Each gets a status badge, health metrics, and waiting notifications.

Claude Code gets special treatment: Claude Native (A2UI) renders rich interactive UI components — buttons, cards, forms, tables, code diffs, progress bars — directly inline in the terminal via OSC escape sequences. No separate app needed.

8 agents detected A2UI protocol inline rendering voice alerts
Agent dashboard
ACTIVE AGENTS
 
Claude active 12.4k tokens · $0.08
auth.ts refactored, tests passing
 
Codex working 8.1k tokens · $0.04
rate limiter added, configuring
 
Aider done 5.2k tokens · $0.02
logging middleware complete
 
TOTAL: 25.7k tokens · $0.14

3-Way Merge + AI Resolution

When sessions produce conflicting changes, Ocean's 26-step conflict resolution pipeline kicks in. You get base/ours/theirs comparison with inline hunk-level editing.

For complex conflicts, the AI Merge button sends the conflict to Claude for intelligent resolution. The merge queue lets you batch-resolve 20 conflicts as fast as 1. File locks let you prevent conflicts before they start.

3-way diff AI merge hunk-level merge queue file locks
Conflict resolution
CONFLICT: middleware.ts
Lines 42-58 modified by 2 sessions
 
<<< SESSION 1 (Claude)
export const auth = jwt({
secret: process.env.JWT_KEY,
algorithms: ['HS256']
});
===
>>> SESSION 3 (Aider)
export const logger = winston({
level: 'info',
transports: [console, file]
});
 
[AI Merge] Resolved: both additions kept

Workflow Engine

Build multi-step task pipelines with a visual DAG editor. Define workflows in TOML with task dependencies, event triggers, and model selection per step.

Trigger workflows on git.push, pr.opened, or schedule.daily. Drag Claude Skills directly onto the DAG. Live execution timers show progress per task.

visual DAG editor TOML-based event triggers execution dashboard
workflow.toml
[workflow]
name = "deploy-pipeline"
 
[[tasks]]
id = "lint"
command = "npm run lint"
events = ["git.push"]
 
[[tasks]]
id = "test"
command = "npm test"
depends_on = ["lint"]
 
[[tasks]]
id = "review"
prompt = "Review the changes"
model = "claude-sonnet"
depends_on = ["test"]

Plugin System

Three-tier extensibility: MCP servers for tool integration, WASM sandbox for safe third-party code, and native Rust for performance-critical plugins.

Plugins declare capabilities in ocean-plugin.toml. Permission-based access control. Install from the built-in plugin store or load from disk. Themes, tools, and workflow extensions — all plugins.

MCP servers WASM sandbox native Rust plugin store
ocean-plugin.toml
[plugin]
name = "ocean-dark-pro"
version = "1.0.0"
type = "theme"
 
[permissions]
read_settings = true
write_settings = false
terminal_access = false
 
[theme]
background = "#0a0a0f"
foreground = "#e4e4ef"
accent = "#06b6d4"

Session Recording & Replay

Every session captures terminal output, commands, agent activity, and timing. When an agent shipped a bug three days ago, you don't reconstruct what happened — you scrub the timeline and watch.

Replay any session at adjustable speed, jump to a specific event, or export the transcript for a post-mortem. The same stream powers debugging on Monday and forensics on Friday.

timeline scrubber variable-speed replay event jump transcript export
session-replay · refactor-auth
[14:02:11] Claude spawn session
[14:02:14] ~/api $ claude "refactor auth"
[14:02:48] read auth.ts (124 lines)
[14:03:02] read middleware.ts (87 lines)
[14:04:20] edit auth.ts — line 42-58
[14:04:21] edit auth.ts — removed JWT_SECRET fallback
[14:05:09] npm test — 84 passed, 0 failed
[14:05:55] session committed
 
«
» 2.1x

Built for keyboards, not menus

Every action in Ocean is reachable from the keyboard. The mouse is optional.

Cmd+T  new session Cmd+Shift+P  command palette Cmd+P  quick-switch sessions Cmd+Shift+G  session graph Cmd+Shift+S  ship to PR click any path or URL in agent output click any stack-trace line fully customizable bindings

Built for developers who read source code

Ocean is not a wrapper. It's 65,000 lines of Rust and TypeScript with a real architecture.

2,937
Tests
977 Rust + 1,960 frontend + E2E
101
IPC commands
Every operation is scriptable
65K
Lines of code
210 source files, 17 Rust modules
Tauri 2 (Rust) SolidJS xterm.js WebGL SQLite WAL libgit2 APFS clonefile <100MB idle memory

Start building with agents the right way

Ocean is free during beta. Download now and see what multi-agent development feels like on a real platform.

Download for macOS