Troubleshooting
ModuleNotFoundError after upgrade
Section titled “ModuleNotFoundError after upgrade”If you see ModuleNotFoundError for packages like httpx after upgrading:
# Homebrew (handles dependencies automatically)brew reinstall oak-ci
# Or with pipx (requires Python 3.12 or 3.13)pipx reinstall oak-ci
# Or with uvuv tool install --force oak-ci --python python3.13This can happen when new dependencies are added to the package but the global installation wasn’t updated.
Command not found: oak
Section titled “Command not found: oak”Using pipx or uv:
# Ensure tools are in your PATH# Add to ~/.bashrc, ~/.zshrc, or equivalent:export PATH="$HOME/.local/bin:$PATH"
# Then reload your shell:source ~/.bashrc # or ~/.zshrcUsing pip:
# Check if pip's script directory is in PATHpython3 -m pip show oak-ci
# If installed with --user flag, add to PATH:export PATH="$HOME/.local/bin:$PATH"Daemon version mismatch after upgrade
Section titled “Daemon version mismatch after upgrade”After upgrading OAK, the running daemon may still be on the old version. OAK detects this automatically:
- In the CLI:
oak ci startoroak ci statuswill display a hint if the daemon version doesn’t match the installed CLI version. - In the Dashboard: A banner appears at the top of the page showing the running and installed versions, with a Restart button to apply the update.
To resolve manually:
oak ci restart # Restart the daemon with the new versionoak ci sync # Or run sync, which also restarts and applies migrationsSomething feels broken
Section titled “Something feels broken”oak init is idempotent and safe to re-run. It’s the first thing to try when something isn’t working:
oak init # Re-run initialization to repair setupFor CI-specific issues after an upgrade, oak upgrade followed by oak ci sync is the standard healing path:
oak upgrade # Update templates and agent commandsoak ci sync # Sync daemon, apply migrations, re-index if neededChanges not taking effect (editable install)
Section titled “Changes not taking effect (editable install)”If you’re developing OAK and changes aren’t reflected:
For Python code changes: They should work immediately with editable mode.
For dependency or entry point changes:
make setupPython 3.14+ errors (chromadb / pydantic)
Section titled “Python 3.14+ errors (chromadb / pydantic)”OAK requires Python 3.12 or 3.13. Python 3.14 is not yet supported due to dependency incompatibilities (notably chromadb and pydantic v1).
The simplest fix on macOS is to use the Homebrew formula, which pins Python 3.13 automatically:
brew install goondocks-co/oak/oak-ciOr reinstall with an explicit interpreter:
# Check your default versionpython3 --version
# Reinstall with a supported versionpipx install oak-ci --python python3.13 --force
# Or with uvuv tool install oak-ci --python python3.13 --forceIf you don’t have 3.13 installed:
# macOSbrew install python@3.13
# Linux (Debian/Ubuntu)sudo apt install python3.13Permission denied errors
Section titled “Permission denied errors”Using pipx or uv: Should work without sudo (installs to ~/.local).
Using pip: Don’t use sudo with pip — use the --user flag:
pip install --user oak-ci.oak directory not found
Section titled “.oak directory not found”Run oak init first to initialize the project.
AI agent commands not showing up
Section titled “AI agent commands not showing up”# Re-run init to install agent commandsoak init --agent claudeAgent commands are installed in their native directories (.claude/commands/, .github/agents/, etc.).
Daemon won’t start
Section titled “Daemon won’t start”Check if the daemon is already running:
oak ci statusIf the port is in use or the daemon is in a bad state:
oak ci stop # Stop any existing daemonoak ci start # Start freshUninstallation
Section titled “Uninstallation”# Using Homebrewbrew uninstall oak-ci
# Using pipxpipx uninstall oak-ci
# Using uvuv tool uninstall oak-ci
# Using pippip uninstall oak-ciThis removes the CLI tool but does not delete project files created by oak init. To clean up a project, run oak remove.