Quickstart
This guide gets yottacode running against a model provider and starts your first coding session.
Install yottacode
One-liner (Linux + macOS, amd64 + arm64):
curl -fsSL https://yottacode.ai/cli/install.sh | bashThe installer drops yottacode into ~/.yottacode/bin/ (no sudo), verifies the release archive against published SHA256 sums, and appends a PATH export to your shell rc โ making a timestamped backup of the rc first.
Skip the rc edit (you manage PATH yourself):
curl -fsSL https://yottacode.ai/cli/install.sh \
| bash -s -- --no-modify-rcPin a specific version instead of “latest”:
curl -fsSL https://yottacode.ai/cli/install.sh \
| VERSION=0.4.0 bashVerify the install:
yottacode --versionAfter install, yottacode checks GitHub for a newer release once a day on TUI startup and shows an in-session notice when one is available. The check runs in the background so GitHub availability does not block the TUI from opening. Set YOTTACODE_NO_UPDATE_CHECK=1 to disable it entirely. Windows users should run yottacode under WSL.
For build-from-source, cross-compile, and pinned-archive paths, see Installation.
Configure a provider
yottacode does not guess a default model or endpoint โ you need a model id, a base URL, and (for some providers) an API key.
Fastest path โ the setup wizard:
yottacode setupThe wizard writes ~/.yottacode/config.toml and ~/.yottacode/.env, probes providers where possible, shows detected Ollama models in a picker, and can be rerun later with /setup from inside the TUI. The final review screen shows the config path, .env write, active provider/model, and a focused action picker so you can write, go back, or abort before anything is saved.
Or configure manually
You need at minimum:
- a model id
- a provider base URL
- an API key for providers that require one
Pick one of the paths below; see Providers for the full list.
Local Ollama
ollama serve
ollama pull <your-model-id>
export YOTTACODE_PROVIDER=ollama
export YOTTACODE_MODEL=<your-model-id>
export YOTTACODE_BASE_URL=http://localhost:11434/v1
yottacodeOllama ignores API keys; yottacode handles that internally.
Or configure manually โ set the provider’s environment variables (or pass --provider/--model/--base-url/--api-key flags at launch), then start yottacode:
export YOTTACODE_PROVIDER=openai
export YOTTACODE_MODEL=<your-model-id>
export YOTTACODE_BASE_URL=https://api.openai.com/v1
export YOTTACODE_API_KEY=sk-...
yottacodeEach provider has its own page with both TUI and command-line setup โ Anthropic, OpenAI, Ollama, ChatGPT OAuth, GitHub Copilot, Gemini, Google Vertex AI, xAI, NVIDIA NIM โ see the full list under Providers.
Ask for help in the TUI
Launch yottacode from a project directory:
cd ~/src/my-project
yottacodeTry prompts like:
summarize this repositoryfind the tests for the session package and explain how persistence worksadd a regression test for the bug described in this issueUseful interactive commands:
/helpโ list slash commands/providerโ add, remove, or switch providers/modelโ open model picker or/model <name>to switch directly/planโ toggle plan mode (also Shift+Tab) for research before implementation/themeโ change the color theme/skillsโ menu to enable/disable, install, uninstall, check, and update skills/sessionsโ resume, rename, or export sessions/memoryโ edit USER.md / YOTTACODE.md or browse agent-managed memories/doctorโ run provider, GitHub, LSP, and media diagnostics (sandbox/cache checks are explicitly skipped)/initโ draft or refresh.yottacode/YOTTACODE.md
Use one-shot mode for scripts
yottacode run "summarize the public API of this repo"yottacode run prints the final answer to stdout and sends consistently prefixed status/tool progress to stderr, so it composes cleanly with pipes, redirects, and CI logs. Use --format json for one structured stdout object, and see the one-shot recipes for complete CI examples.
Understand approvals
yottacode reads and inspects your repo without prompting; mutating actions usually ask first. You will see approval modals for file writes, shell commands, destructive git operations, and similar changes.
Caution
yottacode does not provide an in-process sandbox. For real isolation, run it inside a container or devcontainer.