Open-source AI coding assistant.

Build waitlist page
0.0041
Type a message...
/claude-sonnet-4

Interfaces

One tool.
Every surface.

CLI

Terminal-native

One-shot prompts or interactive sessions. Compiles to a single self-contained binary.

otto ask "fix the auth bug"
TUI

Interactive terminal UI

OpenTUI + React client for otto with keyboard-first workflows powered by @ottocode/api.

bun run --filter @ottocode/tui dev
Server

HTTP API + Web UI

Local Hono server with SSE streaming. React web interface with session management.

otto serve --port 3000
Desktop

Native app

Tauri v2 app that embeds the CLI binary and web UI. macOS, Linux, Windows.

otto
Web

Remote web client

Run only the Web UI and point it at an existing otto API server URL.

otto web --api <url>
SDK

Embed anywhere

Use @ottocode/server in your own apps. Provider-agnostic. Tree-shakable.

import { createEmbeddedApp }

Embedding

Embed in minutes

Full SDK with provider switching, tool execution, and streaming.

server.ts
import { createEmbeddedApp } from "@ottocode/server";

const app = createEmbeddedApp({
provider: "anthropic",
model: "claude-sonnet-4",
apiKey: process.env.ANTHROPIC_API_KEY,
agent: "build",
});

Agents

Purpose-built agents

buildagent

Code generation, bug fixes, features. Full filesystem + shell access.

readwritebashgitterminalapply_patch
planagent

Architecture planning and analysis. Read-only — cannot modify files.

readlstreeripgrepwebsearch
generalagent

General-purpose assistant. Balanced toolset for everyday work.

readwritebashripgrepglob
researchagent

Deep research across sessions and the web. Queries past context.

readripgrepwebsearchquery_sessions

Providers

Every frontier model

Anthropic

Claude 4.5 Sonnet, Opus

API keyPro/Max (OAuth)
OpenAI

GPT-4o, o1, Codex Mini

API keyPro/Max (OAuth)
Google

Gemini 2.5 Pro, Flash

API key
OpenRouter

100+ models

API key
OpenCode

Anthropic & OpenAI models

API key
Copilot

GitHub Copilot models

OAuth
Setu

USDC pay-per-use proxy

Solana wallet
Zai

Zai frontier models

API key
Moonshot

Kimi models

API key
MiniMax

MiniMax M2.5, M2.1

API key

Tools

15+ built-in tools + MCP

File
read
write
ls
tree
glob
Search
grep
ripgrep
websearch
Edit
edit
apply_patch
Shell
bash
terminal
Git
git_status
git_diff
git_commit
Agent
progress_update
finish
update_todos
MCP
github
linear
helius
notion
+ any

Architecture

Clean layers

Bun workspace monorepo. 6 apps, 7 packages. SST infrastructure.

dependency graph
L0 install, api, web-ui
L1 sdk — auth, config, providers, tools
L2 database → sdk
L3 server → sdk, database
L4 web-sdk → api, sdk
L5 cli → sdk, server, database

Stack

Built with

BunTypeScriptAI SDKHonoSQLiteDrizzleReactViteTanStackTailwindTauri v2SSTBiome

Desktop App

Native experience

Full-featured desktop app built with Tauri v2. Native performance, system tray, global shortcuts. Available for macOS and Linux.

Launcher

Team development environments

One-click setup for shared dev environments. Create teams, manage deploy keys, clone repos, and spin up containerized workspaces with Docker.

otto launcher
my-saas-app
:9100
[1/6]Installing system packages
[2/6]Setting up SSH
[3/6]Configuring git
[4/6]Cloning repo
[5/6]Installing dependencies
[6/6]Starting otto

Team management

Create teams with shared deploy keys and git identities. Import teammates by sharing .otto config files.

Docker containers

Isolated containerized workspaces per project. Auto-installs dependencies, configures SSH, and starts otto inside the container.

Automated 6-step setup

Add a project, enter the repo URL, and watch the automated pipeline. System packages, SSH, git, clone, deps, and otto — all handled.

Cross-platform

Native Tauri v2 app for macOS, Windows, and Linux. Manage multiple projects with start, stop, restart, and update controls.

Share

Share sessions publicly

Turn any coding session into a shareable link. Show your workflow, share debugging journeys, or build a portfolio of AI-assisted development.

Refactor auth module
You·14:22
refactor the JWT middleware to use rotating keys
build·claude-sonnet-4
writesrc/middleware/jwt.ts — 48 lines
Refactored JWT middleware to support rotating keys with jwks-rsa.
Type a message...

Create

Type /share in any session. Messages, tool calls, and code diffs are all preserved in the shared view.

Update

Keep sharing as you work. Sync new messages to an existing share with /sync.

Control

One click to share, one click to open. Public links are read-only and can be deleted at any time.

See it in action

Browse a real shared session to see how conversations, tool usage, and code changes render.

View example session →

One command. Open source. MIT license.

$ curl -fsSL https://install.ottocode.io | sh

or

$ bun install -g @ottocode/install