Ocean Logo

Ocean Documentation

Ocean is the platform and trust layer for coding agents. It gives teams using Claude, Codex, Cursor, Gemini, and other agents isolated workspaces, validation evidence, spend control, PR status, and safe merge paths before code reaches production.

Ocean is available for macOS on Apple Silicon. Download the current release from GitHub.

Core Concepts

ISO

Isolated Agent Workspaces

Every agent session runs in its own copy-on-write workspace, so risky refactors and experiments stay separate until a human reviews and merges them.

CTL

Control Plane

Ocean tracks agent state, files touched, PR readiness, review status, CI checks, local ports, notifications, and spend so teams can govern agentic development from one platform.

VAL

Validation Before Merge

Use the merge panel, git visualizer, PR runtime, command history, and status surfaces to decide which agent work is safe to promote.

AUD

Local Audit Trail

Sessions, command history, workspace state, usage quota data, and project organization are persisted locally so developers can inspect what happened without sending terminal content to Ocean.

Platform Map

Workspaces

Repo-aware environments with isolated sessions, split panes, projects, and local state.

Agents

Detection and status tracking for Claude, Codex, Cursor, Gemini, Aider, Copilot, Cody, and Devin.

Validation

Git visualizer, PR polling, review decisions, CI checks, conflict detection, and AI-assisted merge.

Governance

Usage quota notifications, plugin permissions, team relay auth, local privacy boundaries, and audit data.


Installation

macOS (Apple Silicon)

  1. Download the latest release from the Releases page
  2. Extract the archive:
    tar -xzf Ocean_*_aarch64.app.tar.gz
  3. Move Ocean.app to your Applications folder:
    mv Ocean.app /Applications/
  4. On first launch, macOS may block the app. Open System Settings > Privacy & Security and click Open Anyway, or run:
    xattr -cr /Applications/Ocean.app
  5. Double-click Ocean.app to launch

Getting Started

When Ocean launches, you'll see a single session in the Default workspace. From there you can create isolated agent sessions, connect a repository, organize work into projects, and monitor status from the sidebar and top status bar.

The Interface

┌──────────────────────────────────────────────────────┐
│  NetworkIndicator   SystemMetrics         GitStatus  │  Status Bar
├──────────┬───────────────────────────────────────────┤
│ SESSIONS │  ● Shell 1                                │  Pane Header
│          │                                           │
│ Default  │  ~ $                                      │  Terminal
│ ● Shell 1│                                           │
│ ● Shell 2│                                           │
│          │                                           │
│ Settings │                                           │
├──────────┴───────────────────────────────────────────┤
│ docker ● │ flutter ● │ node ●                        │  Connectors
└──────────────────────────────────────────────────────┘

Sessions

Sessions are individual terminal instances, each running its own shell process.

Action Shortcut
New session Cmd+T
Spawn child session Cmd+N
Close session Cmd+W
Switch tabs Cmd+1 through Cmd+9
Previous / next tab Cmd+[ / Cmd+]

Split Panes

Work on multiple things side by side within the same tab.

Action Shortcut
Split vertical (side by side) Cmd+D
Split horizontal (stacked) Cmd+Shift+D

Sidebar Indicators

Sessions sharing a split show direction-aware badges:

Badge Meaning
┃2 2 panes side by side (vertical)
━2 2 panes stacked (horizontal)
┼3 3+ panes, mixed layout

Resizing


Workspaces

Workspaces group sessions around a project or repository. Repo workspaces are the main unit for isolated agent development, git tracking, merge review, and PR shipping.

Repo Workspaces

When linked to a git repo, workspaces show:


Projects

Projects organize related workspaces in the sidebar. They are local to your machine and are not synced through team relay.

Action How
Create project Click the folder button in the sidebar header
Move workspace Right-click a workspace and choose Move to Project...
Manage project Right-click the project header to rename, change color, create a workspace, or archive
Collapse state Saved locally and restored after reload

Keyboard Shortcuts

Pro Tip: Use Cmd+Shift+P at any time to open the Command Palette. It's the fastest way to discover and run any command in Ocean.

Essential

Shortcut Action
Cmd+T New session
Cmd+W Close session
Cmd+D Split vertical
Cmd+Shift+D Split horizontal
Cmd+1-9 Switch tabs
Cmd+P Quick session switcher
Cmd+Shift+P Command palette
Cmd+B Toggle sidebar
Cmd+, Settings

Git

Shortcut Action
Cmd+G Git panel
Cmd+Shift+V Git visualizer
Cmd+Shift+S Ship to PR

Merge & Conflicts

