Skip to content
yottacode v0.5.0 is out! ๐ŸŽ‰ See the release notes โ†—

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 | bash

The 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-rc

Pin a specific version instead of “latest”:

curl -fsSL https://yottacode.ai/cli/install.sh \
  | VERSION=0.4.0 bash

Verify the install:

yottacode --version

After 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 setup

The 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

yottacode

Ollama 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-...

yottacode

Each 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
yottacode

Try prompts like:

summarize this repository
find the tests for the session package and explain how persistence works
add a regression test for the bug described in this issue

Useful 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.

Next steps