Documentation

Build privately with SeaShell

Install SeaShell, connect your models, organize agents and workflows, and keep control of code, context, and client data from the terminal.

Install in one line
curl -fsSL https://seashell.sh/install | sh
Introduction

SeaShell is a model-agnostic, terminal-native AI coding agent for developers and teams that want control over their model routes, code context, tools, and approval flow.

SeaShell is designed around four operating principles:

  • Bring your own models. Use hosted, local, self-hosted, or approved open-source models based on the work.
  • Keep private work private. Local embeddings, permission gates, and auditable tool calls help protect client and company code.
  • Use agents intentionally. SeaShell can plan, build, review, and coordinate multiple agents when a task is large enough.
  • Stay in the terminal. Sessions, diffs, approvals, models, MCP tools, and copy formats are all reachable from the TUI.
Installation

SeaShell ships as a single binary. Install it, restart your shell if needed, then run seashell --version to confirm your PATH.

macOS and Linux

bash
curl -fsSL https://seashell.sh/install | sh

Windows PowerShell

powershell
irm https://seashell.sh/install.ps1 | iex
Keep devices current
Run seashell upgrade on each machine. SeaShell updates the local binary on that device; repository changes still move through git.
Free account signup and sign-in

SeaShell works without an account. A free account gives this installation an authenticated SeaShell identity and lets SeaShell read the account's effective entitlement when account features are used.

Run seashell signup and enter your email. SeaShell sends a six-digit code: a new email creates a free account, while an existing email signs back in. No password is created or entered in the terminal.

terminal
seashell signup

# These names open the same passwordless flow:
seashell signin
seashell login
Account remains optional
Installation, local usage, and SeaShell updates do not require sign-in. Run seashell logout at any time to remove the linked account from this machine.
Quickstart

Open SeaShell in a repository and describe the outcome. SeaShell reads the project, chooses the right context, proposes a plan when needed, and shows work as reviewable terminal output.

terminal
cd ~/code/your-project
seashell

> Review this API change, update the tests, and call out any risky migrations.

For larger work, say what you want operationally. Phrases like use multiple agents, parallelize the review, or split this into agents are signals that SeaShell should coordinate separate discovery, implementation, and verification lanes.

Note
For one-shot automation, use seashell run. For interactive work, use the TUI so you can inspect plans, approvals, sessions, and model choices as the task evolves.
Update SeaShell

SeaShell has a dedicated upgrade command. Use it instead of passing update flags to the default TUI command.

terminal
seashell upgrade
atlas --version

If a different machine has newer repository code, pull that repository with git and rebuild from source as needed. If you installed from the public installer, seashell upgrade updates the installed binary.

Models

SeaShell is model-agnostic. List available models, authenticate providers, and select the model that fits the task, budget, and data policy.

terminal
seashell providers
seashell models
seashell models --refresh
seashell --model anthropic/claude-sonnet-4-5
Hosted providerUse provider/model IDs after authenticating your provider.
Local OllamaUse local models and embeddings when client data must stay on your machine.
Model pickerSwitch providers, models, variants, and effort without rebuilding the project.
Per-run overridePass --model provider/model when launching SeaShell or seashell run.
Providers & API keys

SeaShell brings your own keys. Set a provider's environment variable, or run seashell providers to authenticate interactively, and SeaShell registers that provider's models automatically. A provider counts as configured as soon as any one of its environment variables is set.

The table below is providers, not models. SeaShell does not maintain a model list: the catalog comes from models.dev and is refreshed with seashell models --refresh, so any model IDs written here would be stale within a release. Run seashell models <provider> for the live list.

terminal
export ANTHROPIC_API_KEY=sk-ant-...
seashell models anthropic
seashell --model anthropic/claude-opus-5
Do not trust a model ID you read in a blog post
Model IDs are retired on a schedule. claude-3-5-sonnet and gpt-4o still appear in setup guides across the web and no longer resolve. seashell models <provider> reads the live catalog and is the only list worth copying from.
AnthropicANTHROPIC_API_KEY

Claude models. Strong on long-horizon agentic coding.

Get an API keyseashell models anthropic

Current models include claude-opus-5, claude-sonnet-5, claude-haiku-4-5.

OpenAIOPENAI_API_KEY

GPT models, plus the o-series reasoning models.

Get an API keyseashell models openai

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

GoogleGOOGLE_GENERATIVE_AI_API_KEY

Gemini models via Google AI Studio.

Get an API keyseashell models google

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

OpenRouterOPENROUTER_API_KEY

One key, most models. The fastest way to try a model you do not have a key for.

Get an API keyseashell models openrouter

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

xAIXAI_API_KEY

Grok models.

Get an API keyseashell models xai

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

Azure OpenAIAZURE_OPENAI_API_KEY

OpenAI models under an Azure tenancy, for teams with an existing Azure agreement.

Get an API keyseashell models azure

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

Amazon BedrockAWS_BEARER_TOKEN_BEDROCK

Also accepts standard AWS credentials and container credential roles.

Get an API keyseashell models amazon-bedrock

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

Cloudflare Workers AICLOUDFLARE_API_TOKEN

