Troubleshooting¶
Guide — symptom → cause → fix. Scan the table first; narrative sections below go deeper.
Quick reference¶
| Symptom | Likely cause | Fix |
|---|---|---|
command not found: amatelier |
CLI script directory not on PATH |
Run python -m amatelier --version; add pip's script dir to PATH |
ModuleNotFoundError: amatelier after clone |
Installed with pip install . instead of editable |
Reinstall with pip install -e ".[dev]" |
BackendUnavailable: No LLM backend available |
No credentials detected, no claude CLI |
Set one of the four documented credentials |
anthropic SDK not installed |
Partial venv; anthropic missing |
pip install anthropic (or reinstall amatelier) |
openai SDK not installed |
openai missing for openai-compat mode |
pip install openai |
google-genai not installed / Naomi silent |
Gemini deps missing or rate-limited | pip install google-generativeai; check gemini_errors.log |
PermissionError writing to user data |
OS blocked the platformdirs location | Set AMATELIER_WORKSPACE=/writable/path |
| Roundtable uses old persona rules after package upgrade | Local seeds diverged from bundled | amatelier refresh-seeds --force |
claude: command not found with AMATELIER_MODE=claude-code |
Claude Code CLI not installed | Unset AMATELIER_MODE or install Claude Code |
pytest fails with import errors |
[dev] extras missing |
pip install -e ".[dev]" |
mkdocs build warnings or failures |
Broken links from doc edits | Run mkdocs build --strict and fix each warning |
command not found: amatelier¶
Pip installed the package but the entry-point script is not on your PATH. Test:
If that prints a version, the script directory is the missing piece. On Linux and macOS, user-site installs go to ~/.local/bin. Add it:
On Windows, the script dir is usually %APPDATA%\Python\PythonXY\Scripts. Add it to your user PATH via System Properties, or launch a fresh shell if you just installed.
Reinstall with --user if you need per-user isolation:
ModuleNotFoundError after editable install¶
You probably ran pip install . from the clone — that installs a snapshot, not a link. Uninstall and redo:
The -e flag creates the editable link; [dev] adds pytest, ruff, mypy.
BackendUnavailable: No LLM backend available¶
Raised by llm_backend.get_backend() when every auto-detection channel fails. Run:
Look at Credentials seen in environment:. Every row says [ ]. Pick one:
- Claude Code — install the CLI from claude.com/claude-code
- Anthropic SDK —
export ANTHROPIC_API_KEY=sk-ant-...from console.anthropic.com - OpenAI —
export OPENAI_API_KEY=sk-...from platform.openai.com - OpenRouter —
export OPENROUTER_API_KEY=sk-or-...from openrouter.ai/keys
Rerun amatelier config after setting the var. One row should now say [OK].
See the backend configuration guide for per-backend setup and caveats.
anthropic SDK not installed / openai SDK not installed¶
Raised lazily when the selected backend imports its client library. anthropic and openai are listed as runtime dependencies and install by default, so this typically means a broken venv or a manual uninstall. Reinstall:
Or reinstall amatelier itself:
Naomi silent or Gemini errors¶
Naomi runs on Google's Gemini SDK with a 5-second minimum call interval (preview tier rate limits are tight). Check the error log in your user data dir:
amatelier config --json | python -c "import json,sys,pathlib; d=json.load(sys.stdin)['paths']['user_data_dir']; print(pathlib.Path(d) / 'roundtable-server' / 'logs' / 'gemini_errors.log')"
Common causes:
GEMINI_API_KEYmissing — amatelier checksos.environ, a.envnext to the installed package, and a.envat the workspace rootgoogle-generativeainot installed —pip install google-generativeai- Quota exhausted — wait for the window to reset or upgrade the Gemini tier
- Preview model deprecated — update
config.json → gemini.model
Omit Naomi from a run:
Permission errors on user_data_dir¶
The bootstrap writes to the OS-default user data directory:
- Linux:
~/.local/share/amatelier/ - macOS:
~/Library/Application Support/amatelier/ - Windows:
%LOCALAPPDATA%\amatelier\
If the user running amatelier lacks write permission (sandboxed CI, hardened containers), redirect:
Any absolute writable path works. amatelier config shows the resolved value.
Reset agent rules or start over¶
Amatelier never clobbers local persona edits on package upgrade. When you do want the latest shipped rules — e.g. after a release that improved the therapist framework — run:
Add --agent <name> to target a single worker. --dry-run previews without writing. Accumulated MEMORY.md, behaviors.json, and metrics.json are preserved; only CLAUDE.md and IDENTITY.md refresh.
claude: command not found with explicit mode¶
You set AMATELIER_MODE=claude-code but the CLI is absent. Two options:
- Unset the override and let auto-detection pick another backend:
- Install Claude Code from claude.com/claude-code.
Tests failing locally¶
Run the smoke tests to isolate the problem:
If imports fail, reinstall with dev extras:
If specific tests fail on a fresh clone, check that your Python version matches the pyproject.toml minimum (3.10) and that you are running from the repository root.
MkDocs build issues¶
When developing docs, run the strict build to catch broken links:
Every warning becomes a hard error. Fix each one before committing. Missing --strict lets silent link rot through.
Still stuck¶
- Search existing issues
- Open a new issue with the bug report template; include the output of
amatelier config --json