CLI usage
yottacode has two primary entry points:
yottacodeโ launch the interactive TUIyottacode run "<prompt>"โ run one prompt non-interactively
Both use the same agent, tools, provider configuration, memory, and sessions.
Global provider flags
These work for the TUI and run mode.
| Flag | Env var | Required | Purpose |
|---|---|---|---|
--model, -m | YOTTACODE_MODEL | yes | Model id to use |
--base-url | YOTTACODE_BASE_URL | yes | Provider base URL |
--api-key | YOTTACODE_API_KEY | no | Bearer token |
--provider | YOTTACODE_PROVIDER | no | Provider override |
--reasoning-effort | YOTTACODE_REASONING_EFFORT | no | Reasoning hint: low, medium, high |
--enable-web-search | YOTTACODE_ENABLE_WEB_SEARCH | no | Enable hosted web search when supported |
--disable-web-search | YOTTACODE_DISABLE_WEB_SEARCH | no | Disable default hosted web search |
--enable-x-search | YOTTACODE_ENABLE_X_SEARCH | no | Enable xAI x_search |
--enable-code-interpreter | YOTTACODE_ENABLE_CODE_INTERPRETER | no | Enable hosted code interpreter when supported |
--allow-paths | YOTTACODE_ALLOW_PATHS | no | Extra write roots |
--yolo | โ | no | Dangerous: skip approval prompts and remove iteration cap (permissions-bypass overlay). Explicit deny rules still apply. Launch-only. |
--max-iterations | โ | no | Tool-call cap per turn; default 50 (auto raises to 200; --yolo removes the cap) |
--permission-mode | โ | no | TUI only โ startup mode: default | plan | auto. Mirrors Claude Code’s --permission-mode. |
--plan-resume | โ | no | TUI only โ resume a saved plan by slug/substring (implies --permission-mode plan) |
--resume | โ | no | Resume a session by id or name |
--continue / -c | โ | no | Resume the most recent session in the current directory (mirrors claude --continue). Mutually exclusive with --resume. |
Note
Precedence is flags โ environment variables โ config file (where supported) โ a clean error for any missing required value.
Two ways to run
yottacodeThe TUI is best for multi-turn coding work. It provides streaming output, slash commands, approval modals, session controls, and inline scrollback.
Useful keys:
Enterโ submitCtrl+Jโ insert newlineCtrl+Cโ cancel an in-flight turnCtrl+Dโ quit when input is empty?โ show cheatsheet when input is empty/โ open slash-command palette
See TUI slash commands.
Setup
yottacode setupRuns the first-run configuration wizard. It can write ~/.yottacode/config.toml and help configure provider profiles.
Provider commands
yottacode provider list
yottacode provider add openai
yottacode provider use openai
yottacode provider remove old-provider
yottacode provider refresh
yottacode provider refresh openaiProvider profiles live in ~/.yottacode/config.toml as [[providers]] blocks.
Model commands
yottacode model list
yottacode model list --all
yottacode model use <your-model-id>
yottacode model fetch
yottacode model fetch openaimodel use updates the active default_model in config. In the TUI, /model <name> switches only the running session.
Diagnostics
yottacode doctor
yottacode doctor --jsondoctor probes the provider /models endpoint and reports reachability, auth status, model visibility, provider capabilities, and configuration warnings. The JSON form is intended for scripts.
ChatGPT OAuth
yottacode openai-auth login
yottacode openai-auth status
yottacode openai-auth status --json
yottacode openai-auth logoutThese commands manage the openai-auth provider’s browser OAuth credentials and account-specific model list.
GitHub Copilot auth
yottacode copilot-auth login
yottacode copilot-auth models
yottacode copilot-auth models --raw
yottacode copilot-auth status
yottacode copilot-auth status --json
yottacode copilot-auth logoutThese commands manage the copilot provider’s GitHub device-code OAuth credentials and model cache. login runs the device code flow and caches available models. models lists cached models and marks plan-gated ones with [upgrade plan].
Sessions
yottacode sessions list
yottacode sessions list --json
yottacode sessions resume <id-or-name>
yottacode sessions resume <id-or-name> --summarized
yottacode sessions rename <id-or-name> <new-name>
yottacode sessions export <id-or-name>
yottacode sessions export <id-or-name> path.md --forceSessions are saved automatically after completed turns in ~/.yottacode/sessions/.
Memory
yottacode memory list # default scope: project
yottacode memory list --scope user
yottacode memory forget --scope <user|project> <name>Use the TUI /memory picker to edit USER.md / YOTTACODE.md and browse agent-managed memories in vim. See Memory for the full layout and the memory_save / memory_forget tools the agent uses to curate this layer.
Worktrees
yottacode --worktree <name> # start a session in a git worktree
yottacode -w <name> # short form
yottacode run --worktree <name> # one-shot in a worktree
yottacode worktree list # list active worktrees
yottacode worktree status # show worktree state
yottacode worktree remove <name> # remove a worktree
yottacode worktree prune # clean up stale worktreesSee Worktrees for the full workflow and .worktreeinclude format.
GitHub setup
yottacode setup github # interactive PAT setup (or use $GITHUB_TOKEN / gh auth)See GitHub integration for the full auth chain and available slash commands.
Version
yottacode version