Models hosted on Cloudflare's edge network.

Get an API keyseashell models cloudflare

Run the command above for this provider's current models. SeaShell reads the live catalog rather than a list maintained here.

Ollama or LM Studio (local)

No provider key is required. SeaShell probes Ollama on port 11434 and then LM Studio on port 1234 when you run seashell models --local. You can also point ATLAS_LOCAL_MODEL_URL at an OpenAI-compatible local endpoint.

Download Ollamaseashell models --local
Local models

Use a local model route when client requirements or internal policies require model calls to stay on your machine or approved infrastructure. SeaShell can discover Ollama and LM Studio when you explicitly run the local-model command.

terminal
ollama list
ollama pull qwen2.5-coder:latest
seashell models --local
Data path matters
A local model only protects data for the calls routed to that model. Keep provider keys, MCP servers, and plugins aligned with the privacy policy you promise clients.
Agents

Agents are reusable operating modes. Use primary agents for normal work and subagents for focused research, review, migration, or testing lanes.

terminal
seashell agent list
atlas agent create

Specialized agents live in SeaShell configuration and can carry their own instructions, model preference, and permission profile. Keep them small and purpose-built: reviewer, migration planner, test fixer, security checker, or documentation writer.

Workflows

Workflows turn repeated senior-engineering patterns into reusable execution paths. Use them when a task needs coordination across files, tests, reviews, or agents.

Single taskAsk SeaShell to make a focused change, then review the plan and diff.
ReviewUse /review for branches, uncommitted work, PR prep, and delivery checks.
Parallel agentsAsk SeaShell to use multiple agents when discovery, migration, testing, or review can run in parallel.
Large codebaseUse workflows and context-aware search so SeaShell can narrow the right files before editing.
prompt examples
Use multiple agents: one for TUI routing, one for tests, one for docs.
Run a review workflow before committing this branch.
Use a workflow to migrate this feature and verify the build.
Codebase intelligence

SeaShell gathers context from the repository, session history, project files, command output, and available tools. For large codebases, ask it to map the relevant area before editing.

  • Use /init to create project guidance SeaShell can read later.
  • Ask for a file map before broad migrations.
  • Prefer scoped prompts that name the subsystem, test, or failure.
  • Use local embeddings when code search must stay private.

The resource hubs expand this further with guides for private AI development, local model orchestration, agentic workflows, and codebase intelligence. Browse resource hubs

Permissions

SeaShell treats tool calls as actions that should be classified and gated. Read-only discovery, file edits, shell commands, network calls, and secret-bearing operations do not carry the same risk.

atlas.json
{
  "permission": "ask",
  "agent": {
    "default_agent": "build"
  }
}
Tip
Use tighter permissions for client repositories and broader permissions only for trusted local maintenance tasks.
Configuration

SeaShell reads global configuration plus project-level configuration. Use project config for repository conventions and global config for personal defaults.

atlas.json
{
  "model": "ollama/qwen2.5-coder:latest",
  "theme": "atlas",
  "permission": "ask"
}

Environment variables and command flags can override config when you need a one-off model, session, or server mode.

Plugins & MCP

Plugins extend SeaShell directly. MCP connects SeaShell to external tools and context providers through the Model Context Protocol. Both should follow the same permission discipline as built-in tools.

terminal
seashell mcp add
seashell mcp list
seashell mcp auth <name>
seashell mcp debug <name>
Warning
MCP servers can expose external systems. Only add servers you trust, and keep credentials scoped to what the workflow needs.
Sessions

Sessions keep work durable across restarts and machines when the same repository and data are available. Continue the last session, resume a known session ID, or fork a session when you want a new branch of work.

terminal
seashell --continue
seashell --session ses_abc123
seashell --session ses_abc123 --fork
seashell session list
SeaShell Cloud

SeaShell Cloud is the optional commercial control plane. The agent keeps running locally with your own model keys; SeaShell Cloud adds accounts, entitlements, release manifests, device registration, sync, and allowlisted telemetry on top.

It is designed so ordinary control-plane operations never require your repo contents, prompts, diffs, terminal output, local indexes, embeddings, model outputs, provider request bodies, file paths, or credentials. The local product talks to SeaShell Cloud through published API contracts only, so cloud availability never blocks your work.

cloud-apiAccounts, entitlements, releases, devices, sync, and telemetry intake.
model-routerOptional hosted model routing, provider policy, credits, and rate limits.
cloud-workerBilling reconciliation, usage rollups, retention, and release validation.
Cloud is opt-in
You can run SeaShell fully local with bring-your-own-keys and never touch the control plane. Cloud features activate only when you sign in or enable them.

Learn more: the privacy-preserving control plane.

Licensing & entitlements

SeaShell verifies licenses offline against a key built into the binary, so Pro and Company features unlock air-gapped with no phone-home. SeaShell Cloud resolves entitlements and holds billing records, but the runtime does not need a live connection to confirm what a seat is allowed to do.

  • Core is free, forever.
  • Pro is a one-time, per-seat license you own, including every update within its major version.
  • Company is per-seat, annual, with SSO, RBAC, audit logs, and continuous updates while active.
