Quickstart
This guide gets you from zero to a working Thoth setup that survives real use. Install, choose a provider, verify a working chat, and know exactly what to do when something breaks.
Who this is for
- Brand new and want the shortest path to a working setup
- Switching providers and don't want to lose time to config mistakes
- Setting up Thoth for a team, bot, or always-on workflow
- Tired of "it installed, but it still does nothing"
The fastest path
Pick the row that matches your goal:
| Goal | Do this first | Then do this |
|---|---|---|
| I just want Thoth working on my machine | thoth setup | Run a real chat and verify it responds |
| I already know my provider | thoth model | Save the config, then start chatting |
| I want a bot or always-on setup | thoth gateway setup after CLI works | Connect Telegram, Discord, Slack, or another platform |
| I want a local or self-hosted model | thoth model → custom endpoint | Verify the endpoint, model name, and context length |
| I want multi-provider fallback | thoth model first | Add routing and fallback only after the base chat works |
Rule of thumb: if Thoth cannot complete a normal chat, do not add more features yet. Get one clean conversation working first, then layer on gateway, cron, skills, voice, or routing.
1. Install Thoth Agent
Option A — pip (simplest):
pip install thoth-agent
thoth postinstall # optional: installs Node.js, browser, ripgrep, ffmpeg + runs setup
PyPI releases track tagged versions (major/minor releases), not every commit on main. For bleeding-edge, use Option B.
Option B — git installer (tracks main branch):
# Linux / macOS / WSL2 / Android (Termux)
curl -fsSL https://raw.githubusercontent.com/519lab/thoth-agent/main/scripts/install.sh | bash
If you're installing on a phone, see the dedicated Termux guide for the tested manual path, supported extras, and current Android-specific limitations.
Install WSL2 first, then run the command above inside your WSL2 terminal.
After it finishes, reload your shell:
source ~/.bashrc # or source ~/.zshrc
For detailed installation options, prerequisites, and troubleshooting, see the Installation guide.
2. Choose a Provider
The single most important setup step. Use thoth model to walk through the choice interactively:
thoth model
Good defaults:
| Provider | What it is | How to set up |
|---|---|---|
| Nous Portal | Subscription-based, zero-config | OAuth login via thoth model |
| OpenAI Codex | ChatGPT OAuth, uses Codex models | Device code auth via thoth model |
| Anthropic | Claude models directly — Max plan + extra usage credits (OAuth), or API key for pay-per-token | thoth model → OAuth login (requires Max + extra credits), or an Anthropic API key |
| OpenRouter | Multi-provider routing across many models | Enter your API key |
| Z.AI | GLM / Zhipu-hosted models | Set GLM_API_KEY / ZAI_API_KEY |
| Kimi / Moonshot | Moonshot-hosted coding and chat models | Set KIMI_API_KEY (or the Kimi-Coding-specific KIMI_CODING_API_KEY) |
| Kimi / Moonshot China | China-region Moonshot endpoint | Set KIMI_CN_API_KEY |
| Arcee AI | Trinity models | Set ARCEEAI_API_KEY |
| GMI Cloud | Multi-model direct API | Set GMI_API_KEY |
| MiniMax (OAuth) | MiniMax-M2.7 via browser OAuth — no API key needed | thoth model → MiniMax (OAuth) |
| MiniMax | International MiniMax endpoint | Set MINIMAX_API_KEY |
| MiniMax China | China-region MiniMax endpoint | Set MINIMAX_CN_API_KEY |
| Alibaba Cloud | Qwen models via DashScope | Set DASHSCOPE_API_KEY |
| Hugging Face | 20+ open models via unified router (Qwen, DeepSeek, Kimi, etc.) | Set HF_TOKEN |
| AWS Bedrock | Claude, Nova, Llama, DeepSeek via native Converse API | IAM role or aws configure (guide) |
| Kilo Code | KiloCode-hosted models | Set KILOCODE_API_KEY |
| OpenCode Zen | Pay-as-you-go access to curated models | Set OPENCODE_ZEN_API_KEY |
| OpenCode Go | $10/month subscription for open models | Set OPENCODE_GO_API_KEY |
| DeepSeek | Direct DeepSeek API access | Set DEEPSEEK_API_KEY |
| NVIDIA NIM | Nemotron models via build.nvidia.com or local NIM | Set NVIDIA_API_KEY (optional: NVIDIA_BASE_URL) |
| GitHub Copilot | GitHub Copilot subscription (GPT-5.x, Claude, Gemini, etc.) | OAuth via thoth model, or COPILOT_GITHUB_TOKEN / GH_TOKEN |
| GitHub Copilot ACP | Copilot ACP agent backend (spawns local copilot CLI) | thoth model (requires copilot CLI + copilot login) |
| Vercel AI Gateway | Vercel AI Gateway routing | Set AI_GATEWAY_API_KEY |
| Custom Endpoint | VLLM, SGLang, Ollama, or any OpenAI-compatible API | Set base URL + API key |
For most first-time users: choose a provider, accept the defaults unless you know why you're changing them. The full provider catalog with env vars and setup steps lives on the Providers page.
Thoth Agent requires a model with at least 64,000 tokens of context. Models with smaller windows cannot maintain enough working memory for multi-step tool-calling workflows and will be rejected at startup. Most hosted models (Claude, GPT, Gemini, Qwen, DeepSeek) meet this easily. If you're running a local model, set its context size to at least 64K (e.g. --ctx-size 65536 for llama.cpp or -c 65536 for Ollama).
You can switch providers at any time with thoth model — no lock-in. For a full list of all supported providers and setup details, see AI Providers.
How settings are stored
Thoth separates secrets from normal config:
- Secrets and tokens →
~/.thoth/.env - Non-secret settings →
~/.thoth/config.yaml
The easiest way to set values correctly is through the CLI:
thoth config set model anthropic/claude-opus-4.6
thoth config set terminal.backend docker
thoth config set OPENROUTER_API_KEY sk-or-...
The right value goes to the right file automatically.
3. Run Your First Chat
thoth # interactive chat
You'll see a welcome banner with your model, available tools, and skills. Use a prompt that's specific and easy to verify:
Summarize this repo in 5 bullets and tell me what the main entrypoint is.
Check my current directory and tell me what looks like the main project file.
Help me set up a clean GitHub PR workflow for this codebase.
What success looks like:
- The banner shows your chosen model/provider
- Thoth replies without error
- It can use a tool if needed (terminal, file read, web search)
- The conversation continues normally for more than one turn
If that works, you're past the hardest part.
4. Verify Sessions Work
Before moving on, make sure resume works:
thoth --continue # Resume the most recent session
thoth -c # Short form
That should bring you back to the session you just had. If it doesn't, check whether you're in the same profile and whether the session actually saved. This matters later when you're juggling multiple setups or machines.
5. Try Key Features
Use the terminal
❯ What's my disk usage? Show the top 5 largest directories.
The agent runs terminal commands on your behalf and shows results.
Slash commands
Type / to see an autocomplete dropdown of all commands:
| Command | What it does |
|---|---|
/help | Show all available commands |
/tools | List available tools |
/model | Switch models interactively |
/personality pirate | Try a fun personality |
/save | Save the conversation |
Multi-line input
Press Alt+Enter, Ctrl+J, or Shift+Enter to add a new line. Shift+Enter requires a terminal that sends it as a distinct sequence (Kitty / foot / WezTerm / Ghostty by default; iTerm2 / Alacritty / VS Code terminal once the Kitty keyboard protocol is enabled). Alt+Enter and Ctrl+J work in every terminal.
Interrupt the agent
If the agent is taking too long, type a new message and press Enter — it interrupts the current task and switches to your new instructions. Ctrl+C also works.
6. Add the Next Layer
Only after the base chat works. Pick what you need:
Bot or shared assistant
thoth gateway setup # Interactive platform configuration
Connect Telegram, Discord, Slack, WhatsApp, Signal, Email, or Home Assistant, or Microsoft Teams.
Automation and tools
thoth tools— tune tool access per platformthoth skills— browse and install reusable workflows- Cron — only after your bot or CLI setup is stable
Sandboxed terminal
For safety, run the agent in a Docker container or on a remote server:
thoth config set terminal.backend docker # Docker isolation
thoth config set terminal.backend ssh # Remote server
Voice mode
# From the Thoth install directory (the curl installer placed it at
# ~/.thoth/thoth-agent on Linux/macOS or %LOCALAPPDATA%\thoth\thoth-agent on Windows):
cd ~/.thoth/thoth-agent
uv pip install -e ".[voice]"
# Includes faster-whisper for free local speech-to-text
Then in the CLI: /voice on. Press Ctrl+B to record. See Voice Mode.
Skills
thoth skills search kubernetes
thoth skills install openai/skills/k8s
Or use /skills inside a chat session.
MCP servers
# Add to ~/.thoth/config.yaml
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Editor integration (ACP)
ACP support ships with the standard [all] extras, so the curl installer already includes it. Just run:
thoth acp
(If you installed without [all], run cd ~/.thoth/thoth-agent && uv pip install -e ".[acp]" first.)
Common Failure Modes
These are the problems that waste the most time:
| Symptom | Likely cause | Fix |
|---|---|---|
| Thoth opens but gives empty or broken replies | Provider auth or model selection is wrong | Run thoth model again and confirm provider, model, and auth |
| Custom endpoint "works" but returns garbage | Wrong base URL, model name, or not actually OpenAI-compatible | Verify the endpoint in a separate client first |
| Gateway starts but nobody can message it | Bot token, allowlist, or platform setup is incomplete | Re-run thoth gateway setup and check thoth gateway status |
thoth --continue can't find old session | Switched profiles or session never saved | Check thoth sessions list and confirm you're in the right profile |
| Model unavailable or odd fallback behavior | Provider routing or fallback settings are too aggressive | Keep routing off until the base provider is stable |
thoth doctor flags config problems | Config values are missing or stale | Fix the config, retest a plain chat before adding features |
Recovery Toolkit
When something feels off, use this order:
thoth doctorthoth modelthoth setupthoth sessions listthoth --continuethoth gateway status
That sequence gets you from "broken vibes" back to a known state fast.
Quick Reference
| Command | Description |
|---|---|
thoth | Start chatting |
thoth model | Choose your LLM provider and model |
thoth tools | Configure which tools are enabled per platform |
thoth setup | Full setup wizard (configures everything at once) |
thoth doctor | Diagnose issues |
thoth update | Update to latest version |
thoth gateway | Start the messaging gateway |
thoth --continue | Resume last session |
Next Steps
- CLI Guide — Master the terminal interface
- Configuration — Customize your setup
- Messaging Gateway — Connect Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant, Teams, and more
- Tools & Toolsets — Explore available capabilities
- AI Providers — Full provider list and setup details
- Skills System — Reusable workflows and knowledge
- Tips & Best Practices — Power user tips