Shortcut Action
Cmd+Shift+M Merge panel
Cmd+Shift+S Ship to PR

Panels

Shortcut Action
Cmd+Shift+H Terminal history
Cmd+Shift+E Snippet library
Cmd+Shift+G Session DAG view
Cmd+Shift+J Agent dashboard
Cmd+Shift+N Notifications
Cmd+Shift+L Activity timeline
Cmd+Shift+A API inspector
Cmd+K Toggle connectors
Cmd+Shift+O Ports panel
Cmd+Option+F File picker (paste path into terminal)

All shortcuts are searchable in Settings > Commands tab.


Command Palette

Cmd+Shift+P opens the command palette — a searchable list of every command, shortcut, and saved snippet.

Cmd+P opens the quick switcher to jump to any session by name.


Terminal History

Cmd+Shift+H opens the history panel showing commands across all sessions.


Snippet Library

Cmd+Shift+E opens the snippet library for saved commands.

Run snippets from the library or from the command palette.


AI Agent Detection

Ocean detects AI coding agents running in your sessions:

Claude Codex Aider Cursor GitHub Copilot Cody Gemini Devin

Detected agents show a colored badge in the pane header. View all agents in the Agent Dashboard (Cmd+Shift+J).


Git Visualizer

Cmd+Shift+V opens the Git Visualizer showing:


Pull Request Runtime

Ocean tracks pull request status for repo workspaces in the background using your existing gh CLI authentication. It refreshes branch and PR state on a 30 second interval.

Signal Where it appears
PR state Status bar detail panel and workspace PR snapshot
Review decision Approved, changes requested, pending, or none
CI checks Aggregated success, failure, pending, or none, with individual check runs
Branch sync Local branch and head SHA are watched while the workspace is tracked

Useful commands include track_workspace_pr, refresh_workspace_pr, and get_workspace_pr_status. The frontend receives pr-status-update events.


Conflict Resolution

When multiple sessions edit the same files, Ocean detects and resolves conflicts automatically.

Why this matters for AI: Traditional terminals share the same filesystem. If an AI agent runs a destructive command or a buggy refactor, it affects your entire project. In Ocean, agents work in isolated clones, meaning you only commit their changes once you've reviewed and merged them safely.

How It Works

Each session runs in its own copy-on-write clone of the workspace. When you merge a session back, Ocean:

  1. Detects conflicts at the file and line level
  2. Classifies severity: disjoint (auto-merge safe), overlapping (review), or conflicting (manual)
  3. Shows a merge panel with inline diffs and per-hunk resolution controls

Merge Panel

Open with Cmd+Shift+M when conflicts are detected. The conflict banner at the top shows the count.

Action Description
Accept A Keep the current session's version
Accept B Keep the other session's version
Accept Both Include both changes
Accept Base Revert to the original
Manual Edit Write your own resolution
AI Suggest Ask Claude to merge intelligently

AI-Assisted Merge

Click AI Suggest on any conflict to get a Claude-powered merge suggestion with a confidence score. Review the result and accept, edit, or dismiss.

Requires ANTHROPIC_API_KEY environment variable. See the Configuration section for details.

Supporting Features

Feature Description
Pre-conflict warnings Alert when 2+ sessions start editing the same file
Merge queue Recommended merge order based on conflict complexity
File locks Advisory locks to prevent concurrent edits
Session stash Save/restore session state mid-merge
Merge undo Automatic pre-merge snapshots with one-click rollback
Dependency graph Declare session dependencies, enforce merge order
Activity heatmap Bird's-eye view of which files are "hot"
Health dashboard Aggregate workspace health and conflict metrics

Port Forwarding

Share local ports publicly using built-in tunneling.

Right-click a detected port in the Ports Panel to create a tunnel via:

Ocean auto-installs the tunnel provider on first use.


File Workflows

Ocean has native path workflows for feeding files into agents without manually typing long paths.

Workflow How it works
File drop Drag files onto the focused terminal pane to paste shell-escaped paths. Ocean shows a dashed overlay while dragging.
File picker Press Cmd+Option+F or use the command palette action Pick File to Paste Path. Multi-select is supported.
Workspace path Right-click the workspace header and choose Copy Workspace Path.
Env vars popover Edit per-workspace environment variables in structured key/value rows from a floating panel.

Agent Notifications

Ocean monitors AI agents running in your sessions and notifies you when they need input:


Usage Quota

Usage quota tracks cumulative estimated Codex spend across sessions and helps teams avoid surprise AI costs.


Plugins

Ocean supports a three-tier plugin system: MCP servers, WASM sandbox plugins, and native Rust plugins. Installed plugins live under ~/.ocean/plugins/ and declare an ocean-plugin.toml manifest.

