by unohee
OpenSwarm — Autonomous AI dev team orchestrator powered by Claude Code CLI. Discord control, Linear integration, cognitive memory.
# Add to your Claude Code skills
git clone https://github.com/unohee/OpenSwarmLast scanned: 5/8/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-08T05:57:33.455Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}OpenSwarm is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by unohee. OpenSwarm — Autonomous AI dev team orchestrator powered by Claude Code CLI. Discord control, Linear integration, cognitive memory. It has 836 GitHub stars.
Yes. OpenSwarm passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/unohee/OpenSwarm" and add it to your Claude Code skills directory (see the Installation section above).
OpenSwarm is primarily written in TypeScript. It is open-source under unohee on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh OpenSwarm against similar tools.
No comments yet. Be the first to share your thoughts!
Autonomous AI agent orchestrator — Codex, GPT, OpenRouter (any model), local models (Ollama/LM Studio), and Claude Code (
claude -p)
💬 Help shape OpenSwarm. Share feature ideas, vote on the roadmap, and ask questions in GitHub Discussions. The roadmap is built in the open — your feedback decides what ships next.
OpenSwarm orchestrates multiple AI agents as autonomous code workers. It picks up issues from Linear or a built-in local tracker, runs Worker/Reviewer pair pipelines, reports through a pluggable notifier (Discord, Slack, Telegram, webhook), and retains long-term memory via LanceDB. Workers run on OpenAI Codex/GPT, any OpenRouter model, local open-source models (Ollama, LM Studio), or Claude Code (claude -p, opt-in) — with cost-aware routing measured on an L0–L6 benchmark ladder.
Verified on real GitHub issues: the agentic harness solves SWE-bench Lite instances graded by the official harness. Hybrid mode — a frontier model diagnoses read-only, a lightweight model implements with a verification loop — resolved 3/3 attempted instances that every single lightweight model had failed, at a fraction of frontier-only cost. Workers also learn each repository over time: task outcomes are stored as per-repo knowledge and recalled into future prompts. (benchmark rubric & results)
OpenSwarm is proudly supported by Atlas Cloud — an enterprise AI infrastructure platform serving fast, stable LLM, image, and video APIs (partnered with OpenRouter and SGLang).
As an official provider sponsor, Atlas Cloud ships as the built-in atlascloud adapter (OpenAI-compatible Chat Completions, ATLASCLOUD_API_KEY) and provides ongoing monthly API credits that keep the project's autonomous runs going. To run OpenSwarm on Atlas Cloud, grab a key at atlascloud.ai, set ATLASCLOUD_API_KEY, and select adapter: atlascloud.
npm install -g @intrect/openswarm
openswarm init # interactive setup wizard — provider auth + Linear OAuth + config
openswarm doctor # verify your environment (runtime, native deps, providers, ports)
openswarm # launches the TUI chat
openswarm init walks you through provider authentication, optional Linear OAuth (team/project picker), and writes a validated config.yaml. Prefer wiring a provider by hand? You need one first: openswarm auth login (ChatGPT OAuth, used by codex/gpt), openswarm auth login --provider openrouter (or export OPENROUTER_API_KEY=…), or just have an authenticated claude on PATH. Check what's wired with openswarm auth status, and diagnose any gaps with openswarm doctor.
openswarm init sets upThe wizard asks three questions, detects what you already have, and writes the config for you:
codex-responses — ChatGPT subscription via OAuth (Codex models, native loop) — easiest startcodex — external codex CLI · openrouter — any model (API key/OAuth) · gpt — OpenAI OAuthlmstudio / local — local servers, no account · claude — claude -p CLI (opt-in fallback)local SQLite issue store (no account) or linear (OAuth browser login or API key, then an arrow-key team → project picker for this repo)none / discord / slack / telegram / webhookIt then writes .env (secrets, chmod 600), config.yaml (validated), and — if you mapped a Linear project — openswarm.json (this repo → Linear team/project). Finally it prints next steps and can launch browser OAuth.
Re-running in a repo that already has
config.yamlis refused unless you pass--force, andinitrefuses to overwrite aconfig.yamlthat symlinks into the daemon's global config. For CI / non-interactive use,openswarm init --yeswrites a sample config only.

