{"id":25072,"library":"claude-atlas","title":"claude-atlas","description":"CLI and VS Code extension to visualize, lint, and refactor your Claude Code agent configurations. v0.5.0 released Mar 2025. Reads agents/, commands/, .mcp.json, and settings.json to build a dependency graph, detects dead agents, delegation cycles, missing references, and unused tool grants. Provides safe rename and permission blast-radius queries. No LLM calls, no telemetry, open source (MIT). Node 20+ required.","status":"active","version":"0.5.0","language":"javascript","source_language":"en","source_url":"https://github.com/bernabranco/claude-atlas","tags":["javascript","claude","claude-code","agents","graph","visualization","lint","cli"],"install":[{"cmd":"npm install claude-atlas","lang":"bash","label":"npm"},{"cmd":"yarn add claude-atlas","lang":"bash","label":"yarn"},{"cmd":"pnpm add claude-atlas","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Requires Node >= 20","package":"node","optional":false}],"imports":[{"note":"ESM-only since v0.1.0","wrong":"const atlas = require('claude-atlas')","symbol":"default","correct":"import atlas from 'claude-atlas'"},{"note":"Named export for programmatic scanning","symbol":"scan","correct":"import { scan } from 'claude-atlas'"},{"note":"Named export for programmatic linting","symbol":"lint","correct":"import { lint } from 'claude-atlas'"}],"quickstart":{"code":"npx claude-atlas serve .claude -p 4000","lang":"typescript","description":"Launch the interactive graph viewer on port 4000 from a .claude directory."},"warnings":[{"fix":"None needed; extension is additive.","message":"v0.5.0 introduces VS Code extension; CLI users are unaffected but extension auto-detects .claude/ folder.","severity":"breaking","affected_versions":">=0.5.0"},{"fix":"Update consumers to handle both invokes and invokesOrdered.","message":"v0.4.0 added invokesOrdered array; invokes string array remains but new code should prefer invokesOrdered.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"None.","message":"v0.3.0 introduced permission blast-radius via `who-can` subcommand.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Run with appropriate node --experimental-wasm-modules if needed.","message":"v0.2.0 added rename subcommand; writing to config files may require file system permissions.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Suppress with // atlas-ignore-line or // atlas-ignore-next-line.","message":"Dead agent detection triggers false positives for agents invoked via dynamic references (e.g., environment variables).","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install with `npm install -g claude-atlas` or use `npx claude-atlas`.","cause":"Package not installed globally or locally.","error":"Error: Cannot find module 'claude-atlas'"},{"fix":"Upgrade Node to >=20.","cause":"Node version below 20 does not support nullish coalescing.","error":"SyntaxError: Unexpected token '??'"},{"fix":"Run with appropriate permissions or use --dry-run to preview.","cause":"Rename command requires write access to .claude/ files.","error":"Error: EACCES: permission denied, open '.claude/settings.json'"},{"fix":"Validate with `npx claude-atlas scan .claude --json` to see parsing errors.","cause":"Invalid JSON in .mcp.json file.","error":"Error: Unable to parse .mcp.json"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}