Lapses do not brick
If a Company subscription lapses, the team keeps the last version it was entitled to and simply stops receiving new updates until it renews. See offline license verification.
Hosted model routing

Bring-your-own-keys and local models are the default. For teams that want one place to set provider policy, enforce rate limits, and account for spend, SeaShell Cloud offers an optional hosted model router behind an SeaShell runtime feature flag.

The router manages routing, provider policy, credit checks, rate limits, and usage events, so an organization can standardize and meter model access without distributing raw provider keys to every seat. It records usage (which model, how much), not the content of your requests.

atlas.json
{
  "cloud": {
    "model_router": true
  }
}

Learn more: hosted model routing without giving up bring-your-own-keys.

Telemetry & privacy

Telemetry intake accepts only an allowlisted event envelope. Values that look like prompts, model output, provider bodies, or file paths are rejected before they are ever stored, so product analytics never becomes a backdoor for your code or content.

Release and installer manifests expose only public, non-entitlement artifact metadata. Entitlement and usage reads are token-gated. The privacy boundary is a design constraint on what the API accepts, not a policy you have to take on faith.

Verify, do not trust
Because the SeaShell binary runs on your machine and SeaShell Cloud is contract-driven, you can inspect exactly what leaves your machine. Keep provider keys, MCP servers, and plugins aligned with the privacy policy you promise clients.
Deployment boundaries

Treat the model route, SeaShell operating mode, MCP servers, plugins, provider keys, and local services as one data-flow decision. A local model alone does not make every configured integration local.

Local and offlineUse a local model endpoint plus seashell --offline or ATLAS_OFFLINE=1 to block other outbound SeaShell traffic.
Private endpointUse an approved OpenAI-compatible endpoint with the organization's network, identity, logging, and retention controls.
Hosted providerTreat the selected provider as an external data boundary and review its contract and data policy.
Do not infer the boundary
Document the exact endpoint and enabled integrations for each regulated deployment. The public security page records current product facts and current assurance gaps.
Security review checklist
  • Record whether SeaShell will run offline, against a private endpoint, or against a hosted provider.
  • List every MCP server, plugin, credential, local service, and network destination enabled for the workflow.
  • Choose allow, ask, and deny rules that match the repository and user role.
  • Confirm telemetry and update behavior for the selected operating mode.
  • Decide whether any Syntora-operated service will receive, maintain, or transmit PHI before discussing a BAA.
  • Review the current assurance status instead of assuming a certification from a product feature.

Use the Security and Trust page, integration evidence, and machine-readable security record as the starting packet.

Slash commands

Open the command palette with ctrl p, or type a slash command directly into the prompt.

/modelsSwitch model, provider, variant, or reasoning mode
/agentsChoose a primary agent or specialized subagent
/workflowOpen repeatable workflows for review, refactor, and multi-agent work
/reviewReview uncommitted changes, branches, PRs, or delivery state
/mcpsInspect configured Model Context Protocol servers
/sessionsResume, fork, or continue previous sessions
/themesSwitch SeaShell themes
/copy-as-slackCopy the last assistant message as Slack-ready mrkdwn
/copy-as-gmailCopy the last assistant message as email-ready text
/helpOpen the in-app help surface
CLI commands

Use CLI commands for updates, scripting, model inspection, server modes, and managing agents or MCP servers. Every command, flag, and default is listed in the full CLI reference.

seashellStart the TUI in the current directory
seashell signupCreate or sign in to a free SeaShell account with a six-digit email code
seashell upgradeUpdate SeaShell to the latest or a specific version
seashell models [provider]List available models from configured providers
seashell providersManage provider credentials and authentication
seashell mcpAdd, list, authenticate, debug, and remove MCP servers
seashell agentCreate and list reusable SeaShell agents
seashell run [message]Run SeaShell non-interactively for scripts and automation
seashell sessionList, resume, fork, export, or delete sessions
seashell serveStart a headless SeaShell server
seashell webStart the server and open the web interface
Keybindings

SeaShell is keyboard-first. The essentials:

tabMove between prompt, agents, and command surfaces
ctrl pOpen the command palette
enterSubmit the current prompt
escCancel the current interaction or close a dialog
ctrl cQuit SeaShell
Themes

SeaShell ships with its own dark terminal theme and can load custom JSON themes from your SeaShell config directory. Use /themes to switch from the TUI.

custom theme
{
  "name": "midnight",
  "theme": {
    "primary": "#6aa6f5",
    "background": "#0c0c0c",
    "text": "#e6e9ee"
  }
}
Troubleshooting

The seashell command is not found

Restart your shell so the updated PATH takes effect, or re-run the install script. On Windows, reopen PowerShell or Windows Terminal.

SeaShell says it is already installed

Use seashell upgrade. If you built SeaShell from source, pull the repo, rebuild the package, and make sure your PATH points at the rebuilt binary.

A model is missing

Run seashell models --refresh. For local models, confirm the model exists with ollama list and that Ollama is running.

Still stuck?
Email contact@seashell.sh and we will help.

Ready to work privately?

Install SeaShell, choose your model route, and open it in your next repo.

Install