Troubleshooting
This page covers common issues encountered when working with the Agentic toolkit and how to resolve them.
Token Configuration Errors
Section titled “Token Configuration Errors””No token found for organization”
Section titled “”No token found for organization””The fleet or triage command cannot find a GitHub token for the target repository’s organization.
Cause: The organization is not mapped in agentic.config.json or via environment variables.
Fix:
- Run
agentic initto regenerate configuration with detected tokens. - Or add the organization manually:
{ "tokens": { "organizations": { "my-org": { "name": "my-org", "tokenEnvVar": "GITHUB_MY_ORG_TOKEN" } }, "defaultTokenEnvVar": "GITHUB_TOKEN" }}- Or set a dynamic environment variable:
export AGENTIC_ORG_MYORG_TOKEN=GITHUB_MYORG_TOKENexport GITHUB_MYORG_TOKEN=ghp_xxxxxxxxxxxx“Token validation failed”
Section titled ““Token validation failed””The token exists but is rejected by the GitHub API.
Cause: The token is expired, revoked, or missing required scopes.
Fix:
- Check the token status:
agentic tokens status - Verify the token has the
reposcope (for private repositories) orpublic_reposcope. - Regenerate the token on GitHub and update your environment.
”ANTHROPIC_API_KEY not set”
Section titled “”ANTHROPIC_API_KEY not set””AI triage features require a provider API key.
Fix:
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxOr configure a different provider in agentic.config.json:
{ "triage": { "provider": "openai", "model": "gpt-4o", "apiKeyEnvVar": "OPENAI_API_KEY" }}Agent Spawn Failures
Section titled “Agent Spawn Failures”Agent stays in PENDING state
Section titled “Agent stays in PENDING state”Symptom: After calling fleet.spawn(), the agent never transitions to RUNNING.
Possible causes:
- Invalid API key — Verify
CURSOR_API_KEYis set and valid. - Repository access — The Cursor account must have access to the target repository.
- Rate limits — The Cursor API may throttle spawn requests. Wait 30 seconds and retry.
# Quick checkecho $CURSOR_API_KEY | head -c 8# Should print the first 8 characters of your key”Failed to spawn agent: Cursor API error”
Section titled “”Failed to spawn agent: Cursor API error””The Cursor Background Agent API rejected the spawn request.
Possible causes:
CURSOR_API_KEYis not set or is invalid.- The target repository URL is malformed.
- The Cursor service is temporarily unavailable.
Fix:
- Verify the API key:
echo $CURSOR_API_KEY | head -c 10 - Ensure the repository URL is a full HTTPS URL:
https://github.com/owner/repo - Check Cursor service status.
”Agent spawned but no PR created”
Section titled “”Agent spawned but no PR created””The agent completed its work but did not open a pull request.
Cause: The --auto-pr flag was not passed, or the agent determined no changes were needed.
Fix:
agentic fleet spawn <repo> <task> --auto-prOr set the default in configuration:
{ "fleet": { "autoCreatePr": true }}fleet.list() returns empty
Section titled “fleet.list() returns empty”The API key may be scoped to a different workspace. Confirm you are using the correct key for your organization.
Coordination PR not receiving updates
Section titled “Coordination PR not receiving updates”- Ensure
GITHUB_TOKEN(orGITHUB_JBCOM_TOKENin this organization) hasrepoandpull_requestscopes. - Check that the
repoparameter usesowner/nameformat, not a full URL.
Handoff failed: predecessor not found
Section titled “Handoff failed: predecessor not found”The handoff protocol could not locate the predecessor agent.
Cause: The predecessor agent ID is incorrect or the agent has already been cleaned up.
Fix:
- List agents to find the correct ID:
agentic fleet list - Ensure the predecessor is still active before initiating handoff.
Build and Install Issues
Section titled “Build and Install Issues”TypeScript: “Cannot find module ‘@jbcom/agentic’”
Section titled “TypeScript: “Cannot find module ‘@jbcom/agentic’””Cause: The package is not installed, or the project is not using ES modules.
Fix:
- Install the package:
pnpm add @jbcom/agentic - Ensure
"type": "module"is set in yourpackage.json. - Ensure your
tsconfig.jsonuses"moduleResolution": "bundler"or"node16".
TypeScript: “No AI provider SDK found”
Section titled “TypeScript: “No AI provider SDK found””Cause: @jbcom/agentic requires at least one AI provider peer dependency installed.
Fix:
pnpm add @ai-sdk/anthropic # or @ai-sdk/openai, @ai-sdk/google, etc.Python: “ModuleNotFoundError: No module named ‘crewai’”
Section titled “Python: “ModuleNotFoundError: No module named ‘crewai’””Cause: agentic-crew was installed without a framework extra.
Fix:
pip install agentic-crew[crewai]# orpip install agentic-crew[langgraph]# orpip install agentic-crew[strands]Python: “No framework detected”
Section titled “Python: “No framework detected””Cause: None of the supported frameworks (CrewAI, LangGraph, Strands) are installed.
Fix:
pip install agentic-crew[ai] # Install all frameworksPython: uv run fails with “No such module: agentic_crew”
Section titled “Python: uv run fails with “No such module: agentic_crew””# Re-sync dependenciescd packages/agentic-crewuv sync --all-extrasCrewTool bridge timeout
Section titled “CrewTool bridge timeout”The TypeScript-to-Python bridge defaults to a 60-second timeout. For long-running crews, increase it:
const tool = new CrewTool({ crewPath: './my-crew', timeout: 300000, // 5 minutes});Rust: “error[E0433]: failed to resolve: use of undeclared crate”
Section titled “Rust: “error[E0433]: failed to resolve: use of undeclared crate””Cause: Rust dependencies are not downloaded.
Fix:
cargo build -p game-generatorCargo will fetch all dependencies automatically. Ensure you have Rust >= 1.85 installed.
Rust: cargo build fails on macOS
Section titled “Rust: cargo build fails on macOS”Ensure you have the latest Xcode Command Line Tools:
xcode-select --installRust: Missing system dependencies on Linux
Section titled “Rust: Missing system dependencies on Linux”# Ubuntu/Debiansudo apt-get install -y pkg-config libssl-devRust: Bevy requires a GPU
Section titled “Rust: Bevy requires a GPU”The game-generator uses Bevy for rendering and requires GPU support. Ensure you have up-to-date graphics drivers. On headless servers, Bevy cannot run the GUI wizard — use the library API instead.
CI/CD Integration
Section titled “CI/CD Integration”GitHub Actions: “Resource not accessible by integration”
Section titled “GitHub Actions: “Resource not accessible by integration””Cause: The GitHub Actions workflow token does not have sufficient permissions.
Fix: Add the required permissions to your workflow:
permissions: issues: write pull-requests: write contents: readGitHub Actions: “Action timed out”
Section titled “GitHub Actions: “Action timed out””Cause: The AI triage or fleet operation exceeded the step timeout.
Fix: Increase the timeout for the step:
- uses: jbcom/agentic/actions/agentic-issue-triage@main timeout-minutes: 10npm publish: “ENEEDAUTH”
Section titled “npm publish: “ENEEDAUTH””Cause: npm authentication is not configured for publishing.
Fix: If using OIDC trusted publishing (recommended), ensure the GitHub Actions workflow has id-token: write permission:
permissions: id-token: write contents: readIf using a token, set the NPM_TOKEN secret in your repository settings.
pnpm install fails in CI
Section titled “pnpm install fails in CI”Make sure pnpm-lock.yaml is committed and up-to-date:
pnpm install --frozen-lockfileDocs build fails with TypeDoc errors
Section titled “Docs build fails with TypeDoc errors”The docs site uses starlight-typedoc to generate API reference pages. If the build fails:
- Ensure all TypeScript packages compile:
pnpm run checkfrom the monorepo root. - The TypeDoc plugins use
skipErrorChecking: true, but missing entry points still cause failures. Verify the paths indocs/astro.config.mjs.
pytest: “E2E tests skipped”
Section titled “pytest: “E2E tests skipped””Cause: E2E tests are disabled by default in pytest-agentic-crew.
Fix:
pytest --e2e # Enable E2E testspytest --e2e --framework=crewai # Run only CrewAI testsEnsure the required API keys are set:
export ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxProvider-Specific Issues
Section titled “Provider-Specific Issues”Triage: TriageConnectors throws “provider not found”
Section titled “Triage: TriageConnectors throws “provider not found””Make sure the provider field matches one of: github, jira, linear, beads.
GitHub: Rate limiting (403)
Section titled “GitHub: Rate limiting (403)”The triage tools make multiple API calls. If you hit rate limits:
- Use a GitHub App token instead of a personal access token.
- Reduce
pollIntervalfrequency in coordination config. - Add retry logic with exponential backoff (built-in when using
getTriageTools()).
Ollama: “Connection refused”
Section titled “Ollama: “Connection refused””Cause: The Ollama server is not running or is on a different port.
Fix:
- Start Ollama:
ollama serve - Verify the URL matches your configuration (default:
http://localhost:11434). - If using Ollama Cloud, ensure
OLLAMA_API_KEYis set.
Ollama: “Model not found”
Section titled “Ollama: “Model not found””Cause: The requested model is not pulled locally.
Fix:
ollama pull qwen2.5-coder:32bAnthropic: “Rate limit exceeded”
Section titled “Anthropic: “Rate limit exceeded””Cause: Too many API calls in a short period.
Fix:
- Reduce concurrency in fleet operations.
- Use the escalation ladder to route simple tasks to cheaper providers first.
- Wait and retry — Anthropic rate limits reset on a per-minute basis.
Jules: “Session timed out”
Section titled “Jules: “Session timed out””Cause: Jules sessions are asynchronous and may take longer than expected.
Fix: Use polling to wait for completion:
import { createJulesAgent, pollJulesSession } from '@jbcom/agentic-providers/jules';
const agent = createJulesAgent('jules', { apiKey });const session = await agent.start(task);const result = await pollJulesSession(session.id, { timeout: 600000 }); // 10 minCursor: “Budget exceeded”
Section titled “Cursor: “Budget exceeded””Cause: The daily cost budget for the task router has been reached.
Fix: Increase the budget or wait for the next day:
const router = new TaskRouter({ registry, dailyBudget: 100, // Increase from default});Sandbox Issues
Section titled “Sandbox Issues””Docker daemon not running”
Section titled “”Docker daemon not running””Cause: The sandbox executor requires Docker to be running.
Fix:
- Start Docker Desktop (macOS/Windows) or the Docker daemon (Linux).
- Verify:
docker info
”Container OOM killed”
Section titled “”Container OOM killed””Cause: The sandbox container exceeded its memory limit.
Fix: Increase the memory allocation:
agentic sandbox run "..." --memory 4096 # 4GBOr programmatically:
const result = await sandbox.execute({ prompt: '...', memory: 4096,});“Permission denied: workspace mount”
Section titled ““Permission denied: workspace mount””Cause: Docker does not have permission to mount the workspace directory.
Fix:
- On macOS, ensure Docker Desktop has file sharing enabled for the workspace path.
- On Linux, ensure the current user is in the
dockergroup:sudo usermod -aG docker $USER
Environment Variables Reference
Section titled “Environment Variables Reference”| Variable | Purpose | Required |
|---|---|---|
CURSOR_API_KEY | Fleet API authentication | For fleet operations |
GITHUB_TOKEN | GitHub API access | For triage and coordination |
GITHUB_JBCOM_TOKEN | Org-scoped GitHub token | For this organization |
OPENAI_API_KEY | OpenAI provider | If using OpenAI models |
ANTHROPIC_API_KEY | Anthropic provider | If using Claude models |
OLLAMA_API_KEY | Ollama Cloud API | If using Ollama Cloud |
MESHY_API_KEY | Meshy 3D API | For meshy content generation |
JULES_API_KEY | Jules provider | If using Jules agent |
Getting Help
Section titled “Getting Help”If your issue is not covered here:
- Search existing issues on GitHub.
- Open a new issue with reproduction steps.
- For urgent fleet issues, use the
/julescommand in an issue comment. - Visit the full documentation for detailed guides.
Next Steps
Section titled “Next Steps”- Architecture Overview — understand the system design
- Configuration — review all config options
- Fleet Management — fleet setup and management