Overview
Thespecify check command verifies that required tools and AI assistant CLIs are installed and available in your system PATH. Use this command to diagnose environment issues before initializing a project.
Usage
What It Checks
Core Tools
Git version control — Required for repository initialization unless using
--no-git with specify init.Install: https://git-scm.com/downloadsAI Assistant CLIs
The command checks for all CLI-based AI assistants:Claude Code — Anthropic’s Claude Code CLISpecial handling: After running
claude migrate-installer, the CLI is located at ~/.claude/local/claude instead of in PATH.Install: https://docs.anthropic.com/en/docs/claude-code/setupGemini CLI — Google’s Gemini CLIInstall: https://github.com/google-gemini/gemini-cli
Cursor — Cursor CLINote: The CLI tool is
cursor-agent, not cursor.Qwen Code — Alibaba’s Qwen Code CLIInstall: https://github.com/QwenLM/qwen-code
opencode — opencode CLIInstall: https://opencode.ai
Amazon Q Developer CLI — Amazon Q DeveloperInstall: https://aws.amazon.com/developer/learning/q-developer-cli/
Amp — Amp CLIInstall: https://ampcode.com/manual#install
SHAI — SHAI CLIInstall: https://github.com/ovh/shai
Auggie CLI — Auggie CLIInstall: https://docs.augmentcode.com/cli/setup-auggie/install-auggie-cli
CodeBuddy — CodeBuddy CLIInstall: https://www.codebuddy.ai/cli
Qoder CLI — Qoder CLIInstall: https://qoder.com/cli
Codex CLI — Codex CLIInstall: https://github.com/openai/codex
IDE-Based Assistants (Informational)
The following assistants are IDE-based and don’t require CLI checks:- GitHub Copilot — Built into VS Code and compatible editors
- Windsurf — Windsurf IDE
- Kilo Code — Kilo Code IDE
- Roo Code — Roo Code IDE
- IBM Bob — IBM Bob IDE
- Antigravity — Antigravity IDE
Editor CLIs (Optional)
Visual Studio Code — VS Code command-line interfaceInstall: https://code.visualstudio.com/
Visual Studio Code Insiders — VS Code Insiders edition CLIInstall: https://code.visualstudio.com/insiders/
Example Output
Status Indicators
The check command uses the following status indicators:- ● Green — Tool is available and found in PATH
- ● Red — Required tool not found (error)
- ○ Yellow — Optional tool not found or IDE-based (skipped)
- ○ Gray — Pending check
Understanding Results
All Clear
If git and at least one AI assistant CLI are available:specify init.
Missing Git
If git is not found:--no-git with specify init.
No AI Assistants Found
If no AI assistant CLIs are available:- Installing a CLI-based assistant from the list above
- Using an IDE-based assistant (GitHub Copilot, Windsurf, etc.)
- Using
--ignore-agent-toolswithspecify init
When to Run Check
Before Initialization
Runcheck before creating a new project to ensure tools are available:
Troubleshooting
Ifspecify init fails with agent detection errors:
After Installing Tools
Verify that newly installed tools are in PATH:Common Issues
Tool Installed But Not Found
If you’ve installed a tool butcheck doesn’t find it:
Cause: The tool is not in your PATH.
Solutions:
- Restart your terminal to reload PATH
- Check installation instructions for PATH setup
- Verify with:
which <tool-name>(Unix) orwhere <tool-name>(Windows)
Claude Migrate-Installer
If you ranclaude migrate-installer:
Note: The Claude CLI is now at ~/.claude/local/claude instead of in PATH.
specify check will find it automatically at this location. See GitHub Spec Kit issue #123 for details.
Multiple Versions Detected
If multiple versions of a tool are installed: Behavior:check finds the first one in PATH.
To see which version:
Exit Codes
- 0 — Check completed successfully (tools may or may not be available)
check command always exits with 0, as missing tools are informational rather than errors.
Related Commands
specify init— Initialize a project (requires tools from check)specify version— Display version information
Technical Details
Tool Detection
The command usesshutil.which() to search for executables in PATH, which:
- Respects system PATH environment variable
- Handles platform-specific executable extensions (
.exeon Windows) - Finds the first matching executable
Special Cases
Claude CLI: Afterclaude migrate-installer, checks both:
- Standard PATH lookup via
shutil.which("claude") - Specific location at
~/.claude/local/claude