Surface Purpose
Plugin Manager Open with Cmd+Shift+X to install, activate, and configure plugins
Status bar indicators Plugins can contribute real-time signals to the status bar
Sidebar panels Plugins can add panels below the workspace list
Permissions The plugin host manages lifecycle, MCP connections, config, and permissions

Team Relay

Team relay is an optional collaboration backend. Ocean works standalone by default; connect relay only when a team wants shared workspace capabilities or a self-hosted sync endpoint.


Settings

Open with Cmd+, or the gear icon in the sidebar.

Setting Description Default
Auto-resize width Target width for split pane auto-resize 800px
Auto-resize height Target height for horizontal splits 400px
Claude Code Native Show Claude Code indicator at top of app Off
Usage Quota Warning and error thresholds for estimated agent spend Configurable
Team Relay Login, register, logout, restore session, and server URL override Disconnected

Configuration

Ocean can be configured via environment variables, per-workspace env vars, localStorage settings, plugins, or the built-in settings panel.

Environment Variables

Variable Purpose
ANTHROPIC_API_KEY Enables AI-Assisted Merge and Claude-powered features.
OCEAN_LOG_LEVEL Sets the verbosity of terminal and agent logs (debug, info, warn, error).
.ocean.env Per-workspace environment file loaded into every session in that workspace.

Articles

Understand Ocean from the perspective that matters to you. Browse all articles →


Use Cases

Multi-Agent Development

Run Claude Code in one pane, Codex in another, Cursor or Gemini in another, and a manual shell in a fourth. Ocean tracks each agent with status badges and keeps their work isolated.

┌────────────────┬────────────────┐
│ ● Claude Code  │ ● Aider        │
│ Working on     │ Refactoring    │
│ auth module... │ tests...       │
├────────────────┴────────────────┤
│ ● Shell                         │
│ ~/project $ git status          │
└─────────────────────────────────┘

Microservice Development

Create a workspace per service. Each workspace holds sessions for servers, logs, and tests.

▼ API Service       3 sessions
  ● Server  ● Tests  ● Logs
▼ Frontend          2 sessions
  ● Dev Server  ● Build
▼ Database          1 session
  ● Migrations

Feature Branch Workflow

  1. Create a repo workspace (click Repo)
  2. Split panes for code + tests
  3. Monitor git status in pane headers
  4. Review changes in Git Visualizer (Cmd+Shift+V)
  5. Check review and CI state in the PR status detail panel
  6. Ship to PR (Cmd+Shift+S)

Debugging with History

  1. Run your failing command
  2. Open history (Cmd+Shift+H) to find previous runs
  3. Compare exit codes and timing
  4. Click to re-run from history

Pro Tips

Instant Recovery

If a session becomes unresponsive, hover over the tab in the sidebar and click the Refresh icon. Ocean will restart the shell while keeping your command history intact.

Custom Environments

Use the env vars popover or define variables in a .ocean.env file. Values are loaded into every session within that workspace.

Shortcut Feedback

When a shortcut cannot execute, Ocean shows a notification explaining why, such as needing two or more sessions before merge can run.

Git Index Repair

If Ocean detects a corrupt .git/index, it shows a dialog with a fix action and can repair the index before commit.


Data and Privacy

What Where Shared?
Sessions and history Local on your machine Never
Settings Local on your machine Never
Projects Local on your machine Not synced via relay
Usage quota LocalStorage under ocean:usage-quota Never
Relay tokens macOS Keychain, restored lazily from Settings > Team Only to the configured relay server
Terminal content Never collected Never
Crash reports Optional, anonymous Only if you opt in

Ocean runs standalone on your machine. No terminal content or commands leave your device unless you explicitly configure a team relay or plugin that performs network requests.


Troubleshooting

App won't open on macOS

xattr -cr /Applications/Ocean.app

Terminal shows blank screen

Quit and relaunch the app. If it persists, delete ~/.ocean/ocean.db and restart.

Sessions missing after restart

Ocean respawns sessions automatically. If a session's directory was deleted, it won't respawn. Create a new session with Cmd+T.

Shortcut not working

Open Cmd+Shift+P and search for the action. Some shortcuts may conflict with macOS system shortcuts.

PR status is not updating

Confirm the workspace is linked to a GitHub repo, the branch has a pull request, and gh is authenticated in your shell.

Team login restores the wrong server

Open Settings > Team, confirm the server URL, then restore the session. Ocean syncs the configured URL before reading tokens from Keychain.


Downloads

Get the latest version from the Releases page or download from here!

Version Date Highlights Action