| Key | Action |
|---|---|
Tab |
Switch tabs (Chat / Projects / Tasks / Stuck / Issues / Logs) |
Enter |
Send message |
Shift+Enter |
Newline |
i |
Focus input |
Esc |
Exit input focus |
Ctrl+C |
Quit |
Status bar shows: provider · model · message count · cumulative cost
openswarm # TUI chat (default)
openswarm chat [session] # Simple readline chat
openswarm resume # Reopen the most recent chat session (conversation + goal)
openswarm start # Start full daemon (requires config.yaml)
openswarm run "Fix the bug" -p ~/my-project # Run a single task
openswarm exec "Run tests" --local --pipeline # Execute via daemon
openswarm init # Interactive setup wizard (provider auth, Linear OAuth, config)
openswarm provider # Show/switch the active provider (interactive picker)
openswarm provider claude # Switch straight to a provider — a running daemon switches in place
openswarm doctor # Diagnose environment (runtime, native deps, providers, ports)
openswarm validate # Validate config.yaml
# Code review
openswarm review # Review the working-tree changes
openswarm review --max # Full-codebase audit: fan reviewer subagents over areas
# → report at .openswarm/audit/ + PM-synthesized Linear
# issues by default (≤10 cohesive, master + sub-issues)
openswarm review --max --fix # after the audit, dependency-related findings are grouped;
# independent fix units run in isolated sandboxes, then
# a PR is published only after every re-review and trusted
# deterministic repository check passes
# add --in-place to edit the current working tree instead
openswarm review --max --concurrency 8 # widen the fan-out — areas auto-split to fill the pool
# more --max flags: --no-linear (report only) · --issues-per-area
# (legacy spray) · --issues <id> (set parent) · --fallback
# <adapter> · --out <file> · --dry-run (print the plan)
# CI / test gate auto-fix (npm / Cargo / Python auto-detected)
openswarm fix # Run the checks (package.json scripts, or cargo check+test,
# or ruff/mypy/pytest), fan a fix-worker out over the
# failures, re-run until green
openswarm fix --checks lint,test # only these checks · --concurrency <n> · --rounds <n> (default 3)
# any language: put {"checks": {"test": "pytest -x"}} in openswarm.json
# PR autopilot (on-demand — conflict → comments → CI; does not merge)
openswarm pr status # Snapshot: conflicts, CI, CHANGES_REQUESTED / critical comments
openswarm pr status --json # Machine-readable; exit 0 only when merge-ready
openswarm pr fix # One-shot fix for the current branch's open PR (or --number N)
openswarm pr review # Re-apply reviewer feedback only (Claude, Codex, or CHANGES_REQUESTED) — no conflict/CI work
openswarm pr review --fresh # Run a brand-new code review of the PR diff and post it as a comment
openswarm pr review --all # Review every open PR in the repo instead of just one (combine with --fresh)
openswarm pr watch # Loop fix until merge-ready or --rounds exhausted (default 5)
openswarm pr create # Local fix → commit → push → gh pr create (from feature branch)
openswarm pr create --no-fix --issue INT-123 --title "feat: …" # skip local fix; set issue id
# Code Registry & BS Detector
openswarm check --scan # Scan repo → register all entities
openswarm check src/foo.ts # File brief (entities, tests, risk)
openswarm check --bs # BS pattern scan (bad code smells)
openswarm check --stats # Registry statistics
openswarm check --high-risk # High-risk entities
openswarm check --search "name" # Full-text search
openswarm annotate "funcName" --deprecate "reason"
openswarm annotate "funcName" --tag "needs-refactor"
openswarm annotate "funcName" --warn "error/security: SQL injection"
openswarm review exit codesreview is designed to work as a CI merge gate, and CI reads nothing but the
exit code:
| Exit | Meaning |
|---|---|
0 |
The gate ran and did not reject (approve/revise), or there was nothing to review |
1 |
The gate ran and the verdict is reject — with --fix, also when any area is left unresolved or deterministic verification did not pass |
2 |
The gate did not run — no verd |