> ## Documentation Index
> Fetch the complete documentation index at: https://www.plungeai.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Ocean Code

> Ocean Code is a coding agent that lives in your terminal, keeps the thread of a session however long it runs, lets several sessions work on one Mac without stepping on each other, and answers from Slack when you are away.


Ocean Code is one binary, `oceancode`, written in Rust. Plain `oceancode` opens a full-screen terminal UI, Ocean pager, with the engine in the same process. The same binary runs headless (`oceancode run`, `oceancode serve`) and as an editor agent inside Xcode or Zed. It works with any model you hold a key for: Anthropic (an API key or a Claude Pro/Max subscription), OpenAI, Google Gemini, xAI and the OpenAI-compatible providers, or through your Plunge account.

<CardGroup cols={2}>
<Card title="Quickstart" icon="rocket" href="/ocean-code/quickstart">
Install, sign in, start a session, where the files live.
</Card>
<Card title="Sessions that keep the thread" icon="layers" href="/ocean-code/tideline">
The tideline: a bounded window, nothing lost. Patent pending.
</Card>
<Card title="Several sessions, one Mac" icon="users" href="/ocean-code/sessions-together">
Sessions see each other, stay off each other's files, ask, and resume.
</Card>
<Card title="Work modes" icon="workflow" href="/ocean-code/work-modes">
Who decides how agents work together: the model, Jev, or you with one of seven diagrams.
</Card>
<Card title="Long runs and sub-agents" icon="clock" href="/ocean-code/long-runs">
Bounded by money and time, driven by the plan, with sub-agents in a dock above the prompt.
</Card>
<Card title="Away from the Mac" icon="message" href="/ocean-code/slack">
Slack Remote and the Notification hook: answer a question or a permission from your phone.
</Card>
<Card title="Editors and your terminal" icon="code" href="/ocean-code/editors-and-terminal">
Xcode and Zed over ACP; what the pager does with the terminal it runs in.
</Card>
<Card title="Reference" icon="book" href="/oceancode">
Every command, setting, environment variable and HTTP route, one page per chapter.
</Card>
</CardGroup>

## What makes it different

**It keeps the thread.** A session works from a bounded window: the model sees the newest part of the conversation, never an ever-growing pile. When the window reaches the tideline, the oldest turns move past it, out of the model's view but not out of your session: every turn stays on disk word for word, a ledger page keeps the goal, the decisions and the next step, and the agent recalls an exact error or a rule you gave once at the start instead of guessing. The session stays fast and affordable for hours of work and hundreds of steps, and you can reopen it days later with its history intact. The session ledger is the subject of a US provisional patent application; the technology is patent pending. [More](/ocean-code/tideline).

**Sessions work together.** Open as many windows on a project as you like. Each session has a short code (`#2oca`), the status bar counts the others and says what they do, and `oceancode status` prints one board of every session on the Mac, the ones waiting for you first. A session holds the files it edits until its turn ends; another session that tries to write one is told who has it. An agent that finds a problem in another session's files sends that session a request, and you decide in the receiving window. [More](/ocean-code/sessions-together).

**You choose the shape.** By default the model decides on its own whether to work alone, call sub-agents or run a workflow. Press `F4` and pick a diagram instead: Solo, Delegate, Pair, Pipeline, Orchestrate, Goal or Race, or let Jev pick one per prompt. Every diagram is a small file the pager draws from and the engine runs from, so the picture and the behaviour can never drift apart. [More](/ocean-code/work-modes).

**Runs are bounded, not endless.** A run stops cleanly on the money, the time or the no-progress bound you set, with a stated reason, and the plan it writes drives the run: open rows are worked off, a question holds the rest of the response, and a finished sub-agent wakes the session that is waiting for it. Sub-agents live in a dock above the prompt with their live figures. [More](/ocean-code/long-runs).

**It reaches you.** When a session waits for you, finishes or is blocked, it posts in one private Slack channel; a button or a thread reply answers, and a reply with no open question becomes the next prompt. A `Notification` hook fires the same events into anything else. [More](/ocean-code/slack).

**It fits where you work.** `oceancode acp` is an Agent Client Protocol agent, so Xcode 26.6 and Zed run the same engine with the same sessions. In the terminal, the pager draws only what changed, follows your display's refresh rate while text streams, and shows pasted screenshots inline in Kitty, Ghostty and WezTerm. [More](/ocean-code/editors-and-terminal).

**Permissions you can read.** Three layers from softest to hardest: a permission mode over your rules (the default asks; `auto` lets edits through; `always-approve` lets everything through short of a dangerous floor no mode can reopen), a shell and filesystem guard, and a kernel sandbox. A permission nobody answers closes after 30 minutes. [Reference](/oceancode/permissions-and-sandbox).

**Your code without a clone.** A folder with `.oceancode/ocean-git.json` works on a repository in Ocean Git directly: the file tools read through it, `materialize` fetches what a build needs, and `land` commits the changes back without git on the Mac. [Reference](/oceancode/cli-reference#oceancode-workspace).

## Around the agent

Ocean Code is the terminal face of a family that also holds Ocean Git (the git server), Ocean Base (a database platform), Ocean Vibe (vibe coding on the platform's apps) and Ocean.app, a native Mac window drawn with wgpu on Metal whose Chat answers questions about your code read-only over Ocean Git. The coding agent itself runs in the terminal and in your editor.

## Where next

- [Quickstart](/ocean-code/quickstart) gets you to a first session.
- The [reference](/oceancode) has every command ([CLI reference](/oceancode/cli-reference)), every pager key and slash command ([Ocean pager reference](/oceancode/pager-reference)), every config key and environment variable ([Configuration](/oceancode/configuration)) and the [HTTP API](/oceancode/http-api).
- The same text, as Markdown for an agent: `https://code.plungeai.com/docs.md` and `https://code.plungeai.com/llms.txt`.
