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.
curl -fsSL https://seashell.sh/install | shSeaShell 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.
SeaShell ships as a single binary. Install it, restart your shell if needed, then run seashell --version to confirm your PATH.
macOS and Linux
curl -fsSL https://seashell.sh/install | shWindows PowerShell
irm https://seashell.sh/install.ps1 | iexseashell upgrade on each machine. SeaShell updates the local binary on that device; repository changes still move through git.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.
seashell signup
# These names open the same passwordless flow:
seashell signin
seashell loginseashell logout at any time to remove the linked account from this machine.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.
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.
seashell run. For interactive work, use the TUI so you can inspect plans, approvals, sessions, and model choices as the task evolves.SeaShell has a dedicated upgrade command. Use it instead of passing update flags to the default TUI command.
seashell upgrade
atlas --versionIf 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.
SeaShell is model-agnostic. List available models, authenticate providers, and select the model that fits the task, budget, and data policy.
seashell providers
seashell models
seashell models --refresh
seashell --model anthropic/claude-sonnet-4-5| Hosted provider | Use provider/model IDs after authenticating your provider. |
| Local Ollama | Use local models and embeddings when client data must stay on your machine. |
| Model picker | Switch providers, models, variants, and effort without rebuilding the project. |
| Per-run override | Pass --model provider/model when launching SeaShell or seashell run. |
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.
export ANTHROPIC_API_KEY=sk-ant-...
seashell models anthropic
seashell --model anthropic/claude-opus-5claude-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.
seashell models anthropicCurrent models include claude-opus-5, claude-sonnet-5, claude-haiku-4-5.
OpenAIOPENAI_API_KEY
GPT models, plus the o-series reasoning models.
seashell models openaiRun 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.
seashell models googleRun 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.
seashell models openrouterRun 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.
seashell models xaiRun 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.
seashell models azureRun 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.
seashell models amazon-bedrockRun 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.
seashell models cloudflareRun 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.
seashell models --localUse 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.
ollama list
ollama pull qwen2.5-coder:latest
seashell models --localAgents are reusable operating modes. Use primary agents for normal work and subagents for focused research, review, migration, or testing lanes.
seashell agent list
atlas agent createSpecialized 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 turn repeated senior-engineering patterns into reusable execution paths. Use them when a task needs coordination across files, tests, reviews, or agents.
| Single task | Ask SeaShell to make a focused change, then review the plan and diff. |
| Review | Use /review for branches, uncommitted work, PR prep, and delivery checks. |
| Parallel agents | Ask SeaShell to use multiple agents when discovery, migration, testing, or review can run in parallel. |
| Large codebase | Use workflows and context-aware search so SeaShell can narrow the right files before editing. |
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.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
/initto 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
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.
{
"permission": "ask",
"agent": {
"default_agent": "build"
}
}SeaShell reads global configuration plus project-level configuration. Use project config for repository conventions and global config for personal defaults.
{
"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 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.
seashell mcp add
seashell mcp list
seashell mcp auth <name>
seashell mcp debug <name>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.
seashell --continue
seashell --session ses_abc123
seashell --session ses_abc123 --fork
seashell session listSeaShell 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-api | Accounts, entitlements, releases, devices, sync, and telemetry intake. |
| model-router | Optional hosted model routing, provider policy, credits, and rate limits. |
| cloud-worker | Billing reconciliation, usage rollups, retention, and release validation. |
Learn more: the privacy-preserving control plane.
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.
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.
{
"cloud": {
"model_router": true
}
}Learn more: hosted model routing without giving up bring-your-own-keys.
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.
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 offline | Use a local model endpoint plus seashell --offline or ATLAS_OFFLINE=1 to block other outbound SeaShell traffic. |
| Private endpoint | Use an approved OpenAI-compatible endpoint with the organization's network, identity, logging, and retention controls. |
| Hosted provider | Treat the selected provider as an external data boundary and review its contract and data policy. |
- 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.
Open the command palette with ctrl p, or type a slash command directly into the prompt.
| /models | Switch model, provider, variant, or reasoning mode |
| /agents | Choose a primary agent or specialized subagent |
| /workflow | Open repeatable workflows for review, refactor, and multi-agent work |
| /review | Review uncommitted changes, branches, PRs, or delivery state |
| /mcps | Inspect configured Model Context Protocol servers |
| /sessions | Resume, fork, or continue previous sessions |
| /themes | Switch SeaShell themes |
| /copy-as-slack | Copy the last assistant message as Slack-ready mrkdwn |
| /copy-as-gmail | Copy the last assistant message as email-ready text |
| /help | Open the in-app help surface |
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.
| seashell | Start the TUI in the current directory |
| seashell signup | Create or sign in to a free SeaShell account with a six-digit email code |
| seashell upgrade | Update SeaShell to the latest or a specific version |
| seashell models [provider] | List available models from configured providers |
| seashell providers | Manage provider credentials and authentication |
| seashell mcp | Add, list, authenticate, debug, and remove MCP servers |
| seashell agent | Create and list reusable SeaShell agents |
| seashell run [message] | Run SeaShell non-interactively for scripts and automation |
| seashell session | List, resume, fork, export, or delete sessions |
| seashell serve | Start a headless SeaShell server |
| seashell web | Start the server and open the web interface |
SeaShell is keyboard-first. The essentials:
| tab | Move between prompt, agents, and command surfaces |
| ctrl p | Open the command palette |
| enter | Submit the current prompt |
| esc | Cancel the current interaction or close a dialog |
| ctrl c | Quit SeaShell |
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.
{
"name": "midnight",
"theme": {
"primary": "#6aa6f5",
"background": "#0c0c0c",
"text": "#e6e9ee"
}
}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.
Ready to work privately?
Install SeaShell, choose your model route, and open it in your next repo.